#!/bin/sh
msgTag="brightness" # Arbitrary but unique message tag
highlight="#7aa2f7"

round() {
    awk "BEGIN {printf \"%.0f\", $*}"
}

oldbrightness="$(cat /sys/class/backlight/*/brightness)"
oldpercent="$(round "$oldbrightness * (100/255)")"
newpercent="$(round "$oldpercent + $1")"
newbrightness="$(round "$newpercent * (255/100)")"

if [ "$newpercent" -gt "100" ]; then
    icon="gpm-brightness-lcd"
    newpercent=100
    newbrightness=255
elif [ "$newpercent" -gt "50" ]; then
    icon="gpm-brightness-lcd"
elif [ "$newpercent" -gt "0" ]; then
    icon="gpm-brightness-lcd-disabled"
else
    icon="gpm-brightness-lcd-disabled"
    newpercent=0
    newbrightness=0
fi

round $newbrightness | tee /sys/class/backlight/*/brightness

notify-send -a "changeBrightness" -i "$icon" -u low "Brightness: ${newpercent}%" \
    -h string:x-dunst-stack-tag:$msgTag \
    -h int:value:$newpercent \
    -h string:hlcolor:$highlight