aboutsummaryrefslogtreecommitdiff
path: root/.config/rofi/applets/menu/backlight.sh
diff options
context:
space:
mode:
authorAlec Goncharow <alec@goncharow.dev>2022-01-09 15:28:58 -0500
committerAlec Goncharow <alec@goncharow.dev>2022-01-09 15:28:58 -0500
commit72cf398a6292fa56d57e82caa4d21570e5573294 (patch)
treee536efb8c5fedb0aceeae2951330b985e34e4ec8 /.config/rofi/applets/menu/backlight.sh
parentfa93303ea8313cf08c437953d53c18de2006b899 (diff)
:)
Diffstat (limited to '.config/rofi/applets/menu/backlight.sh')
-rwxr-xr-x.config/rofi/applets/menu/backlight.sh86
1 files changed, 86 insertions, 0 deletions
diff --git a/.config/rofi/applets/menu/backlight.sh b/.config/rofi/applets/menu/backlight.sh
new file mode 100755
index 0000000..15333eb
--- /dev/null
+++ b/.config/rofi/applets/menu/backlight.sh
@@ -0,0 +1,86 @@
+#!/usr/bin/env bash
+
+## Author : Aditya Shakya
+## Mail : adi1090x@gmail.com
+## Github : @adi1090x
+## Twitter : @adi1090x
+
+style="$($HOME/.config/rofi/applets/menu/style.sh)"
+
+dir="$HOME/.config/rofi/applets/menu/configs/$style"
+rofi_command="rofi -theme $dir/backlight.rasi"
+
+# Error msg
+msg() {
+ rofi -theme "$HOME/.config/rofi/applets/styles/message.rasi" -e "$1"
+}
+
+## Get Brightness
+if [[ -f /bin/brightnessctl ]]; then
+ BNESS="$(brightnessctl get)"
+ MAX="$(brightnessctl max)"
+ PERC="$((BNESS*100/MAX))"
+ BLIGHT=${PERC%.*}
+elif [[ -f /usr/bin/blight ]]; then
+ DEVICE=$(ls /sys/class/backlight | head -n 1)
+ BNESS="$(blight -d $DEVICE get brightness)"
+ PERC="$(($BNESS*100/255))"
+ BLIGHT=${PERC%.*}
+elif [[ -f /usr/bin/xbacklight ]]; then
+ VAR="$(xbacklight -get)"
+ BLIGHT="$(printf "%.0f\n" "$VAR")"
+else
+ msg "No suitable backlight utility found!"
+ exit 1
+fi
+
+if [[ $BLIGHT -ge 1 ]] && [[ $BLIGHT -le 29 ]]; then
+ MSG="Low"
+elif [[ $BLIGHT -ge 30 ]] && [[ $BLIGHT -le 49 ]]; then
+ MSG="Optimal"
+elif [[ $BLIGHT -ge 50 ]] && [[ $BLIGHT -le 69 ]]; then
+ MSG="High"
+elif [[ $BLIGHT -ge 70 ]] && [[ $BLIGHT -le 99 ]]; then
+ MSG="Too Much"
+fi
+
+## Icons
+ICON_UP=""
+ICON_DOWN=""
+ICON_OPT=""
+
+notify="notify-send -u low -t 1500"
+options="$ICON_UP\n$ICON_OPT\n$ICON_DOWN"
+
+## Main
+chosen="$(echo -e "$options" | $rofi_command -p "$BLIGHT% : $MSG" -dmenu -selected-row 1)"
+case $chosen in
+ "$ICON_UP")
+ if [[ -f /bin/brightnessctl ]]; then
+ brightnessctl -q set +10% && $notify "Brightness Up $ICON_UP"
+ elif [[ -f /usr/bin/blight ]]; then
+ blight -d "$DEVICE" set +10% && $notify "Brightness Up $ICON_UP"
+ elif [[ -f /usr/bin/xbacklight ]]; then
+ xbacklight -inc 10 && $notify "Brightness Up $ICON_UP"
+ fi
+ ;;
+ "$ICON_DOWN")
+ if [[ -f /bin/brightnessctl ]]; then
+ brightnessctl -q set 10%- && $notify "Brightness Down $ICON_DOWN"
+ elif [[ -f /usr/bin/blight ]]; then
+ blight -d "$DEVICE" set -10% && $notify "Brightness Down $ICON_DOWN"
+ elif [[ -f /usr/bin/xbacklight ]]; then
+ xbacklight -dec 10 && $notify "Brightness Down $ICON_DOWN"
+ fi
+ ;;
+ "$ICON_OPT")
+ if [[ -f /bin/brightnessctl ]]; then
+ brightnessctl -q set 25% && $notify "Optimal Brightness $ICON_OPT"
+ elif [[ -f /usr/bin/blight ]]; then
+ blight -d "$DEVICE" set 25% && $notify "Optimal Brightness $ICON_OPT"
+ elif [[ -f /usr/bin/xbacklight ]]; then
+ xbacklight -set 30 && $notify "Optimal Brightness $ICON_OPT"
+ fi
+ ;;
+esac
+