X-Git-Url: https://git.subgeniuskitty.com/xmenu/.git/blobdiff_plain/28f784a7a47952d302632a41c2e43ff03318f930..cbf67e5a457cf8e954b85b4556d98fbc4d3dd036:/xmenu.c diff --git a/xmenu.c b/xmenu.c index acdabc2..05d238a 100644 --- a/xmenu.c +++ b/xmenu.c @@ -141,7 +141,7 @@ getoptions(int argc, char *argv[]) { int ch; - while ((ch = getopt(argc, argv, "ip:rtw")) != -1) { + while ((ch = getopt(argc, argv, "ip:rw")) != -1) { switch (ch) { case 'i': iflag = 1; @@ -153,9 +153,6 @@ getoptions(int argc, char *argv[]) case 'r': rflag = 1; break; - case 't': - config.typetoselect = !config.typetoselect; - break; case 'w': wflag = 1; break; @@ -1323,11 +1320,11 @@ enteritem: 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); - action = ACTION_CLEAR; + action = ACTION_CLEAR | ACTION_SELECT | ACTION_DRAW; break; case XK_ISO_Left_Tab: if (*text) { @@ -1337,7 +1334,7 @@ enteritem: /* FALLTHROUGH */ case XK_Up: item = itemcycle(currmenu, ITEMPREV); - action = ACTION_CLEAR; + action = ACTION_CLEAR | ACTION_SELECT | ACTION_DRAW; break; case XK_Tab: if (*text) { @@ -1347,7 +1344,7 @@ enteritem: /* 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); @@ -1356,13 +1353,14 @@ enteritem: 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; } + action = ACTION_SELECT | ACTION_DRAW; break; case XK_Escape: case XK_Left: if (currmenu->parent) { @@ -1370,13 +1368,14 @@ enteritem: currmenu = currmenu->parent; action = ACTION_CLEAR | ACTION_MAP; } + action = ACTION_SELECT | ACTION_DRAW; break; case XK_BackSpace: case XK_Clear: case XK_Delete: - action = ACTION_CLEAR; + action = ACTION_CLEAR | ACTION_SELECT | ACTION_DRAW; break; default: append: - if (!config.typetoselect) + if (*buf == '\0' || iscntrl(*buf)) break; for (i = 0; i < 2; i++) { append(text, buf, sizeof text, len); @@ -1387,7 +1386,6 @@ append: break; } select = item; - action |= ACTION_SELECT | ACTION_DRAW; break; case LeaveNotify: previtem = NULL; @@ -1490,7 +1488,7 @@ main(int argc, char *argv[]) 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);