commit d83a9a1d01fb70df9859ea231c8d7a2fb898c1e7
parent ae8cce24d3eb590c3cc810eb8487296ee1db0718
Author: Anselm R. Garbe <arg@suckless.org>
Date: Wed, 21 Feb 2007 22:16:23 +0100
made slock more readable, added root variable because we intend to call RootWindow(...) quite a lot
Diffstat:
M | slock.c | | | 28 | +++++++++++++++++----------- |
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/slock.c b/slock.c
@@ -58,7 +58,7 @@ main(int argc, char **argv) {
Display *dpy;
KeySym ksym;
Pixmap pmap;
- Window w;
+ Window root, w;
XColor black, dummy;
XEvent ev;
XSetWindowAttributes wa;
@@ -73,12 +73,12 @@ main(int argc, char **argv) {
exit(EXIT_FAILURE);
}
screen = DefaultScreen(dpy);
+ root = RootWindow(dpy, screen);
/* init */
wa.override_redirect = 1;
wa.background_pixel = BlackPixel(dpy, screen);
- w = XCreateWindow(dpy, RootWindow(dpy, screen), 0, 0,
- DisplayWidth(dpy, screen), DisplayHeight(dpy, screen),
+ w = XCreateWindow(dpy, root, 0, 0, DisplayWidth(dpy, screen), DisplayHeight(dpy, screen),
0, DefaultDepth(dpy, screen), CopyFromParent,
DefaultVisual(dpy, screen), CWOverrideRedirect | CWBackPixel, &wa);
@@ -86,15 +86,21 @@ main(int argc, char **argv) {
pmap = XCreateBitmapFromData(dpy, w, curs, 8, 8);
invisible = XCreatePixmapCursor(dpy, pmap, pmap, &black, &black, 0, 0);
XDefineCursor(dpy, w, invisible);
- for(len = 1000; len && (XGrabPointer(dpy, RootWindow(dpy, screen), False,
- ButtonPressMask | ButtonReleaseMask | PointerMotionMask,
- GrabModeAsync, GrabModeSync, None, invisible, CurrentTime) != GrabSuccess); len--)
+ for(len = 1000; len; len--) {
+ if(XGrabPointer(dpy, root, False, ButtonPressMask | ButtonReleaseMask | PointerMotionMask,
+ GrabModeAsync, GrabModeSync, None, invisible, CurrentTime) == GrabSuccess)
+ break;
usleep(1000);
- running = running && (len > 0);
- for(len = 1000; len && (XGrabKeyboard(dpy, RootWindow(dpy, screen), True, GrabModeAsync,
- GrabModeAsync, CurrentTime) != GrabSuccess); len--)
- usleep(1000);
- running = running && (len > 0);
+ }
+ if((running = running && (len > 0))) {
+ for(len = 1000; len; len--) {
+ if(XGrabKeyboard(dpy, root, True, GrabModeAsync, GrabModeAsync, CurrentTime)
+ == GrabSuccess)
+ break;
+ usleep(1000);
+ }
+ running = (len > 0);
+ }
len = 0;
XMapRaised(dpy, w);
XSync(dpy, False);