From 48a7ab2225d1e53a8e0fd73bca975bb7695d1b06 Mon Sep 17 00:00:00 2001
From: "Anselm R. Garbe" <arg@suckless.org>
Date: Wed, 7 Mar 2007 10:57:23 +0100
Subject: [PATCH 1/1] grab on the root window, it is correct, all lockers do
 that

---
 config.mk | 2 +-
 slock.c   | 5 ++---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/config.mk b/config.mk
index 83ab773..cea3d12 100644
--- a/config.mk
+++ b/config.mk
@@ -1,5 +1,5 @@
 # slock version
-VERSION = 0.5
+VERSION = 0.6
 
 # Customize below to fit your system
 
diff --git a/slock.c b/slock.c
index 97a80c5..7aace90 100644
--- 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);
-- 
2.20.1