#!/bin/sh xbacklight -$1 $2 -time 50 -steps 5 2>/dev/null && exit red=16 green=18 blue=1A getbl() { bl=$(doas ddcutil getvcp $red | sed 's/.*current value =\s*\([0-9]*\).*/\1/'); } # Get brightness of red channel so we only have to grab one case "$1" in dec) getbl [ $bl = 0 ] && exit bl=$(( bl - $2 )) [ $bl -lt 0 ] && bl=0 ;; inc) getbl [ $bl = 100 ] && exit bl=$(( bl + $2 )) [ $bl -gt 100 ] && bl=100 ;; set) bl=$2 [ $bl -lt 0 ] || [ $bl -gt 100 ] && echo "Invalid value" && exit ;; *) echo "Invalid option" && exit ;; esac for color in $red $green $blue; do doas ddcutil setvcp $color $bl; done #dwmsbup 20