timplemented ungrabkeys() which is called in cleanup() - dwm - [fork] customized build of dwm, the dynamic window manager
(HTM) git clone git://src.adamsgaard.dk/dwm
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 375a251d16de567b6c62cce208f388cd16e0ce0f
(DIR) parent d4b7a9a3735deeab639f28b5bb2f568e0dc49616
(HTM) Author: Anselm R.Garbe <arg@10ksloc.org>
Date: Mon, 14 Aug 2006 10:24:38 +0200
implemented ungrabkeys() which is called in cleanup()
Diffstat:
M dwm.h | 1 +
M event.c | 16 ++++++++++++++++
M main.c | 1 +
3 files changed, 18 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/dwm.h b/dwm.h
t@@ -108,6 +108,7 @@ extern unsigned int textw(const char *text);
/* event.c */
extern void grabkeys();
+extern void ungrabkeys();
/* main.c */
extern int getproto(Window w);
(DIR) diff --git a/event.c b/event.c
t@@ -370,3 +370,19 @@ grabkeys()
GrabModeAsync, GrabModeAsync);
}
}
+
+void
+ungrabkeys()
+{
+ static unsigned int len = sizeof(key) / sizeof(key[0]);
+ unsigned int i;
+ KeyCode code;
+
+ for(i = 0; i < len; i++) {
+ code = XKeysymToKeycode(dpy, key[i].keysym);
+ XUngrabKey(dpy, code, key[i].mod, root);
+ XUngrabKey(dpy, code, key[i].mod | LockMask, root);
+ XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK, root);
+ XUngrabKey(dpy, code, key[i].mod | NUMLOCKMASK | LockMask, root);
+ }
+}
(DIR) diff --git a/main.c b/main.c
t@@ -22,6 +22,7 @@ static Bool otherwm;
static void
cleanup()
{
+ ungrabkeys();
while(sel) {
resize(sel, True, TopLeft);
unmanage(sel);