~kris/suckless

slock

2445d75b5db8a16f1d98c91bf0fd767a4cd6bbe7 — bakkeby 6 years ago 4c905a9
Fix bug in DPMS patch + moved patches.h to patches.def.h to match that of config
6 files changed, 16 insertions(+), 23 deletions(-)

M .gitignore
M Makefile
D patch/dpms.c
M patch/include.c
R {patches => patches.def}.h
M slock.c
M .gitignore => .gitignore +1 -0
@@ 1,3 1,4 @@
*.o
dwm
config.h
patches.h

M Makefile => Makefile +5 -1
@@ 18,12 18,16 @@ options:
	@echo CC $<
	@${CC} -c ${CFLAGS} $<

${OBJ}: config.h config.mk arg.h util.h
${OBJ}: config.h config.mk arg.h util.h patches.h

config.h:
	@echo creating $@ from config.def.h
	@cp config.def.h $@

patches.h:
	@echo creating $@ from patches.def.h
	@cp patches.def.h $@

slock: ${OBJ}
	@echo CC -o $@
	@${CC} -o $@ ${OBJ} ${LDFLAGS}

D patch/dpms.c => patch/dpms.c +0 -9
@@ 1,9 0,0 @@
#include <X11/extensions/dpms.h>

static void
monitorreset(Display* dpy, CARD16 standby, CARD16 suspend, CARD16 off)
{
	DPMSSetTimeouts(dpy, standby, suspend, off);
	DPMSForceLevel(dpy, DPMSModeOn);
	XFlush(dpy);
}
\ No newline at end of file

M patch/include.c => patch/include.c +0 -4
@@ 1,8 1,4 @@
/* Patches */
#if DPMS_PATCH
#include "dpms.c"
#endif

#if MESSAGE_PATCH
#include "message.c"
#endif

R patches.h => patches.def.h +0 -0
M slock.c => slock.c +10 -9
@@ 29,6 29,9 @@
#if QUICKCANCEL_PATCH
#include <time.h>
#endif // QUICKCANCEL_PATCH
#if DPMS_PATCH
#include <X11/extensions/dpms.h>
#endif // DPMS_PATCH

#include "arg.h"
#include "util.h"


@@ 542,7 545,7 @@ main(int argc, char **argv) {
		return 1;

	#if DPMS_PATCH
	/* DPMS-magic to disable the monitor */
	/* DPMS magic to disable the monitor */
	if (!DPMSCapable(dpy))
		die("slock: DPMSCapable failed\n");
	if (!DPMSEnable(dpy))


@@ 550,11 553,11 @@ main(int argc, char **argv) {
	if (!DPMSGetTimeouts(dpy, &standby, &suspend, &off))
		die("slock: DPMSGetTimeouts failed\n");
	if (!standby || !suspend || !off)
		/* set values if there arent some */
		standby = suspend = off = 300;
		die("slock: at least one DPMS variable is zero\n");
	if (!DPMSSetTimeouts(dpy, monitortime, monitortime, monitortime))
		die("slock: DPMSSetTimeouts failed\n");

	DPMSSetTimeouts(dpy, monitortime, monitortime, monitortime);
	XFlush(dpy);
	XSync(dpy, 0);
	#endif // DPMS_PATCH

	/* run post-lock command */


@@ 563,9 566,6 @@ main(int argc, char **argv) {
		case -1:
			die("slock: fork failed: %s\n", strerror(errno));
		case 0:
			#if DPMS_PATCH
			monitorreset(dpy, standby, suspend, off);
			#endif // DPMS_PATCH
			if (close(ConnectionNumber(dpy)) < 0)
				die("slock: close: %s\n", strerror(errno));
			execvp(argv[0], argv);


@@ 578,7 578,8 @@ main(int argc, char **argv) {
	readpw(dpy, &rr, locks, nscreens, hash);
	#if DPMS_PATCH
	/* reset DPMS values to inital ones */
	monitorreset(dpy, standby, suspend, off);
	DPMSSetTimeouts(dpy, standby, suspend, off);
	XSync(dpy, 0);
	#endif // DPMS_PATCH

	return 0;