t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 375a251d16de567b6c62cce208f388cd16e0ce0f
   DIR parent d4b7a9a3735deeab639f28b5bb2f568e0dc49616
   URI 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);