#!/bin/bash me="$(readlink -f "$0")" timeout=300 notify=10 case "$1" in start) xset s $((timeout - notify)) $notify xset dpms $((timeout * 3)) $((timeout * 4)) $((timeout * 5)) exec xss-lock -n "$me notify" -l $me lock ;; dim|notify) echo "$(date --rfc-3339=seconds) $me: notify: start" trap 'exit 0' TERM INT trap "kill %% ; wait" EXIT notify-send "Lock screen" -t $((notify * 1000)) \ "Screen will be locked in 10 seconds..." echo "$(date --rfc-3339=seconds) $me: notify: end" sleep 2147483647 & wait ;; lock) # First, stop any music player xdotool key XF86AudioStop # Then, lock screen echo "$(date --rfc-3339=seconds) $me: lock: lock screen" i3lock -n -e -i $HOME/.cache/awesome/current-wallpaper.png -t -f echo "$(date --rfc-3339=seconds) $me: lock: unlock screen" ;; esac