# HG changeset patch # User Anselm R.Garbe # Date 1155543878 -7200 # Node ID e9dc5a9f94806aff6b7d7463273ee5adab8c9cc9 # Parent dacd3f3c5823023cacee21fa54616d86935511f8 implemented ungrabkeys() which is called in cleanup() diff -r dacd3f3c5823 -r e9dc5a9f9480 dwm.h --- a/dwm.h Mon Aug 14 10:18:24 2006 +0200 +++ b/dwm.h Mon Aug 14 10:24:38 2006 +0200 @@ -108,6 +108,7 @@ /* event.c */ extern void grabkeys(); +extern void ungrabkeys(); /* main.c */ extern int getproto(Window w); diff -r dacd3f3c5823 -r e9dc5a9f9480 event.c --- a/event.c Mon Aug 14 10:18:24 2006 +0200 +++ b/event.c Mon Aug 14 10:24:38 2006 +0200 @@ -370,3 +370,19 @@ 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); + } +} diff -r dacd3f3c5823 -r e9dc5a9f9480 main.c --- a/main.c Mon Aug 14 10:18:24 2006 +0200 +++ b/main.c Mon Aug 14 10:24:38 2006 +0200 @@ -22,6 +22,7 @@ static void cleanup() { + ungrabkeys(); while(sel) { resize(sel, True, TopLeft); unmanage(sel);