implemented ungrabkeys() which is called in cleanup()

master
Anselm R.Garbe 2006-08-14 10:24:38 +02:00
parent d4b7a9a373
commit 375a251d16
3 changed files with 18 additions and 0 deletions

1
dwm.h
View File

@ -108,6 +108,7 @@ extern unsigned int textw(const char *text);
/* event.c */ /* event.c */
extern void grabkeys(); extern void grabkeys();
extern void ungrabkeys();
/* main.c */ /* main.c */
extern int getproto(Window w); extern int getproto(Window w);

16
event.c
View File

@ -370,3 +370,19 @@ grabkeys()
GrabModeAsync, GrabModeAsync); 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);
}
}

1
main.c
View File

@ -22,6 +22,7 @@ static Bool otherwm;
static void static void
cleanup() cleanup()
{ {
ungrabkeys();
while(sel) { while(sel) {
resize(sel, True, TopLeft); resize(sel, True, TopLeft);
unmanage(sel); unmanage(sel);