#!/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

