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 @@ | |||
| 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); |
