diff options
| -rw-r--r-- | slock.c | 9 | 
1 files changed, 6 insertions, 3 deletions
@@ -77,9 +77,12 @@ main(int argc, char **argv) {  	XDefineCursor(dpy, w, invisible);  	running = XGrabPointer(dpy, RootWindow(dpy, screen), False,  			ButtonPressMask | ButtonReleaseMask | PointerMotionMask, -			GrabModeAsync, GrabModeSync, None, invisible, CurrentTime) == GrabSuccess -		&& XGrabKeyboard(dpy, RootWindow(dpy, screen), True, GrabModeAsync, -			 GrabModeAsync, CurrentTime) == GrabSuccess; +			GrabModeAsync, GrabModeSync, None, invisible, CurrentTime) == GrabSuccess; +	len = 10; +	for(len = 10; len && (XGrabKeyboard(dpy, RootWindow(dpy, screen), True, GrabModeAsync, +		GrabModeAsync, CurrentTime) != GrabSuccess); len--) +		usleep(1000); +	running = running && (len > 0);  	XMapRaised(dpy, w);  	XSync(dpy, False);  | 
