Adding an example script for slock.

master
Christoph Lohmann 2012-12-08 22:41:48 +01:00
parent f91e73ae45
commit c30b12c8e9
3 changed files with 63 additions and 1 deletions

View File

@ -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

34
README Normal file
View File

@ -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!

28
xsidle.sh Executable file
View File

@ -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