home · contact · privacy
Add backlight setting script. master
authorChristian Heller <c.heller@plomlompom.de>
Sat, 9 Aug 2025 08:48:00 +0000 (10:48 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Sat, 9 Aug 2025 08:48:00 +0000 (10:48 +0200)
testing/copy/desktop/home/plom/.local/bin/backlight [new file with mode: 0755]

diff --git a/testing/copy/desktop/home/plom/.local/bin/backlight b/testing/copy/desktop/home/plom/.local/bin/backlight
new file mode 100755 (executable)
index 0000000..d2c1711
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+set -e
+cd $(dirname "$0")
+. lib/abort
+. lib/print_usage
+
+ARG_HELP=--help
+USAGE_DESCRIPTION='Set backlight to maximum, or [INTEGER] percentage of it.'
+USAGE_LINES="COMMAND [${ARG_HELP}] [INTEGER]"
+
+if [ "$1" = "${ARG_HELP}" ]; then
+    print_usage
+    exit 0
+elif [ -z "$1" ]; then
+    PERCENTAGE=100
+elif [ "$(echo -n $1 | sed -E 's/[0-9]*[%]?//g')" ]; then
+    echo "Aborting due to unrecognized argument(s): $@" >&2
+    exit 1
+elif [ "$1" -gt 100 ]; then
+    echo "Aborting due to percentage > 100" >&2
+    exit 1
+else
+    PERCENTAGE=$1
+fi 
+PATH_BACKLIGHTS=/sys/class/backlight
+FILENAME_MAX=max_brightness
+FILENAME_TARGET=brightness
+BACKLIGHTS=$(ls "${PATH_BACKLIGHTS}") 
+for BACKLIGHT in ${BACKLIGHTS}; do
+    PATH_DIR_BACKLIGHT=${PATH_BACKLIGHTS}/${BACKLIGHT}
+    MAX_BRIGHTNESS=$(cat "${PATH_DIR_BACKLIGHT}/${FILENAME_MAX}")
+    TARGET_VAL=$(calc "(${PERCENTAGE} * ${MAX_BRIGHTNESS} // 100)" | tr -d '\t')
+    sudo sh -c "echo ${TARGET_VAL} > ${PATH_DIR_BACKLIGHT}/${FILENAME_TARGET}"
+    printf 'set %s to %s%s (%s)\n' "${BACKLIGHT}" "${PERCENTAGE}" "%" "${TARGET_VAL}"
+done