projects
/
xmenu
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed missing lines
[xmenu]
/
xmenu.c
diff --git
a/xmenu.c
b/xmenu.c
index
acdabc2
..
465d405
100644
(file)
--- a/
xmenu.c
+++ b/
xmenu.c
@@
-141,7
+141,7
@@
getoptions(int argc, char *argv[])
{
int ch;
{
int ch;
- while ((ch = getopt(argc, argv, "ip:r
t
w")) != -1) {
+ while ((ch = getopt(argc, argv, "ip:rw")) != -1) {
switch (ch) {
case 'i':
iflag = 1;
switch (ch) {
case 'i':
iflag = 1;
@@
-153,9
+153,6
@@
getoptions(int argc, char *argv[])
case 'r':
rflag = 1;
break;
case 'r':
rflag = 1;
break;
- case 't':
- config.typetoselect = !config.typetoselect;
- break;
case 'w':
wflag = 1;
break;
case 'w':
wflag = 1;
break;
@@
-1323,31
+1320,33
@@
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) {
item = matchitem(currmenu, text, -1);
break;
case XK_ISO_Left_Tab:
if (*text) {
item = matchitem(currmenu, text, -1);
+ action = ACTION_SELECT | ACTION_DRAW;
break;
}
/* FALLTHROUGH */
case XK_Up:
item = itemcycle(currmenu, ITEMPREV);
break;
}
/* FALLTHROUGH */
case XK_Up:
item = itemcycle(currmenu, ITEMPREV);
- action = ACTION_CLEAR;
+ action = ACTION_CLEAR
| ACTION_SELECT | ACTION_DRAW
;
break;
case XK_Tab:
if (*text) {
item = matchitem(currmenu, text, 1);
break;
case XK_Tab:
if (*text) {
item = matchitem(currmenu, text, 1);
+ action = ACTION_SELECT | ACTION_DRAW;
break;
}
/* FALLTHROUGH */
case XK_Down:
item = itemcycle(currmenu, ITEMNEXT);
break;
}
/* 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);
@@
-1356,13
+1355,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) {
@@
-1370,13
+1370,14
@@
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 (
!config.typetoselect
)
+ if (
*buf == '\0' || iscntrl(*buf)
)
break;
for (i = 0; i < 2; i++) {
append(text, buf, sizeof text, len);
break;
for (i = 0; i < 2; i++) {
append(text, buf, sizeof text, len);
@@
-1384,10
+1385,10
@@
append:
break;
text[0] = '\0';
}
break;
text[0] = '\0';
}
+ action = ACTION_SELECT | ACTION_DRAW;
break;
}
select = item;
break;
}
select = item;
- action |= ACTION_SELECT | ACTION_DRAW;
break;
case LeaveNotify:
previtem = NULL;
break;
case LeaveNotify:
previtem = NULL;
@@
-1490,7
+1491,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);