#!/bin/sh help() { cat << EOF ${0}: Wrapper script to change backlight options: -i [Brg] Increase backlight by Brg -d [Brg] Decrease backlight by Brg -s [Brg] Set backlight to Brg -p Show the current backlight -h Print this message and exit NOTE: Script interprets values as percentages EOF } err() { for line in "${@}"; do echo "${line}" >&2 done exit 1 } run() { if ! ${1} > /dev/null 2>&1; then err "${2}" fi } if ! command -v brightnessctl > /dev/null 2>&1; then err "${0}: brightnessctl must be installed" fi if [ ${#} != 1 ] && [ ${#} != 2 ]; then err "${0}: Invalid usage" \ "Try '${0} -h' for help." fi while getopts "i:d:s:ph" option; do case "${option}" in i) run "brightnessctl set +${OPTARG}%" \ "${0}: Failed to increase brightness" exit 0 ;; d) run "brightnessctl set ${OPTARG}-%" \ "${0}: Failed to decrease brightness" exit 0 ;; s) run "brightnessctl set ${OPTARG}%" \ "${0}: Failed to set brightness" exit 0 ;; p) if ! brightnessctl 2>/dev/null; then err "Failed to get current brightness" else exit 0 fi ;; h) help; exit 0 ;; *) err "Try '${0} -h' for help.";; esac done err "${0}: Invalid usage" \ "Try '${0} -h' for help."