applied Stefan Tibus' sun patch, added -bottom option to dmenu which makes it appear in the bottom (for wmii compliance), slightly modified version than the patch proposed by Stefan Tibus
This commit is contained in:
parent
201b056e39
commit
3438af001a
3 changed files with 22 additions and 3 deletions
|
@ -20,6 +20,11 @@ LDFLAGS = ${LIBS}
|
|||
#CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\"
|
||||
#LDFLAGS = -g ${LIBS}
|
||||
|
||||
# Solaris
|
||||
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
|
||||
#LDFLAGS = ${LIBS}
|
||||
#CFLAGS += -xtarget=ultra
|
||||
|
||||
# compiler and linker
|
||||
CC = cc
|
||||
LD = ${CC}
|
||||
|
|
4
dmenu.1
4
dmenu.1
|
@ -3,6 +3,7 @@
|
|||
dmenu \- dynamic menu
|
||||
.SH SYNOPSIS
|
||||
.B dmenu
|
||||
.RB [ \-bottom ]
|
||||
.RB [ \-font " <name>"]
|
||||
.RB [ \-normbg " <color>"]
|
||||
.RB [ \-normfg " <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 \-bottom
|
||||
makes dmenu appear at the screen bottom (by default it appears at the screen top).
|
||||
.TP
|
||||
.B \-font <name>
|
||||
defines the font.
|
||||
.TP
|
||||
|
|
16
main.c
16
main.c
|
@ -330,6 +330,7 @@ DC dc = {0};
|
|||
|
||||
int
|
||||
main(int argc, char *argv[]) {
|
||||
Bool bottom = False;
|
||||
char *font = FONT;
|
||||
char *maxname;
|
||||
char *normbg = NORMBGCOLOR;
|
||||
|
@ -347,7 +348,10 @@ main(int argc, char *argv[]) {
|
|||
timeout.tv_sec = 3;
|
||||
/* command line args */
|
||||
for(i = 1; i < argc; i++)
|
||||
if(!strncmp(argv[i], "-font", 6)) {
|
||||
if(!strncmp(argv[i], "-bottom", 8)) {
|
||||
bottom = True;
|
||||
}
|
||||
else if(!strncmp(argv[i], "-font", 6)) {
|
||||
if(++i < argc) font = argv[i];
|
||||
}
|
||||
else if(!strncmp(argv[i], "-normbg", 8)) {
|
||||
|
@ -373,7 +377,8 @@ main(int argc, char *argv[]) {
|
|||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
else
|
||||
eprint("usage: dmenu [-font <name>] [-{norm,sel}{bg,fg} <color>] [-p <prompt>] [-t <seconds>] [-v]\n", stdout);
|
||||
eprint("usage: dmenu [-bottom] [-font <name>] [-{norm,sel}{bg,fg} <color>]\n"
|
||||
" [-p <prompt>] [-t <seconds>] [-v]\n", stdout);
|
||||
setlocale(LC_CTYPE, "");
|
||||
dpy = XOpenDisplay(0);
|
||||
if(!dpy)
|
||||
|
@ -406,7 +411,12 @@ main(int argc, char *argv[]) {
|
|||
wa.event_mask = ExposureMask | ButtonPressMask | KeyPressMask;
|
||||
mx = my = 0;
|
||||
mw = DisplayWidth(dpy, screen);
|
||||
mh = dc.font.height + 2;
|
||||
if(bottom) {
|
||||
mh = dc.font.ascent + dc.font.descent + 3; // match wmii
|
||||
my = DisplayHeight(dpy, screen) - mh;
|
||||
}
|
||||
else
|
||||
mh = dc.font.height + 2;
|
||||
win = XCreateWindow(dpy, root, mx, my, mw, mh, 0,
|
||||
DefaultDepth(dpy, screen), CopyFromParent,
|
||||
DefaultVisual(dpy, screen),
|
||||
|
|
Loading…
Reference in a new issue