X-Git-Url: https://git.xinqibao.xyz/slock.git/blobdiff_plain/6e53ce4582cc1cc338028c099108f6f225a7286d..8a7a68c4c09cbc8b03cb2765ac83e99ca1cc808b:/slock.c 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);