#!/bin/bash # zephyrus-backlight + | - | PERCENT — step or set the internal panel's backlight, never below 1 %. # Shipped by the mesh's asus-zephyrus-g14 module; edit the catalogue. # # The panel is the backlight beneath the eDP connector, not a name: in hybrid mode this model also # registers the discrete GPU's backlight (nvidia_0), which moves nothing. Writable by the video group # through the module's udev rule, so the vendor-key trigger needs no root. set -u STEP=5 dev="" for d in /sys/class/backlight/*; do [ -e "$d" ] || continue case "$(readlink -f "$d")" in *-eDP-*) dev=$d; break ;; esac done if [ -z "$dev" ]; then for d in /sys/class/backlight/*; do [ -e "$d" ] && { dev=$d; break; }; done fi [ -n "$dev" ] || { echo "zephyrus-backlight: no backlight" >&2; exit 1; } cur=$(cat "$dev/brightness") max=$(cat "$dev/max_brightness") pct=$(( cur * 100 / max )) case "${1:-}" in +|up|Up) pct=$(( pct + STEP )) ;; -|down|Down) pct=$(( pct - STEP )) ;; ''|*[!0-9]*) echo "usage: zephyrus-backlight + | - | PERCENT" >&2; exit 2 ;; *) pct=$1 ;; esac (( pct < 1 )) && pct=1 (( pct > 100 )) && pct=100 new=$(( max * pct / 100 )) (( new < 1 )) && new=1 printf '%s' "$new" >"$dev/brightness" || exit 1 exec "$(dirname "$0")/zephyrus-notify" 5555 "Brightness: ${pct}%"