diff options
| author | Anselm R. Garbe <arg@suckless.org> | 2007-02-21 22:16:23 +0100 | 
|---|---|---|
| committer | Anselm R. Garbe <arg@suckless.org> | 2007-02-21 22:16:23 +0100 | 
| commit | d83a9a1d01fb70df9859ea231c8d7a2fb898c1e7 (patch) | |
| tree | cdf22098b630ade856076c1d87a077d811f5f52c | |
| parent | ae8cce24d3eb590c3cc810eb8487296ee1db0718 (diff) | |
| download | slock-d83a9a1d01fb70df9859ea231c8d7a2fb898c1e7.tar.gz slock-d83a9a1d01fb70df9859ea231c8d7a2fb898c1e7.tar.xz | |
made slock more readable, added root variable because we intend to call RootWindow(...) quite a lot
| -rw-r--r-- | slock.c | 28 | 
1 files changed, 17 insertions, 11 deletions
| @@ -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); | 
