mrrl-logincaps

MRRL version of logincaps
git clone https://ccx.te2000.cz/git/mrrl-logincaps
Log | Files | Refs

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