dintel-backlight (1204 bytes)
1 #!/bin/sh 2 3 echo "dintel-backlight-aux starting" >&2 4 if command -v wjt >/dev/null 2>&1; then 5 echo "wjt found, using wjt interface" >&2 6 OUT="$(wjt -p 'intel-backlight (0-100):')" 7 echo "Raw wjt output: '$OUT'" >&2 8 # wjt returns empty string for 0, so treat empty as min 9 [ -z "$OUT" ] && OUT="min" && echo "Empty output treated as min" >&2 10 # wjt outputs one value per line as user moves slider, get only the last line 11 OUT="$(echo "$OUT" | tail -1)" 12 echo "Extracted last value: '$OUT'" >&2 13 # If no numeric value found, treat as min 14 [ -z "$OUT" ] && OUT="min" && echo "No numeric value found, using min" >&2 15 # Ensure wjt output is a valid number or command 16 echo "wjt output after cleanup: '$OUT'" >&2 17 case "$OUT" in 18 ''|min|max|up|down|off) ;; # valid commands 19 *[!0-9]*) echo "Invalid output: '$OUT'" >&2; exit 1 ;; # exit if not a number or valid command 20 esac 21 echo "Calling intel-backlight with: '$OUT'" >&2 22 else 23 SELECTOR="$(which dmenu)" 24 OUT="$(echo "up\ndown\nmin\nmax\noff" | "$SELECTOR" -p 'intel-backlight command:')" 25 [ -z "$OUT" ] && exit 0 # exit if no selection from dmenu 26 fi 27 "$HOME"/src/sh/intel-backlight "$OUT"