nix-dotfiles/scripts/changebrightness.sh
vorboyvo 1c96195117 Edited changebrightness script to use new quasilinear (64 exp, 128 lin)
scale
Also added prototype changevolume script (not functional yet) and backup
changebrightness script because i've just left them out of the repo for
ages
2024-03-12 13:00:38 -04:00

28 lines
923 B
Bash

#!/bin/bash
# bright=`cat /sys/class/backlight/amdgpu_bl0/brightness` # for use without brightnessctl
bright=`brightnessctl g`
state=-1
# thresh=(0 1 3 5 9 15 27 48 84 147 255) # generated using floor(256^x-1)
# thresh=(0 26 51 77 102 128 153 179 204 230 255) # generated using floor(256*x-1)
thresh=(0 19 39 60 81 103 126 151 180 214 255) # generated using floor(64^x+192*x-1)
for i in ${!thresh[@]}; do
if [[ $bright -ge ${thresh[$i]} ]]
then
state=$i
fi
done
new=$(($1 + $state))
if [[ $new -ge 0 ]] && [[ $new -le 10 ]]
then
# echo ${thresh[$new]} | tee /sys/class/backlight/amdgpu_bl0/brightness
brightnessctl s ${thresh[$new]}
if [[ $? -eq 0 ]] && [[ -f $(which dunstify) ]]
then
dunstify -a "changebrightness.sh" -u low -i weather-clear -h string:x-dunst-stack-tag:changebrightness -h string:hlcolor:#ffffff -h int:value:$(($new*10)) "Brightness: $new"
fi
fi