diff --git a/desktopenvs/hyprland/scripts/batteryperc.sh b/desktopenvs/hyprland/scripts/batteryperc.sh new file mode 100755 index 0000000..6e13890 --- /dev/null +++ b/desktopenvs/hyprland/scripts/batteryperc.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# Get percentage and remove the % sign cleanly +perc=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | awk '/percentage/ {gsub("%",""); print $2}') +state=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | awk '/state/ {print $2}') + +# Check if values are not empty +if [ -z "$perc" ] || [ -z "$state" ]; then + echo "Battery info unavailable" + exit 1 +fi + +# Convert to integer +num=${perc%%.*} # In case perc is float + +if [ "$state" == "charging" ]; then + echo "󰂄 ${perc}%" +else + if [ "$num" -gt 95 ]; then + echo "󰁹 ${perc}%" + elif [ "$num" -gt 90 ]; then + echo "󰂂 ${perc}%" + elif [ "$num" -gt 80 ]; then + echo "󰂁 ${perc}%" + elif [ "$num" -gt 70 ]; then + echo "󰂀 ${perc}%" + elif [ "$num" -gt 60 ]; then + echo "󰁿 ${perc}%" + elif [ "$num" -gt 50 ]; then + echo "󰁾 ${perc}%" + elif [ "$num" -gt 40 ]; then + echo "󰁽 ${perc}%" + elif [ "$num" -gt 30 ]; then + echo "󰁼 ${perc}%" + elif [ "$num" -gt 20 ]; then + echo "󰁻 ${perc}%" + elif [ "$num" -gt 10 ]; then + echo "󰁺 ${perc}%" + else + notify-send --urgency=critical -t 2000 "󱃍 low battery, please charge" + echo "󰂎 ${perc}%" + fi +fi +