[hackers] [dmenu][PATCH] XUngrabKeyboard() instead of XUngrabKey()

From: Adam Purkrt <adam_AT_purkrt.cz>
Date: Sat, 15 Mar 2025 19:53:56 +0100

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.
---
 dmenu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dmenu.c b/dmenu.c
index 804da64..fd49549 100644
--- a/dmenu.c
+++ b/dmenu.c
_AT_@ -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)
-- 
2.48.1
Received on Sat Mar 15 2025 - 19:53:56 CET

This archive was generated by hypermail 2.3.0 : Sat Mar 15 2025 - 20:00:39 CET