summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--slock.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/slock.c b/slock.c
index 72afd1e..164a464 100644
--- a/slock.c
+++ b/slock.c
@@ -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);