aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--zshrc27
1 files changed, 23 insertions, 4 deletions
diff --git a/zshrc b/zshrc
index f0a390b..2b2d36f 100644
--- a/zshrc
+++ b/zshrc
@@ -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
#