From: Siraaj Khandkar Date: Tue, 18 Jan 2022 15:49:41 +0000 (-0500) Subject: Implement monitor-brightness script X-Git-Url: https://git.xandkar.net/?a=commitdiff_plain;h=ba9438915745ea13cdd8007b1ee241d5c4d1ec11;p=khome.git Implement monitor-brightness script --- diff --git a/home/bin/monitor-brightness b/home/bin/monitor-brightness new file mode 100755 index 0000000..70b795d --- /dev/null +++ b/home/bin/monitor-brightness @@ -0,0 +1,33 @@ +#! /bin/bash + +error() { + printf 'Error: %s\n' "$1" >&2 + exit 1 +} + +_get() { + sudo ddcutil getvcp 10 | grep -o ' current value = \+[0-9]\+' | awk '{print $4}' +} + +_set() { + sudo ddcutil setvcp 10 "$1" +} + +cmd="$1" +arg="$2" + +case "$cmd" in + '') _get;; + get) _get;; + set) + case "$arg" in + '') error 'expected a numeric argument between 0 and 100, given nothing!';; + *) + if [[ "$arg" =~ ^[0-9]+$ && "$arg" -gt -1 && "$arg" -lt 101 ]]; then + _set "$arg" + else + error "expected a numeric argument between 0 and 100, but given '$arg'" + fi + esac;; + *) error "unrecognized command: $cmd. Expect either get or set." +esac