diff options
author | Martin Polden <mpolden@mpolden.no> | 2024-04-05 16:31:46 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2024-04-05 16:36:08 +0200 |
commit | 2ad8dcf6b1ddafbfb67b385dba40371a5b852d04 (patch) | |
tree | 242d92b346f0030bdc2facd425cf60d4b6ed880e | |
parent | 4df5d22d0f161a991097e91732608892a76a9976 (diff) |
-rw-r--r-- | zshrc | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -519,6 +519,26 @@ function cdn { cd "$(locate-dominating-file "$PWD" "$1")" } +# Adjust monitor brightness using ddcutil +function brightness { + local -r level="${1:-}" + if ! command -v ddcutil > /dev/null; then + echo "$0: ddcutil not found in path" 1>&2 + return 1 + fi + if [[ -z "$level" ]]; then + local current_level + current_level="$(ddcutil getvcp 10 | sed -E 's/.* current value = *([0-9]+),.*/\1/')" + echo "$0: current level: $current_level" + elif [[ ! "$level" =~ ^([0-9]|[1-9][0-9]+)$ || "$level" -gt 100 ]]; then + echo "$0: level must be a number between 0 and 100" 1>&2 + return 1 + else + echo "$0: changing level to $level" + ddcutil setvcp 10 "$level" + fi +} + # # Local configuration # |