summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Purkrt <adam@purkrt.cz>2025-03-15 19:53:56 +0100
committerHiltjo Posthuma <hiltjo@codemadness.org>2025-03-17 21:01:05 +0100
commitb1e217b29aab8936e9831961943676acd9cdcdd8 (patch)
treef1333499a3c824059db9f95af3a7697d5d92a809
parent86f0b5119eaa39943013d009967432ffd9d18365 (diff)
downloaddmenu-b1e217b29aab8936e9831961943676acd9cdcdd8.tar.gz
dmenu-b1e217b29aab8936e9831961943676acd9cdcdd8.zip
XUngrabKeyboard() instead of XUngrabKey()
XUngrabKey(), which is currently used in cleanup(), is not the right counterpart to XGrabKeyboard(), which is used in grabkeyboard(), called from main(). XUngrabKeyboard() is the function to use, as grabbing the whole keyboard is different to grabbing individual keys. With the current code the keyboard gets ungrabbed, as far as I can tell, only by the final XCloseDisplay() in cleanup(), as the XUngrabKey() there effectively does nothing.
-rw-r--r--dmenu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/dmenu.c b/dmenu.c
index 804da64..fd49549 100644
--- a/dmenu.c
+++ b/dmenu.c
@@ -100,7 +100,7 @@ cleanup(void)
{
size_t i;
- XUngrabKey(dpy, AnyKey, AnyModifier, root);
+ XUngrabKeyboard(dpy, CurrentTime);
for (i = 0; i < SchemeLast; i++)
free(scheme[i]);
for (i = 0; items && items[i].text; ++i)