Xinqi Bao's Git
projects
/
dmenu.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
ignore prompt if it is empty in addition to NULL
[dmenu.git]
/
dmenu.c
diff --git
a/dmenu.c
b/dmenu.c
index
4ea95f8
..
3962801
100644
(file)
--- a/
dmenu.c
+++ b/
dmenu.c
@@
-169,7
+169,7
@@
drawmenu(void) {
dc->h = bh;
drawrect(dc, 0, 0, mw, mh, True, BG(dc, normcol));
dc->h = bh;
drawrect(dc, 0, 0, mw, mh, True, BG(dc, normcol));
- if(prompt) {
+ if(prompt
&& *prompt
) {
dc->w = promptw;
drawtext(dc, prompt, selcol);
dc->x = dc->w;
dc->w = promptw;
drawtext(dc, prompt, selcol);
dc->x = dc->w;
@@
-251,10
+251,13
@@
keypress(XKeyEvent *ev) {
case XK_d: ksym = XK_Delete; break;
case XK_e: ksym = XK_End; break;
case XK_f: ksym = XK_Right; break;
case XK_d: ksym = XK_Delete; break;
case XK_e: ksym = XK_End; break;
case XK_f: ksym = XK_Right; break;
+ case XK_g: ksym = XK_Escape; break;
case XK_h: ksym = XK_BackSpace; break;
case XK_i: ksym = XK_Tab; break;
case XK_h: ksym = XK_BackSpace; break;
case XK_i: ksym = XK_Tab; break;
- case XK_j: ksym = XK_Return; break;
- case XK_m: ksym = XK_Return; break;
+ case XK_j: /* fallthrough */
+ case XK_J: ksym = XK_Return; break;
+ case XK_m: /* fallthrough */
+ case XK_M: ksym = XK_Return; break;
case XK_n: ksym = XK_Down; break;
case XK_p: ksym = XK_Up; break;
case XK_n: ksym = XK_Down; break;
case XK_p: ksym = XK_Up; break;
@@
-576,7
+579,7
@@
setup(void) {
y = topbar ? 0 : DisplayHeight(dc->dpy, screen) - mh;
mw = DisplayWidth(dc->dpy, screen);
}
y = topbar ? 0 : DisplayHeight(dc->dpy, screen) - mh;
mw = DisplayWidth(dc->dpy, screen);
}
- promptw =
prompt
? textw(dc, prompt) : 0;
+ promptw =
(prompt && *prompt)
? textw(dc, prompt) : 0;
inputw = MIN(inputw, mw/3);
match();
inputw = MIN(inputw, mw/3);
match();