slock

simple X display locker utility
git clone git://git.suckless.org/slock
Log | Files | Refs | README | LICENSE

commit 48a7ab2225d1e53a8e0fd73bca975bb7695d1b06
parent d8ea9368993538b132ac019859b37f4bbbf85962
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:
Mconfig.mk | 2+-
Mslock.c | 5++---
2 files changed, 3 insertions(+), 4 deletions(-)

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 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);