commit c30b12c8e9d20225f69014d3fe60c0c0c4476773
parent f91e73ae451c1137da79019bb5a08daaca5f6323
Author: Christoph Lohmann <20h@r-36.net>
Date: Sat, 8 Dec 2012 22:41:48 +0100
Adding an example script for slock.
Diffstat:
3 files changed, 63 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
@@ -30,7 +30,7 @@ clean:
dist: clean
@echo creating dist tarball
@mkdir -p xssstate-${VERSION}
- @cp -R LICENSE Makefile config.mk \
+ @cp -R LICENSE README Makefile config.mk xsidle.sh \
xssstate.1 arg.h ${SRC} xssstate-${VERSION}
@tar -cf xssstate-${VERSION}.tar xssstate-${VERSION}
@gzip xssstate-${VERSION}.tar
diff --git a/README b/README
@@ -0,0 +1,34 @@
+Xssstate
+========
+This is a simple utility to get the state of the X screensaver exten‐
+sion. These states include the idle time, the screensaver state and the
+time how long to wait until the screensaver should be active.
+
+The values for the states in X can be changed using xset(1).
+
+Turn off the screensaver:
+
+ % xset s 0
+
+Turn on the screensaver after 60 seconds inactivity:
+
+ % xset s 60
+
+Force the screensaver to be active:
+
+ % xset s blank
+
+For more options, see xset(1).
+
+
+Example script
+--------------
+In xsidle.sh is an example script how to use this for a background ser‐
+vice that will control your screensaver. This can be used to invoke
+slock(1) using following command:
+
+ % xsidle.sh slock &
+
+This should be useful in your $HOME/.xinitrc file.
+
+Have fun!
diff --git a/xsidle.sh b/xsidle.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+#
+# Use xset s $time to control the timeout when this will run.
+#
+
+if [ $# -lt 1 ];
+then
+ printf "usage: %s cmd\n" "$(basename $0)" 2>&1
+ exit 1
+fi
+cmd="$1"
+
+while true
+do
+ if [ $(xssstate -s) != "disabled" ];
+ then
+ tosleep=$(($(xssstate -t) / 1000))
+ if [ $tosleep -le 0 ];
+ then
+ $cmd
+ else
+ sleep $tosleep
+ fi
+ else
+ sleep 10
+ fi
+done
+