Mac-like-automatic-brightness/AutomaticBrightness.sh
2022-09-24 13:50:50 -04:00

52 lines
873 B
Bash

#!/bin/bash
LevelSteps=60
AnimationDelay=0.016
MaxScreenBrightness=96000
SensorDelay=1
MinimumBrightness=001
SensorToDisplayScale=24
while true; do
Light=$(cat /sys/bus/iio/devices/iio\:device0/in_illuminance_raw)
CurrentBrightness=$(cat /sys/class/backlight/intel_backlight/brightness)
Light=$(( $Light + $MinimumBrightness ))
TempLight=$(($Light * $SensorToDisplayScale))
if [[ $TempLight -gt $MaxScreenBrightness ]]
then
NewLight=$MaxScreenBrightness
else
NewLight=$TempLight
fi
DiffCount=$(( ($NewLight - $CurrentBrightness)/$LevelSteps ))
for i in $(eval echo {1..$LevelSteps} )
do
NewLight=$(( $DiffCount ))
if [[ $NewLight -lt 0 ]]
then
NewLight=$( echo "$NewLight" | awk -F "-" {'print$2'})
NewLight=$(echo $NewLight-)
else
NewLight=$(echo +$NewLight)
fi
brightnessctl -q s $NewLight
sleep $AnimationDelay
done
sleep $SensorDelay
done