Xinqi Bao's Git
projects
/
dmenu.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
new libdraw
[dmenu.git]
/
dmenu.c
diff --git
a/dmenu.c
b/dmenu.c
index
9b6a382
..
f6e6931
100644
(file)
--- a/
dmenu.c
+++ b/
dmenu.c
@@
-39,6
+39,10
@@
static void setup(void);
static void usage(void);
static char text[BUFSIZ];
static void usage(void);
static char text[BUFSIZ];
+static int bh, mw, mh;
+static int inputw = 0;
+static int lines = 0;
+static int promptw;
static size_t cursor = 0;
static const char *font = NULL;
static const char *prompt = NULL;
static size_t cursor = 0;
static const char *font = NULL;
static const char *prompt = NULL;
@@
-46,10
+50,6
@@
static const char *normbgcolor = "#cccccc";
static const char *normfgcolor = "#000000";
static const char *selbgcolor = "#0066ff";
static const char *selfgcolor = "#ffffff";
static const char *normfgcolor = "#000000";
static const char *selbgcolor = "#0066ff";
static const char *selfgcolor = "#ffffff";
-static unsigned int bh, mw, mh;
-static unsigned int inputw = 0;
-static unsigned int lines = 0;
-static unsigned int promptw;
static unsigned long normcol[ColLast];
static unsigned long selcol[ColLast];
static Atom utf8;
static unsigned long normcol[ColLast];
static unsigned long selcol[ColLast];
static Atom utf8;
@@
-132,7
+132,7
@@
drawmenu(void) {
if(next)
drawtext(dc, ">", normcol);
}
if(next)
drawtext(dc, ">", normcol);
}
-
commit
draw(dc, win, mw, mh);
+
map
draw(dc, win, mw, mh);
}
char *
}
char *
@@
-444,6
+444,7
@@
setup(void) {
/* menu geometry */
bh = dc->font.height + 2;
/* menu geometry */
bh = dc->font.height + 2;
+ lines = MAX(lines, 0);
mh = (lines + 1) * bh;
#ifdef XINERAMA
if((info = XineramaQueryScreens(dc->dpy, &n))) {
mh = (lines + 1) * bh;
#ifdef XINERAMA
if((info = XineramaQueryScreens(dc->dpy, &n))) {
@@
-477,7
+478,7
@@
setup(void) {
CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
grabkeyboard();
CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
grabkeyboard();
-
setcanvas
(dc, mw, mh);
+
resizedraw
(dc, mw, mh);
inputw = MIN(inputw, mw/3);
promptw = prompt ? MIN(textw(dc, prompt), mw/5) : 0;
XMapRaised(dc->dpy, win);
inputw = MIN(inputw, mw/3);
promptw = prompt ? MIN(textw(dc, prompt), mw/5) : 0;
XMapRaised(dc->dpy, win);