X-Git-Url: https://git.xinqibao.xyz/dmenu.git/blobdiff_plain/b4e63454e5768d38682405d252a81b1149273c0b..595e7976601fc77acf12015d3f5f6843e2cdd706:/dmenu.c diff --git a/dmenu.c b/dmenu.c index 5434eab..0d89474 100644 --- a/dmenu.c +++ b/dmenu.c @@ -46,6 +46,7 @@ static void run(void); static void setup(Bool topbar); #include "config.h" +#include "draw.h" /* variables */ static char *maxname = NULL; @@ -54,25 +55,20 @@ static char text[4096]; static int cmdw = 0; static int promptw = 0; static int ret = 0; -static int screen; -static unsigned int mw, mh; static unsigned int numlockmask = 0; static Bool running = True; -static Display *dpy; static Item *allitems = NULL; /* first of all items */ static Item *item = NULL; /* first of pattern matching items */ static Item *sel = NULL; static Item *next = NULL; static Item *prev = NULL; static Item *curr = NULL; -static Window parent, win; +static Window win; static int (*fstrncmp)(const char *, const char *, size_t) = strncmp; static char *(*fstrstr)(const char *, const char *) = strstr; static unsigned int lines = 0; static void (*calcoffsets)(void) = calcoffsetsh; -#include "draw.c" - void appenditem(Item *i, Item **list, Item **last) { if(!(*last)) @@ -136,7 +132,7 @@ cistrstr(const char *s, const char *sub) { void cleanup(void) { - dccleanup(); + drawcleanup(); XDestroyWindow(dpy, win); XUngrabKeyboard(dpy, CurrentTime); } @@ -202,16 +198,6 @@ drawmenuv(void) { drawtext(NULL, dc.norm); } -void -eprint(const char *errstr, ...) { - va_list ap; - - va_start(ap, errstr); - vfprintf(stderr, errstr, ap); - va_end(ap); - exit(EXIT_FAILURE); -} - Bool grabkeyboard(void) { unsigned int len; @@ -489,11 +475,6 @@ setup(Bool topbar) { } XFreeModifiermap(modmap); - /* style */ - dc.norm[ColBG] = getcolor(normbgcolor); - dc.norm[ColFG] = getcolor(normfgcolor); - dc.sel[ColBG] = getcolor(selbgcolor); - dc.sel[ColFG] = getcolor(selfgcolor); initfont(font); /* menu window */ @@ -534,8 +515,7 @@ setup(Bool topbar) { DefaultVisual(dpy, screen), CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa); - /* pixmap */ - dcsetup(); + drawsetup(); if(maxname) cmdw = MIN(textw(maxname), mw / 3); if(prompt)