pub-solar-os/profiles/graphical/xmonad/scripts/stoggle
2020-06-09 10:36:38 -06:00

46 lines
1,022 B
Bash

#!/usr/bin/env zsh
# variables for dzen2
WIDTH=512
WINDOW_HEIGHT=$( xdpyinfo \
| awk '$1 ~ /dimensions/ {split($2,arr,"x"); print int(arr[2])}' \
)
WINDOW_WIDTH=$( xdpyinfo \
| awk '$1 ~ /dimensions/ {split($2,arr,"x"); print int(arr[1])}' \
)
XPOS=$(( ( ${WINDOW_WIDTH} / 2 ) - ( ${WIDTH} / 2 ) ))
YPOS=$(( ${WINDOW_HEIGHT} / 2 ))
readonly WIDTH WINDOW_HEIGHT WINDOW_WIDTH XPOS YPOS
# get current state of dpms
xset -q \
| grep -Eo 'DPMS is (Enabled|Disabled)' \
| awk '{print $3}' \
| read dpms_state
# function to call dzen2 with current state
dzen2_dpms_state () {
local -r \
new_dpms_state=$1
print "Power Management ${new_dpms_state}" \
| dzen2 -fn "DejaVu Sans Mono for Powerline-16:normal" -p 2 -tw ${WIDTH} -x ${XPOS} -y ${YPOS}
}
case $dpms_state in
Enabled)
xset -dpms
xset s off
dzen2_dpms_state "Disabled"
;;
Disabled)
xset +dpms
xset s on
xset s 300
dzen2_dpms_state "Enabled"
;;
*)
exit 1
;;
esac