| 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | |
| 4 | |
| 5 | source "$(dirname "$0")/_lib.sh" |
| 6 | |
| 7 | running() { pgrep -x gammastep >/dev/null || pgrep -x wlsunset >/dev/null; } |
| 8 | |
| 9 | start() { |
| 10 | if has gammastep; then gammastep >/dev/null 2>&1 & |
| 11 | elif has wlsunset; then wlsunset -t 4000 -T 6500 -S 07:00 -s 19:30 >/dev/null 2>&1 & |
| 12 | else notify night dialog-error "Night light" "Install gammastep or wlsunset"; return 1; fi |
| 13 | disown |
| 14 | } |
| 15 | stop() { pkill -x gammastep; pkill -x wlsunset; } |
| 16 | refresh() { pkill -RTMIN+9 waybar 2>/dev/null; } |
| 17 | |
| 18 | case ${1:-toggle} in |
| 19 | start) running || start; refresh ;; |
| 20 | stop) stop; refresh ;; |
| 21 | toggle) |
| 22 | if running; then stop; notify night weather-clear "Night light off" |
| 23 | else start && notify night weather-clear-night "Night light on"; fi |
| 24 | refresh ;; |
| 25 | status) |
| 26 | if running; then |
| 27 | printf '{"text":"","class":"on","tooltip":"Night light: on (click to toggle)"}\n' |
| 28 | else |
| 29 | printf '{"text":"","class":"off","tooltip":"Night light: off (click to toggle)"}\n' |
| 30 | fi ;; |
| 31 | esac |