diff --git a/desktopenvs/hyprland/eww/scripts/batteryperc b/desktopenvs/hyprland/eww/scripts/batteryperc index d72cb8b..6e13890 100755 --- a/desktopenvs/hyprland/eww/scripts/batteryperc +++ b/desktopenvs/hyprland/eww/scripts/batteryperc @@ -1,37 +1,44 @@ #!/bin/bash -perc=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | awk -F: '{print $2}' | xargs) -state=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep state | awk -F: '{print $2}' | xargs) +# 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}') -num=$(echo ${perc::-1}) - -if [ $state == "charging" ]; then - echo "󰂄 ${perc}" -else - #echo "󰁹 ${perc}" - - 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 +# 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 + diff --git a/desktopenvs/hyprland/eww/scripts/batteryperc.old b/desktopenvs/hyprland/eww/scripts/batteryperc.old new file mode 100644 index 0000000..d72cb8b --- /dev/null +++ b/desktopenvs/hyprland/eww/scripts/batteryperc.old @@ -0,0 +1,37 @@ +#!/bin/bash + +perc=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | awk -F: '{print $2}' | xargs) +state=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep state | awk -F: '{print $2}' | xargs) + +num=$(echo ${perc::-1}) + +if [ $state == "charging" ]; then + echo "󰂄 ${perc}" +else + #echo "󰁹 ${perc}" + + 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 diff --git a/desktopenvs/hyprland/hypr/hyprlock.conf b/desktopenvs/hyprland/hypr/hyprlock.conf index a9c8cc9..eedf683 100644 --- a/desktopenvs/hyprland/hypr/hyprlock.conf +++ b/desktopenvs/hyprland/hypr/hyprlock.conf @@ -117,7 +117,7 @@ label { # weather edit specific location. Note, this cause a 2-4 seconds delay in locking label { monitor = - text = cmd[update:3600000] [ -f ~/.cache/.weather_cache ] && cat ~/.cache/.weather_cache + text = cmd[update:10000] sh ~/Dotfiles/desktopenvs/hyprland/eww/scripts/batteryperc color = $color12 font_size = 24 font_family = Agave NerdFont 10