X-Git-Url: https://git.xinqibao.xyz/dmenu.git/blobdiff_plain/fcf26a38f1ad291cd794daa52e44af252b728b6a..2cef0ddb014622fe96ad38614b540325911a8696:/dmenu.c diff --git a/dmenu.c b/dmenu.c index a37471a..fa7bbe8 100644 --- a/dmenu.c +++ b/dmenu.c @@ -52,7 +52,6 @@ static char *cistrstr(const char *s, const char *sub); static void cleanup(void); static void drawmenu(void); static void drawtext(const char *text, ulong col[ColLast]); -static void *emalloc(uint size); static void eprint(const char *errstr, ...); static ulong getcolor(const char *colstr); static Bool grabkeyboard(void); @@ -68,13 +67,8 @@ static int textw(const char *text); #include "config.h" /* variables */ -static char *font = FONT; static char *maxname = NULL; -static char *normbg = NORMBGCOLOR; -static char *normfg = NORMFGCOLOR; static char *prompt = NULL; -static char *selbg = SELBGCOLOR; -static char *selfg = SELFGCOLOR; static char text[4096]; static int cmdw = 0; static int promptw = 0; @@ -257,15 +251,6 @@ drawtext(const char *text, ulong col[ColLast]) { XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); } -void * -emalloc(uint size) { - void *res = malloc(size); - - if(!res) - eprint("fatal: could not malloc() %u bytes\n", size); - return res; -} - void eprint(const char *errstr, ...) { va_list ap; @@ -482,11 +467,11 @@ kpress(XKeyEvent * e) { calcoffsets(); break; case XK_Return: - if((e->state & ShiftMask) && text) + if((e->state & ShiftMask) && *text) fprintf(stdout, "%s", text); else if(sel) fprintf(stdout, "%s", sel->text); - else if(text) + else if(*text) fprintf(stdout, "%s", text); fflush(stdout); running = False; @@ -568,7 +553,8 @@ readstdin(void) { maxname = p; max = len; } - new = emalloc(sizeof(Item)); + if((new = (Item *)malloc(sizeof(Item))) == NULL) + eprint("fatal: could not malloc() %u bytes\n", sizeof(Item)); new->next = new->left = new->right = NULL; new->text = p; if(!i) @@ -618,10 +604,10 @@ setup(Bool topbar) { XFreeModifiermap(modmap); /* style */ - dc.norm[ColBG] = getcolor(normbg); - dc.norm[ColFG] = getcolor(normfg); - dc.sel[ColBG] = getcolor(selbg); - dc.sel[ColFG] = getcolor(selfg); + dc.norm[ColBG] = getcolor(normbgcolor); + dc.norm[ColFG] = getcolor(normfgcolor); + dc.sel[ColBG] = getcolor(selbgcolor); + dc.sel[ColFG] = getcolor(selfgcolor); initfont(font); /* menu window */ @@ -704,19 +690,19 @@ main(int argc, char *argv[]) { if(++i < argc) font = argv[i]; } else if(!strcmp(argv[i], "-nb")) { - if(++i < argc) normbg = argv[i]; + if(++i < argc) normbgcolor = argv[i]; } else if(!strcmp(argv[i], "-nf")) { - if(++i < argc) normfg = argv[i]; + if(++i < argc) normfgcolor = argv[i]; } else if(!strcmp(argv[i], "-p")) { if(++i < argc) prompt = argv[i]; } else if(!strcmp(argv[i], "-sb")) { - if(++i < argc) selbg = argv[i]; + if(++i < argc) selbgcolor = argv[i]; } else if(!strcmp(argv[i], "-sf")) { - if(++i < argc) selfg = argv[i]; + if(++i < argc) selfgcolor = argv[i]; } else if(!strcmp(argv[i], "-v")) eprint("dmenu-"VERSION", © 2006-2008 dmenu engineers, see LICENSE for details\n");