brightness.sh 567 B

12345678910111213141516171819
  1. #!/bin/bash
  2. # Adjust brightness of the focused output: internal panel via light,
  3. # external monitors via DDC/CI.
  4. # Usage: brightness.sh up|down
  5. case "$1" in
  6. up) light_factor=1.4; ddc_op=+ ;;
  7. down) light_factor=0.7142; ddc_op=- ;;
  8. *) echo "Usage: $0 up|down" >&2; exit 1 ;;
  9. esac
  10. IFS=$'\t' read -r name serial < <(swaymsg -t get_outputs |
  11. jq -r '.[] | select(.focused) | [.name, .serial] | @tsv')
  12. if [[ -z "$name" || "$name" == eDP-* ]]; then
  13. exec light -T "$light_factor"
  14. fi
  15. exec ddcutil setvcp --sn "$serial" 10 "$ddc_op" 5 --noverify