vscripts/xscreensaver-companion
2020-02-11 15:10:03 +03:00

51 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env zsh
pidfile=${XDG_RUNTIME_DIR-/run/user/$UID}/xscreensaver-companion.pid
trap "rm -f $pidfile" INT KILL
function check_start
{
# check if the service is running and, if not, start it in the background
# and detach
if pgrep -u $USER $1 >/dev/null; then
return 0
else
$* &>/dev/null </dev/null & disown
fi
}
function init_pidfile
{
local pid
if read pid < $pidfile; then
if kill -0 $pid; then
echo 'I am already running!' >&2
exit 1
else
echo 'Remove stale lock file.' >&2
rm $pidfile
fi
fi
echo $$ > $pidfile
}
function parse_actions
{
while read action _; do
case $action in
(LOCK|BLANK)
setxkbmap us -option
notify-send DUNST_COMMAND_PAUSE
;;
(UNBLANK)
check_start gxkb
$HOME/git/mine/vscripts/mykblayouts
$HOME/.local/bin/touchpad-config
notify-send DUNST_COMMAND_RESUME
;;
esac
done
}
init_pidfile
xscreensaver-command -watch | parse_actions