commits
tags
#!/bin/sh
# startmenu module -- dispatched by subcommand:
# startmenu.sh -> bar text
# startmenu.sh menu -> popup definition, read once at
# startup (see README, "Module-declared
# menus")
# startmenu.sh screensaver_status -> "Screensaver: On"/"Off" popup_info
# row, re-run fresh every time the
# popup opens
# startmenu.sh screensaver_on -> re-enable blanking/DPMS (xset)
# startmenu.sh screensaver_off -> disable blanking/DPMS (xset)
#
# This *is* the start menu -- add, remove or reorder popup_item lines below
# to customize it, no sxbarc editing needed.
mode="${1:-text}"
self="$0"
# Timeout (seconds) restored by "Turn screensaver on" -- adjust to taste.
saver_timeout=600
case "$mode" in
menu)
echo 'popup : hover : buttons'
echo 'popup_item : "Terminal" : "xterm"'
echo 'popup_item : "File manager" : "pcmanfm"'
echo 'popup_item : "Web browser" : "firefox"'
echo 'popup_item : "Lock screen" : "slock"'
echo "popup_info : \"$self screensaver_status\""
echo "popup_item : \"Turn screensaver on\" : \"$self screensaver_on\""
echo "popup_item : \"Turn screensaver off\" : \"$self screensaver_off\""
;;
screensaver_status)
t=$(xset q 2>/dev/null | awk '/^ timeout:/{print $2}')
if [ "${t:-0}" -gt 0 ] 2>/dev/null; then
echo 'Screensaver: On'
else
echo 'Screensaver: Off'
fi
;;
screensaver_on)
xset s "$saver_timeout" "$saver_timeout"
xset +dpms
;;
screensaver_off)
xset s off
xset -dpms
;;
*)
echo "Start"
;;
esac