70 lines
1 KiB
Bash
Executable file
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
|