#!/usr/bin/env dash # shellcheck source=/dev/null SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH help() { cat <<EOF This is a system brightness manager USAGE: $NAME up [VALUE] | down [VALUE] OPTIONS: --help | -h Output this help and exit. --version | -v Output the version and exit. COMMANDS: set [VALUE] Set the brightness to the specified percentage. ARGUMENTS: VALUE := [[seq 0 100]] The amount to increase/decrease the brightness. In percentage EOF } BACKLIGHT="/sys/class/backlight/%BACKLIGHT_NAME" brightness() { perc="$1" max="$(cat $BACKLIGHT/max_brightness)" new="$(echo | awk --assign=perc="$perc" '{printf (perc / 100)}')" output="$(echo | awk --assign=new="$new" --assign=max="$max" '{printf max * new}')" echo "$output" >"$BACKLIGHT/brightness" } for arg in "$@"; do case "$arg" in "--help" | "-h") help exit 0 ;; "--version" | "-v") version exit 0 ;; esac done [ "$(id --user)" != 0 ] && die "This script requires root (as it needs to write into '$BACKLIGHT/brightness')" case "$1" in "set") shift 1 if [ -n "$1" ]; then value="$1" else die "No value specified" fi brightness "$value" ;; *) die "The command '$1' does not exist! See '--help' for a list" ;; esac # vim: ft=sh