Xinqi Bao's Git
projects
/
dmenu.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
added ^D, removed ^M
[dmenu.git]
/
dmenu.c
diff --git
a/dmenu.c
b/dmenu.c
index
227648c
..
a1d0ed2
100644
(file)
--- a/
dmenu.c
+++ b/
dmenu.c
@@
-119,7
+119,7
@@
drawmenu(void) {
dc->x = dc->w;
}
dc->w = mw - dc->x;
dc->x = dc->w;
}
dc->w = mw - dc->x;
- /* print input
area
*/
+ /* print input
field
*/
if(matches && lines == 0 && textw(dc, text) <= inputw)
dc->w = inputw;
drawtext(dc, text, normcol);
if(matches && lines == 0 && textw(dc, text) <= inputw)
dc->w = inputw;
drawtext(dc, text, normcol);
@@
-136,7
+136,7
@@
drawmenu(void) {
else if(curr && (dc->w == inputw || curr->next)) {
dc->x += inputw;
dc->w = textw(dc, "<");
else if(curr && (dc->w == inputw || curr->next)) {
dc->x += inputw;
dc->w = textw(dc, "<");
- if(
prev
)
+ if(
curr->left
)
drawtext(dc, "<", normcol);
for(item = curr; item != next; item = item->right) {
dc->x += dc->w;
drawtext(dc, "<", normcol);
for(item = curr; item != next; item = item->right) {
dc->x += dc->w;
@@
-194,6
+194,9
@@
keypress(XKeyEvent *e) {
case XK_c:
ksym = XK_Escape;
break;
case XK_c:
ksym = XK_Escape;
break;
+ case XK_d:
+ ksym = XK_Delete;
+ break;
case XK_e:
ksym = XK_End;
break;
case XK_e:
ksym = XK_End;
break;
@@
-207,7
+210,6
@@
keypress(XKeyEvent *e) {
ksym = XK_Tab;
break;
case XK_j:
ksym = XK_Tab;
break;
case XK_j:
- case XK_m:
ksym = XK_Return;
break;
case XK_k: /* delete right */
ksym = XK_Return;
break;
case XK_k: /* delete right */
@@
-339,7
+341,7
@@
keypress(XKeyEvent *e) {
void
match(void) {
void
match(void) {
-
unsigned in
t len;
+
size_
t len;
Item *item, *itemend, *lexact, *lprefix, *lsubstr, *exactend, *prefixend, *substrend;
len = strlen(text);
Item *item, *itemend, *lexact, *lprefix, *lsubstr, *exactend, *prefixend, *substrend;
len = strlen(text);
@@
-454,7
+456,7
@@
setup(void) {
selcol[ColBG] = getcolor(dc, selbgcolor);
selcol[ColFG] = getcolor(dc, selfgcolor);
selcol[ColBG] = getcolor(dc, selbgcolor);
selcol[ColFG] = getcolor(dc, selfgcolor);
- /*
input window
geometry */
+ /*
menu
geometry */
mh = (dc->font.height + 2) * (lines + 1);
#ifdef XINERAMA
if((info = XineramaQueryScreens(dc->dpy, &n))) {
mh = (dc->font.height + 2) * (lines + 1);
#ifdef XINERAMA
if((info = XineramaQueryScreens(dc->dpy, &n))) {
@@
-478,7
+480,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);
}
- /*
input
window */
+ /*
menu
window */
wa.override_redirect = True;
wa.background_pixmap = ParentRelative;
wa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask;
wa.override_redirect = True;
wa.background_pixmap = ParentRelative;
wa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask;
@@
-488,7
+490,7
@@
setup(void) {
CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
grabkeyboard();
CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
grabkeyboard();
- setcanvas(dc,
win,
mw, mh);
+ setcanvas(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);
@@
-530,7
+532,7
@@
main(int argc, char *argv[]) {
else if(!strcmp(argv[i], "-p"))
prompt = argv[++i];
else if(!strcmp(argv[i], "-fn"))
else if(!strcmp(argv[i], "-p"))
prompt = argv[++i];
else if(!strcmp(argv[i], "-fn"))
- initfont(dc, argv[
i++
]);
+ initfont(dc, argv[
++i
]);
else if(!strcmp(argv[i], "-nb"))
normbgcolor = argv[++i];
else if(!strcmp(argv[i], "-nf"))
else if(!strcmp(argv[i], "-nb"))
normbgcolor = argv[++i];
else if(!strcmp(argv[i], "-nf"))