46 lines
1022 B
Bash
46 lines
1022 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
|