#!/bin/sh rs() { redshift -o -l 53.8695616:10.6875833 -t 6200:4800 "$@" >/dev/null } tick() { while true; do echo "tick" sleep 30 done > "$REDSHIFT_FIFO" } daemon() { test -e "$REDSHIFT_FIFO" && rm -f "$REDSHIFT_FIFO" mkfifo "$REDSHIFT_FIFO" tick & tick_pid=$! flag="" cat "$REDSHIFT_FIFO" | while read cmd; do case $cmd in quit) kill $tick_pid & break ;; toggle) if test -n "$flag"; then flag="" else flag="-x" fi echo "redshift $flag" > "$BAR_FIFO" rs $flag ;; tick) rs $flag ;; esac done } toggle() { echo "toggle" > "$REDSHIFT_FIFO" } case $1 in daemon) daemon ;; toggle) toggle ;; esac