From 0129fde4475b5016572a589566fb3b7a73e0b229 Mon Sep 17 00:00:00 2001 From: phillbush Date: Sat, 9 Jan 2021 19:11:38 -0300 Subject: [PATCH] fix shift key --- xmenu.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/xmenu.c b/xmenu.c index f2eaab4..05d238a 100644 --- a/xmenu.c +++ b/xmenu.c @@ -1320,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) { @@ -1334,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) { @@ -1344,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); @@ -1353,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) { @@ -1367,12 +1368,15 @@ 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 (*buf == '\0' || iscntrl(*buf)) + break; 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; - action |= ACTION_SELECT | ACTION_DRAW; break; case LeaveNotify: previtem = NULL;