1
0
Fork 0
dotfiles/bin/laptop-screen-brightness

41 lines
727 B
Bash
Executable File

#!/bin/bash
# Keys: XF86MonBrightnessUp, XF86MonBrightnessDown
class=intel_backlight
dir=/sys/class/backlight/$class
cur=$(cat $dir/brightness)
max=$(cat $dir/max_brightness)
step=$(("$2" + 0))
cur_pct=$((100 * $cur / $max))
case "$1" in
"up")
echo "up $2%"
target_pct=$(($cur_pct + $2))
;;
"down")
echo "down $2%"
target_pct=$(($cur_pct - $2))
;;
*)
echo "Backlight at $cur/$max ($cur_pct%)"
exit 0
esac
if [ "$target_pct" -lt "0" ]; then
target_pct=0
fi
if [ "$target_pct" -gt "100" ]; then
target_pct=100
fi
target_val=$(($max * $target_pct / 100))
echo "Backlight at $cur/$max ($cur_pct%)"
echo "Target $target_val ($target_pct%)"
echo "Dest $dir/brightness"
echo $target_val > $dir/brightness