vincentbernat.i3wm-configur.../bin/xss-lock

55 lines
1.7 KiB
Text
Raw Normal View History

#!/bin/bash
me="$(readlink -f "$0")"
2015-06-17 08:46:28 +02:00
timeout=300
2014-09-12 21:23:15 +02:00
notify=10
configure() {
xset s $((timeout - notify)) $notify
xset dpms $((timeout * 3)) $((timeout * 4)) $((timeout * 5))
}
unconfigure() {
xset s 0
xset dpms 0 0 0
}
case "$1" in
start)
configure
exec xss-lock -s ${XDG_SESSION_ID} -n "$me notify" -l $me lock
;;
dim|notify)
echo "notify: start"
redshift=$(systemctl --user show \
--property MainPID \
--value redshift@$(systemd-escape -- "$DISPLAY").service)
[ x$redshift = x ] || kill -STOP $redshift
trap "[ x$redshift = x ] || kill -CONT $redshift" EXIT
trap 'kill %% 2> /dev/null; exit 0' HUP # user activity
trap 'sleep 0.2s; kill %% 2> /dev/null; exit 0' TERM # locker started
outputs=($(xrandr -q | sed -n 's/\([^ ]*\) connected .*/\1/p'))
for i in $(seq 0.7 -0.01 0.1); do
for out in ${outputs[@]}; do
xrandr --output $out --brightness $i || \
outputs=("${outputs[@]/$out}")
done
sleep 0.1
done
echo "notify: end"
sleep infinity &
wait
;;
lock)
# Something may have mendled with screensaver settings
configure
# First, stop any music player
xdotool key XF86AudioStop
2014-12-11 08:32:21 +01:00
# Then, lock screen
echo "lock: lock screen"
systemctl --user stop compton@$(systemd-escape -- "$DISPLAY").service
i3lock -n -e -i $HOME/.cache/awesome/current-wallpaper.png -t -f
systemctl --user start compton@$(systemd-escape -- "$DISPLAY").service
echo "lock: unlock screen"
;;
esac