diff options
-rw-r--r-- | zshrc | 27 |
1 files changed, 23 insertions, 4 deletions
@@ -465,15 +465,14 @@ case "$OSTYPE" in esac unset ls_opts -# Activate or deactivate a virtualenv in the directory venv +# Activate or deactivate a virtualenv function venv { - local -r venv="$(realpath ${1:-.venv})" - local -r activate="${venv}/bin/activate" + local -r activate="${1:-.venv}/bin/activate" if [[ -n "$VIRTUAL_ENV" ]]; then echo "venv: deactivating $VIRTUAL_ENV" 1>&2 deactivate elif [[ -f "$activate" ]]; then - echo "venv: activating $venv" 1>&2 + echo "venv: activating $(realpath $activate/../..)" 1>&2 source "$activate" else echo "venv: $activate not found" 1>&2 @@ -519,6 +518,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 # |