projects
/
xmenu
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
prepare for 4.5.1
[xmenu]
/
xmenu.c
diff --git
a/xmenu.c
b/xmenu.c
index
ff4cf53
..
05d238a
100644
(file)
--- a/
xmenu.c
+++ b/
xmenu.c
@@
-1320,11
+1320,11
@@
enteritem:
switch (ksym) {
case XK_Home:
item = itemcycle(currmenu, ITEMFIRST);
switch (ksym) {
case XK_Home:
item = itemcycle(currmenu, ITEMFIRST);
- action = ACTION_CLEAR;
+ action = ACTION_CLEAR
| ACTION_SELECT | ACTION_DRAW
;
break;
case XK_End:
item = itemcycle(currmenu, ITEMLAST);
break;
case XK_End:
item = itemcycle(currmenu, ITEMLAST);
- action = ACTION_CLEAR;
+ action = ACTION_CLEAR
| ACTION_SELECT | ACTION_DRAW
;
break;
case XK_ISO_Left_Tab:
if (*text) {
break;
case XK_ISO_Left_Tab:
if (*text) {
@@
-1334,7
+1334,7
@@
enteritem:
/* FALLTHROUGH */
case XK_Up:
item = itemcycle(currmenu, ITEMPREV);
/* FALLTHROUGH */
case XK_Up:
item = itemcycle(currmenu, ITEMPREV);
- action = ACTION_CLEAR;
+ action = ACTION_CLEAR
| ACTION_SELECT | ACTION_DRAW
;
break;
case XK_Tab:
if (*text) {
break;
case XK_Tab:
if (*text) {
@@
-1344,7
+1344,7
@@
enteritem:
/* FALLTHROUGH */
case XK_Down:
item = itemcycle(currmenu, ITEMNEXT);
/* FALLTHROUGH */
case XK_Down:
item = itemcycle(currmenu, ITEMNEXT);
- action = ACTION_CLEAR;
+ action = ACTION_CLEAR
| ACTION_SELECT | ACTION_DRAW
;
break;
case XK_1: case XK_2: case XK_3: case XK_4: case XK_5: case XK_6: case XK_7: case XK_8: case XK_9:
item = itemcycle(currmenu, ITEMFIRST);
break;
case XK_1: case XK_2: case XK_3: case XK_4: case XK_5: case XK_6: case XK_7: case XK_8: case XK_9:
item = itemcycle(currmenu, ITEMFIRST);
@@
-1353,13
+1353,14
@@
enteritem:
currmenu->selected = item;
item = itemcycle(currmenu, ITEMNEXT);
}
currmenu->selected = item;
item = itemcycle(currmenu, ITEMNEXT);
}
- action = ACTION_CLEAR;
+ action = ACTION_CLEAR
| ACTION_SELECT | ACTION_DRAW
;
break;
case XK_Return: case XK_Right:
if (currmenu->selected) {
item = currmenu->selected;
goto enteritem;
}
break;
case XK_Return: case XK_Right:
if (currmenu->selected) {
item = currmenu->selected;
goto enteritem;
}
+ action = ACTION_SELECT | ACTION_DRAW;
break;
case XK_Escape: case XK_Left:
if (currmenu->parent) {
break;
case XK_Escape: case XK_Left:
if (currmenu->parent) {
@@
-1367,12
+1368,15
@@
enteritem:
currmenu = currmenu->parent;
action = ACTION_CLEAR | ACTION_MAP;
}
currmenu = currmenu->parent;
action = ACTION_CLEAR | ACTION_MAP;
}
+ action = ACTION_SELECT | ACTION_DRAW;
break;
case XK_BackSpace: case XK_Clear: case XK_Delete:
break;
case XK_BackSpace: case XK_Clear: case XK_Delete:
- action = ACTION_CLEAR;
+ action = ACTION_CLEAR
| ACTION_SELECT | ACTION_DRAW
;
break;
default:
append:
break;
default:
append:
+ if (*buf == '\0' || iscntrl(*buf))
+ break;
for (i = 0; i < 2; i++) {
append(text, buf, sizeof text, len);
if ((item = matchitem(currmenu, text, 0)))
for (i = 0; i < 2; i++) {
append(text, buf, sizeof text, len);
if ((item = matchitem(currmenu, text, 0)))
@@
-1382,7
+1386,6
@@
append:
break;
}
select = item;
break;
}
select = item;
- action |= ACTION_SELECT | ACTION_DRAW;
break;
case LeaveNotify:
previtem = NULL;
break;
case LeaveNotify:
previtem = NULL;
@@
-1485,7
+1488,7
@@
main(int argc, char *argv[])
if ((xim = XOpenIM(dpy, NULL, NULL, NULL)) == NULL)
errx(1, "XOpenIM: could not open input device");
if ((xim = XOpenIM(dpy, NULL, NULL, NULL)) == NULL)
errx(1, "XOpenIM: could not open input device");
- /*
get configuration
*/
+ /*
process configuration and window class
*/
getresources();
classh.res_class = PROGNAME;
classh.res_name = getoptions(argc, argv);
getresources();
classh.res_class = PROGNAME;
classh.res_name = getoptions(argc, argv);