nixos-configs/eww/scripts/redshift
2023-05-28 18:05:51 -04:00

70 lines
1 KiB
Bash
Executable file

#!/usr/bin/env bash
cache_file=$HOME/.cache/eww/services/redshift_state
initial_hook () {
if [ ! -d $(dirname $cache_file) ]; then
mkdir -p $(dirname $cache_file)
fi
if [ ! -f $cache_file ]; then
echo off > $cache_file
fi
}
get_state () {
# check if redshift is running
cat $cache_file
}
restore () {
local state=$(get_state)
if [[ $state == "on" ]]; then
enable_redshift
else
disable_redshift
fi
}
disable_redshift () {
redshift -x 2>&1 > /dev/null
# saving state
echo off > $cache_file
}
enable_redshift () {
redshift -x 2>&1 > /dev/null
redshift -O 5000 2>&1 > /dev/null
# saving new state
echo on > $cache_file
}
toggle () {
local state=$(get_state)
if [[ $state == "on" ]]; then
disable_redshift
else
enable_redshift
fi
}
initial_hook
if [[ $1 == "state" ]]; then
get_state
fi
if [[ $1 == "enable" ]]; then
enable_redshift
fi
if [[ $1 == "disable" ]]; then
disable_redshift
fi
if [[ $1 == "toggle" ]]; then
toggle
fi
if [[ $1 == "restore" ]]; then
restore
fi