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