diff --git a/brightness-adjust.sh b/brightness-adjust.sh deleted file mode 100644 index cfb7902..0000000 --- a/brightness-adjust.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -# This is a script to set my external monitor's brightness -# to high (70%) or low (40%) easily. It uses ddcutil to access -# the monitor's settings. When used in conjunction with heliocron, -# it can manage the monitor brightness based on sunrise or sunset, -# which can be useful if you like to work in natural light. - -if [ $1 == "high" ]; then - ddcutil setvcp 10 70 && echo "Monitor brightness set to 70%" -elif [ $1 == "low" ]; then - ddcutil setvcp 10 40 && echo "Monitor brightness set to 40%" -else - echo "Please pass high/low" -fi diff --git a/brightness-by-daylight.sh b/brightness-by-daylight.sh new file mode 100644 index 0000000..3d9f627 --- /dev/null +++ b/brightness-by-daylight.sh @@ -0,0 +1,42 @@ +#!/bin/sh + +# This is a script to set my external monitor's brightness +# to high (70%) or low (40%) automatically according to day/night. +# It uses ddcutil to access the monitor's settings and sunwait to know +# if it's day or night. It expects a file in the following format in +# the .config directory (the values should be according to location) + +# ~/.config/latlong.toml +# latitude="0.000000N" +# longitude="0.000000E" + +# Add the following to crontab to make it run automatically and properly + +# @reboot +# 0 0,12 * * * crontab + +confdir="/home/sintan/.config" + +if test -f $confdir/latlong.toml ; then + source $confdir/latlong.toml +else + echo "No location config found!" +fi + +# Check if called by crontab. If yes, start waiting, otherwise +# adjust brightness immediately +if [ "$1" == "crontab" ]; then + if [ $(sunwait poll $latitude $longitude) == "DAY" ]; then + sunwait wait set offset 10 $latitude $longitude && ddcutil setvcp 10 40 + else + sunwait wait rise offset 10 $latitude $longitude && ddcutil setvcp 10 70 + fi +else + if [ $(sunwait poll $latitude $longitude) == "DAY" ]; then + ddcutil setvcp 10 70 + echo "Monitor brightness set to 70%, since it's day time." + else + ddcutil setvcp 10 40 + "Monitor brightness set to 40%, since it's night time." + fi +fi \ No newline at end of file