From ba9438915745ea13cdd8007b1ee241d5c4d1ec11 Mon Sep 17 00:00:00 2001 From: Siraaj Khandkar Date: Tue, 18 Jan 2022 10:49:41 -0500 Subject: [PATCH] Implement monitor-brightness script --- home/bin/monitor-brightness | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 home/bin/monitor-brightness 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 -- 2.20.1