aboutsummaryrefslogtreecommitdiff
path: root/scripts/.local/bin/personal/bar/brightness
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/.local/bin/personal/bar/brightness')
-rwxr-xr-xscripts/.local/bin/personal/bar/brightness84
1 files changed, 30 insertions, 54 deletions
diff --git a/scripts/.local/bin/personal/bar/brightness b/scripts/.local/bin/personal/bar/brightness
index f9c84ce..3ce4076 100755
--- a/scripts/.local/bin/personal/bar/brightness
+++ b/scripts/.local/bin/personal/bar/brightness
@@ -1,60 +1,36 @@
#!/bin/bash
-# A script to manage screen and keyboard brightness on my machine
-# Depends on: bash, brightnessctl
-# By David Penkowoj, 2021/06/24
+# A script to manage screen brightness on my machine
+# Depends on: bash, brightnessctl, libnotify
+# By David Penkowoj, 2024-09-16
-MTR_DEVICE="amdgpu_bl2"
-MTR_VALUE=99
+memfile="/tmp/$(whoami)-brightness.memtxt"
+monitor_id="amdgpu_bl2"
-SWITCH="$1"
+bctl() {
+ brightnessctl --device="$monitor_id" "$@"
+}
-case $SWITCH in
- "help")
- printf "Possible arguments:\n"
- printf "===================\n"
- printf "load - loads brightness from save\n"
- printf "save - saves current brightness\n"
- printf "up - increases brightness by 5 percent and saves\n"
- printf "down - decreases brightness by 5 percent and saves\n"
- printf "smallup - increases brightness by 1 percent and saves\n"
- printf "smalldown - decreases brightness by 1 percent and saves\n"
- printf "status - show brightness of a device"
- ;;
- "load")
- brightnessctl --device="$MTR_DEVICE" set "$MTR_VALUE%"
- ;;
- "save")
- M="$(brightnessctl --device="$MTR_DEVICE" | grep -Eo "[0-9]+" | head -n 2 | tail -n 1)"
- sed -i "s/MTR_VALUE=$MTR_VALUE/MTR_VALUE=$M/" "$0"
- ;;
- "smalldown")
- if [[ "$2" = "monitor" ]]; then brightnessctl --device="$MTR_DEVICE" set 1-%; fi
- brightness save
- notify-send -u low -r "110" "$2: $(brightness get monitor)"
- ;;
- "smallup")
- if [[ "$2" = "monitor" ]]; then brightnessctl --device="$MTR_DEVICE" set +1%; fi
- brightness save
- notify-send -u low -r "110" "$2: $(brightness get monitor)"
- ;;
- "down")
- if [[ "$2" = "monitor" ]]; then brightnessctl --device="$MTR_DEVICE" set 5-%; fi
- brightness save
- notify-send -u low -r "110" "$2: $(brightness get monitor)"
- ;;
- "up")
- if [[ "$2" = "monitor" ]]; then brightnessctl --device="$MTR_DEVICE" set +5%; fi
- brightness save
- notify-send -u low -r "110" "$2: $(brightness get monitor)"
- ;;
- "get")
- M="$(brightnessctl --device="$MTR_DEVICE" | grep -Eo "[0-9]+" | head -n 2 | tail -n 1)"
- if [[ "$2" = "monitor" ]]; then echo "$M"; fi
- ;;
- *)
- printf "Monitor:\n"
- brightnessctl --device="$MTR_DEVICE" | tail -n 3 | sed 's/\t/- /g'
- ;;
-esac
+notify_brightness() {
+ current="$(brightness get)"
+ max="$(bctl m)"
+ notify-send -u low -r "110" "Screen brightness: $(( current * 100 / max ))%"
+}
+case "$1" in
+ "up")
+ bctl set +5%
+ notify_brightness
+ ;;
+ "down")
+ bctl set 5-%
+ notify_brightness
+ ;;
+ "get")
+ printf "%s\n" "$(bctl | grep -Eo "[0-9]+" | head -n 2 | tail -n 1)"
+ ;;
+ *)
+ printf "[ Error ] Usage: brightness [up|down|get]"
+ exit 1
+ ;;
+esac