diff options
author | Anselm R. Garbe <arg@suckless.org> | 2007-02-08 11:17:11 +0100 |
---|---|---|
committer | Anselm R. Garbe <arg@suckless.org> | 2007-02-08 11:17:11 +0100 |
commit | 3ba8b71abafdd52adaf8c2d4bfa56dc9023c865e (patch) | |
tree | 948b3c09ea4f45feda07ee521b6aa33cebb93a58 | |
parent | 2bac5599b3e7629875d692b65a336915ecfee49d (diff) |
nah nah nah, I can't get used to the bottom bar, pushing the conditional dmenu again
-rw-r--r-- | dmenu.1 | 4 | ||||
-rw-r--r-- | main.c | 10 |
2 files changed, 11 insertions, 3 deletions
@@ -3,6 +3,7 @@ | |||
3 | dmenu \- dynamic menu | 3 | dmenu \- dynamic menu |
4 | .SH SYNOPSIS | 4 | .SH SYNOPSIS |
5 | .B dmenu | 5 | .B dmenu |
6 | .RB [ \-b ] | ||
6 | .RB [ \-fn " <font>"] | 7 | .RB [ \-fn " <font>"] |
7 | .RB [ \-nb " <color>"] | 8 | .RB [ \-nb " <color>"] |
8 | .RB [ \-nf " <color>"] | 9 | .RB [ \-nf " <color>"] |
@@ -19,6 +20,9 @@ It manages huge amounts (up to 10.000 and more) of user defined menu items | |||
19 | efficiently. | 20 | efficiently. |
20 | .SS Options | 21 | .SS Options |
21 | .TP | 22 | .TP |
23 | .B \-b | ||
24 | makes dmenu appear at the screen bottom (by default it appears at the screen top). | ||
25 | .TP | ||
22 | .B \-fn <font> | 26 | .B \-fn <font> |
23 | defines the font. | 27 | defines the font. |
24 | .TP | 28 | .TP |
@@ -342,6 +342,7 @@ DC dc = {0}; | |||
342 | 342 | ||
343 | int | 343 | int |
344 | main(int argc, char *argv[]) { | 344 | main(int argc, char *argv[]) { |
345 | Bool bottom = False; | ||
345 | char *font = FONT; | 346 | char *font = FONT; |
346 | char *maxname; | 347 | char *maxname; |
347 | char *normbg = NORMBGCOLOR; | 348 | char *normbg = NORMBGCOLOR; |
@@ -360,7 +361,10 @@ main(int argc, char *argv[]) { | |||
360 | timeout.tv_sec = 3; | 361 | timeout.tv_sec = 3; |
361 | /* command line args */ | 362 | /* command line args */ |
362 | for(i = 1; i < argc; i++) | 363 | for(i = 1; i < argc; i++) |
363 | if(!strncmp(argv[i], "-fn", 4)) { | 364 | if(!strncmp(argv[i], "-b", 3)) { |
365 | bottom = True; | ||
366 | } | ||
367 | else if(!strncmp(argv[i], "-fn", 4)) { | ||
364 | if(++i < argc) font = argv[i]; | 368 | if(++i < argc) font = argv[i]; |
365 | } | 369 | } |
366 | else if(!strncmp(argv[i], "-nb", 4)) { | 370 | else if(!strncmp(argv[i], "-nb", 4)) { |
@@ -386,7 +390,7 @@ main(int argc, char *argv[]) { | |||
386 | exit(EXIT_SUCCESS); | 390 | exit(EXIT_SUCCESS); |
387 | } | 391 | } |
388 | else | 392 | else |
389 | eprint("usage: dmenu [-fn <font>] [-nb <color>] [-nf <color>] [-p <prompt>]\n" | 393 | eprint("usage: dmenu [-b] [-fn <font>] [-nb <color>] [-nf <color>] [-p <prompt>]\n" |
390 | " [-sb <color>] [-sf <color>] [-t <seconds>] [-v]\n", stdout); | 394 | " [-sb <color>] [-sf <color>] [-t <seconds>] [-v]\n", stdout); |
391 | setlocale(LC_CTYPE, ""); | 395 | setlocale(LC_CTYPE, ""); |
392 | dpy = XOpenDisplay(0); | 396 | dpy = XOpenDisplay(0); |
@@ -430,7 +434,7 @@ main(int argc, char *argv[]) { | |||
430 | mw = DisplayWidth(dpy, screen); | 434 | mw = DisplayWidth(dpy, screen); |
431 | mh = dc.font.height + 2; | 435 | mh = dc.font.height + 2; |
432 | win = XCreateWindow(dpy, root, 0, | 436 | win = XCreateWindow(dpy, root, 0, |
433 | DisplayHeight(dpy, screen) - mh, mw, mh, 0, | 437 | bottom ? DisplayHeight(dpy, screen) - mh : 0, mw, mh, 0, |
434 | DefaultDepth(dpy, screen), CopyFromParent, | 438 | DefaultDepth(dpy, screen), CopyFromParent, |
435 | DefaultVisual(dpy, screen), | 439 | DefaultVisual(dpy, screen), |
436 | CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa); | 440 | CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa); |