login.capability.brightness (1155B)
1 #!/bin/zsh 2 setopt no_unset warn_create_global extended_glob 3 4 typeset -g backlight 5 backlight=/sys/class/backlight/amdgpu_bl0 6 7 adjust-brightness() { 8 awk >$backlight/brightness \ 9 -v adjustment=$1 \ 10 -v max=$(<$backlight/max_brightness) \ 11 -v current=$(<$backlight/brightness) \ 12 'BEGIN { 13 if(match(adjustment, /^\+[0-9]+%$/)) { 14 adjustment = substr(adjustment, 2, RLENGTH - 2) 15 adjustment = current + adjustment * 0.01 * max 16 } else if(match(adjustment, /^-[0-9]+%$/)) { 17 adjustment = substr(adjustment, 2, RLENGTH - 2) 18 adjustment = current - adjustment * 0.01 * max 19 } else if(match(adjustment, /^[0-9]+%$/)) { 20 adjustment = substr(adjustment, 1, RLENGTH - 1) 21 adjustment = adjustment * 0.01 * max 22 } else if(match(adjustment, /^\+[0-9]+$/)) { 23 adjustment = substr(adjustment, 2) 24 adjustment = current + adjustment 25 } else if(match(adjustment, /^-[0-9]+$/)) { 26 adjustment = substr(adjustment, 2) 27 adjustment = current - adjustment 28 } 29 adjustment = adjustment < 0 ? 0 : ( adjustment > max ? max : adjustment ) 30 printf ("%d\n", adjustment) 31 }' 32 } 33 34 adjust-brightness $1 35 # vim: ft=zsh noet ts=4 sts=4 sw=4