about summary refs log tree commit diff
path: root/platforms/linux/xorg/slock/slock-dpms-1.4.diff
diff options
context:
space:
mode:
Diffstat (limited to 'platforms/linux/xorg/slock/slock-dpms-1.4.diff')
-rw-r--r--platforms/linux/xorg/slock/slock-dpms-1.4.diff62
1 files changed, 0 insertions, 62 deletions
diff --git a/platforms/linux/xorg/slock/slock-dpms-1.4.diff b/platforms/linux/xorg/slock/slock-dpms-1.4.diff
deleted file mode 100644
index a3548ff..0000000
--- a/platforms/linux/xorg/slock/slock-dpms-1.4.diff
+++ /dev/null
@@ -1,62 +0,0 @@
-diff --git a/config.def.h b/config.def.h
-index 9855e21..d01bd38 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -10,3 +10,6 @@ static const char *colorname[NUMCOLS] = {
-
- /* treat a cleared input like a wrong password (color) */
- static const int failonclear = 1;
-+
-+/* time in seconds before the monitor shuts down */
-+static const int monitortime = 20;
-diff --git a/slock.c b/slock.c
-index d2f0886..f65a43b 100644
---- a/slock.c
-+++ b/slock.c
-@@ -15,6 +15,7 @@
- #include <unistd.h>
- #include <sys/types.h>
- #include <X11/extensions/Xrandr.h>
-+#include <X11/extensions/dpms.h>
- #include <X11/keysym.h>
- #include <X11/Xlib.h>
- #include <X11/Xutil.h>
-@@ -306,6 +307,7 @@ main(int argc, char **argv) {
- 	const char *hash;
- 	Display *dpy;
- 	int s, nlocks, nscreens;
-+	CARD16 standby, suspend, off;
-
- 	ARGBEGIN {
- 	case 'v':
-@@ -366,6 +368,20 @@ main(int argc, char **argv) {
- 	if (nlocks != nscreens)
- 		return 1;
-
-+	/* DPMS magic to disable the monitor */
-+	if (!DPMSCapable(dpy))
-+		die("slock: DPMSCapable failed\n");
-+	if (!DPMSEnable(dpy))
-+		die("slock: DPMSEnable failed\n");
-+	if (!DPMSGetTimeouts(dpy, &standby, &suspend, &off))
-+		die("slock: DPMSGetTimeouts failed\n");
-+	if (!standby || !suspend || !off)
-+		die("slock: at least one DPMS variable is zero\n");
-+	if (!DPMSSetTimeouts(dpy, monitortime, monitortime, monitortime))
-+		die("slock: DPMSSetTimeouts failed\n");
-+
-+	XSync(dpy, 0);
-+
- 	/* run post-lock command */
- 	if (argc > 0) {
- 		switch (fork()) {
-@@ -383,5 +399,9 @@ main(int argc, char **argv) {
- 	/* everything is now blank. Wait for the correct password */
- 	readpw(dpy, &rr, locks, nscreens, hash);
-
-+	/* reset DPMS values to inital ones */
-+	DPMSSetTimeouts(dpy, standby, suspend, off);
-+	XSync(dpy, 0);
-+
- 	return 0;
- }