Commit | Line | Data |
---|---|---|
ba943891 SK |
1 | #! /bin/bash |
2 | ||
3 | error() { | |
4 | printf 'Error: %s\n' "$1" >&2 | |
5 | exit 1 | |
6 | } | |
7 | ||
8 | _get() { | |
9 | sudo ddcutil getvcp 10 | grep -o ' current value = \+[0-9]\+' | awk '{print $4}' | |
10 | } | |
11 | ||
12 | _set() { | |
13 | sudo ddcutil setvcp 10 "$1" | |
14 | } | |
15 | ||
16 | cmd="$1" | |
17 | arg="$2" | |
18 | ||
19 | case "$cmd" in | |
20 | '') _get;; | |
21 | get) _get;; | |
22 | set) | |
23 | case "$arg" in | |
24 | '') error 'expected a numeric argument between 0 and 100, given nothing!';; | |
25 | *) | |
26 | if [[ "$arg" =~ ^[0-9]+$ && "$arg" -gt -1 && "$arg" -lt 101 ]]; then | |
27 | _set "$arg" | |
28 | else | |
29 | error "expected a numeric argument between 0 and 100, but given '$arg'" | |
30 | fi | |
31 | esac;; | |
32 | *) error "unrecognized command: $cmd. Expect either get or set." | |
33 | esac |