diff --git a/brightness-by-daylight.sh b/brightness-by-daylight.sh index 6e4b058..94c717f 100644 --- a/brightness-by-daylight.sh +++ b/brightness-by-daylight.sh @@ -26,14 +26,15 @@ else exit fi -# Check if called by crontab as routine. If yes, start waiting, +# Check if called by crontab as routine. If yes, create a schedule using `at`, # otherwise adjust brightness immediately if [ "$1" == "crontab" ]; then if [ $(sunwait poll $latitude $longitude) == "DAY" ]; then - at -m $(sunwait report 35.221050N 97.445938W | grep "Daylight:" | awk '{print $6}') <<< "ddcutil setvcp 10 40 && $scriptdir/brightness-by-daylight.sh crontab" + # +1 minute is so that the next schedule is set up properly (or sunwait reports day/night in a misleading way) + at -m $(sunwait report 35.221050N 97.445938W | grep "Daylight:" | awk '{print $6}') +1 minute <<< "ddcutil setvcp 10 40 && $scriptdir/brightness-by-daylight.sh crontab" else - at -m $(sunwait report 35.221050N 97.445938W | grep "Daylight:" | awk '{print $4}') <<< "ddcutil setvcp 10 70 && $scriptdir/brightness-by-daylight.sh crontab" + at -m $(sunwait report 35.221050N 97.445938W | grep "Daylight:" | awk '{print $4}') +1 minute <<< "ddcutil setvcp 10 70 && $scriptdir/brightness-by-daylight.sh crontab" fi else if [ $(sunwait poll $latitude $longitude) == "DAY" ]; then