diff options
-rw-r--r-- | dmenu.1 | 7 | ||||
-rw-r--r-- | main.c | 62 |
2 files changed, 12 insertions, 57 deletions
@@ -4,8 +4,6 @@ dmenu \- dynamic menu .SH SYNOPSIS .B dmenu .RB [ \-v ] -.RB [ \-t -.IR title ] .SH DESCRIPTION .SS Overview .B dmenu @@ -17,11 +15,6 @@ It supports arbitrary, user defined menu contents. .TP .B \-v prints version information to stdout, then exits. -.TP -.BI \-t " title" -displays -.I title -above the menu. .SS Usage .B dmenu reads a list of newline-separated items from stdin and creates a menu. @@ -24,13 +24,11 @@ struct Item { /* static */ -static char *title, text[4096]; +static char text[4096]; static int mx, my, mw, mh; static int ret = 0; static int nitem = 0; static unsigned int cmdw = 0; -static unsigned int tw = 0; -static unsigned int cw = 0; static Bool done = False; static Item *allitems = NULL; /* first of all items */ static Item *item = NULL; /* first of pattern matching items */ @@ -82,18 +80,10 @@ drawmenu() drawtext(NULL, False, False); /* print command */ - if(!title || text[0]) { - cmdw = cw; - if(cmdw && item) - dc.w = cmdw; - drawtext(text, False, False); - } - else { - cmdw = tw; + if(cmdw && item) dc.w = cmdw; - drawtext(title, False, False); - } - dc.x += dc.w; + drawtext(text[0] ? text : NULL, False, False); + dc.x += cmdw; if(curr) { dc.w = SPACE; @@ -127,11 +117,6 @@ input(char *pattern) if(!pattern) return; - if(!title || *pattern) - cmdw = cw; - else - cmdw = tw; - plen = strlen(pattern); item = j = NULL; nitem = 0; @@ -308,30 +293,15 @@ int main(int argc, char *argv[]) { char *maxname; - int i; XEvent ev; XSetWindowAttributes wa; - /* command line args */ - for(i = 1; i < argc; i++) { - if (argv[i][0] == '-') - switch (argv[i][1]) { - case 'v': - fputs("dmenu-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout); - exit(EXIT_SUCCESS); - break; - case 't': - if(++i < argc) { - title = argv[i]; - break; - } - default: - eprint("usage: dmenu [-v] [-t <title>]\n"); - break; - } - else - eprint("usage: dmenu [-v] [-t <title>]\n"); + if(argc == 2 && !strncmp("-v", argv[1], 3)) { + fputs("dmenu-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout); + exit(EXIT_SUCCESS); } + else if(argc != 1) + eprint("usage: dmenu [-v]\n"); dpy = XOpenDisplay(0); if(!dpy) @@ -371,17 +341,9 @@ main(int argc, char *argv[]) dc.gc = XCreateGC(dpy, root, 0, 0); if(maxname) - cw = textw(maxname); - if(cw > mw / 3) - cw = mw / 3; - - if(title) { - tw = textw(title); - if(tw > mw / 3) - tw = mw / 3; - } - - cmdw = title ? tw : cw; + cmdw = textw(maxname); + if(cmdw > mw / 3) + cmdw = mw / 3; text[0] = 0; input(text); |