diff options
-rw-r--r-- | dmenu.1 | 4 | ||||
-rw-r--r-- | main.c | 10 |
2 files changed, 11 insertions, 3 deletions
@@ -3,6 +3,7 @@ dmenu \- dynamic menu .SH SYNOPSIS .B dmenu +.RB [ \-b ] .RB [ \-fn " <font>"] .RB [ \-nb " <color>"] .RB [ \-nf " <color>"] @@ -19,6 +20,9 @@ It manages huge amounts (up to 10.000 and more) of user defined menu items efficiently. .SS Options .TP +.B \-b +makes dmenu appear at the screen bottom (by default it appears at the screen top). +.TP .B \-fn <font> defines the font. .TP @@ -342,6 +342,7 @@ DC dc = {0}; int main(int argc, char *argv[]) { + Bool bottom = False; char *font = FONT; char *maxname; char *normbg = NORMBGCOLOR; @@ -360,7 +361,10 @@ main(int argc, char *argv[]) { timeout.tv_sec = 3; /* command line args */ for(i = 1; i < argc; i++) - if(!strncmp(argv[i], "-fn", 4)) { + if(!strncmp(argv[i], "-b", 3)) { + bottom = True; + } + else if(!strncmp(argv[i], "-fn", 4)) { if(++i < argc) font = argv[i]; } else if(!strncmp(argv[i], "-nb", 4)) { @@ -386,7 +390,7 @@ main(int argc, char *argv[]) { exit(EXIT_SUCCESS); } else - eprint("usage: dmenu [-fn <font>] [-nb <color>] [-nf <color>] [-p <prompt>]\n" + eprint("usage: dmenu [-b] [-fn <font>] [-nb <color>] [-nf <color>] [-p <prompt>]\n" " [-sb <color>] [-sf <color>] [-t <seconds>] [-v]\n", stdout); setlocale(LC_CTYPE, ""); dpy = XOpenDisplay(0); @@ -430,7 +434,7 @@ main(int argc, char *argv[]) { mw = DisplayWidth(dpy, screen); mh = dc.font.height + 2; win = XCreateWindow(dpy, root, 0, - DisplayHeight(dpy, screen) - mh, mw, mh, 0, + bottom ? DisplayHeight(dpy, screen) - mh : 0, mw, mh, 0, DefaultDepth(dpy, screen), CopyFromParent, DefaultVisual(dpy, screen), CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa); |