~kris/suckless

slock

d83a9a1d01fb70df9859ea231c8d7a2fb898c1e7 — Anselm R. Garbe 19 years ago ae8cce2
made slock more readable, added root variable because we intend to call RootWindow(...) quite a lot
1 files changed, 17 insertions(+), 11 deletions(-)

M slock.c
M slock.c => slock.c +17 -11
@@ 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);