URI:
       grab on the root window, it is correct, all lockers do that - slock - My fancy fork of slock
  HTML git clone git://git.drkhsh.at/slock.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 48a7ab2225d1e53a8e0fd73bca975bb7695d1b06
   DIR parent d8ea9368993538b132ac019859b37f4bbbf85962
  HTML Author: Anselm R. Garbe <arg@suckless.org>
       Date:   Wed,  7 Mar 2007 10:57:23 +0100
       
       grab on the root window, it is correct, all lockers do that
       Diffstat:
         M config.mk                           |       2 +-
         M slock.c                             |       5 ++---
       
       2 files changed, 3 insertions(+), 4 deletions(-)
       ---
   DIR diff --git a/config.mk b/config.mk
       @@ -1,5 +1,5 @@
        # slock version
       -VERSION = 0.5
       +VERSION = 0.6
        
        # Customize below to fit your system
        
   DIR diff --git a/slock.c b/slock.c
       @@ -81,21 +81,20 @@ main(int argc, char **argv) {
                w = XCreateWindow(dpy, root, 0, 0, DisplayWidth(dpy, screen), DisplayHeight(dpy, screen),
                                0, DefaultDepth(dpy, screen), CopyFromParent,
                                DefaultVisual(dpy, screen), CWOverrideRedirect | CWBackPixel, &wa);
       -
                XAllocNamedColor(dpy, DefaultColormap(dpy, screen), "black", &black, &dummy);
                pmap = XCreateBitmapFromData(dpy, w, curs, 8, 8);
                invisible = XCreatePixmapCursor(dpy, pmap, pmap, &black, &black, 0, 0);
                XDefineCursor(dpy, w, invisible);
                XMapRaised(dpy, w);
                for(len = 1000; len; len--) {
       -                if(XGrabPointer(dpy, w, False, ButtonPressMask | ButtonReleaseMask | PointerMotionMask,
       +                if(XGrabPointer(dpy, root, False, ButtonPressMask | ButtonReleaseMask | PointerMotionMask,
                                GrabModeAsync, GrabModeSync, None, invisible, CurrentTime) == GrabSuccess)
                                break;
                        usleep(1000);
                }
                if((running = running && (len > 0))) {
                        for(len = 1000; len; len--) {
       -                        if(XGrabKeyboard(dpy, w, True, GrabModeAsync, GrabModeAsync, CurrentTime)
       +                        if(XGrabKeyboard(dpy, root, True, GrabModeAsync, GrabModeAsync, CurrentTime)
                                        == GrabSuccess)
                                        break;
                                usleep(1000);