From 11c05e63408b6075b44f76b46d2f1d399d2f5950 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 13 Mar 2024 22:21:08 +0200 Subject: Fix not showing correct battery state --- battery.sh | 176 +++++++++++++++++++++++++++++-------------------------------- 1 file changed, 85 insertions(+), 91 deletions(-) (limited to 'battery.sh') diff --git a/battery.sh b/battery.sh index a6c18f4..fcd6a7d 100755 --- a/battery.sh +++ b/battery.sh @@ -23,14 +23,94 @@ else CHARGE=$(upower -i "$BATTERY_DEVICES" | awk '/percentage/ {print $2}' | sed 's/%//') BAT_STATE=$(upower -i "$BATTERY_DEVICES" | awk '/state/ {print $2}') - # Laptop is on battery, will show info about charging/discharging + # Charging if [[ $BAT_STATE == *'discharging'* ]]; then + if [ "$CHARGE" -eq 0 ]; then + ICON="󰂎" + COLOR="%{F#fc8894}" + elif [ "$CHARGE" -gt 0 ] && [ "$CHARGE" -le 10 ]; then + ICON="󰁺" + COLOR="%{F#fc8894}" + elif [ "$CHARGE" -gt 10 ] && [ "$CHARGE" -le 20 ]; then + ICON="󰁻" + COLOR="%{F#fc8894}" + #notify-send -u critical "Battery Warning" "20% charge remaining!" + elif [ "$CHARGE" -gt 20 ] && [ "$CHARGE" -le 30 ]; then + ICON="󰁼" + COLOR="%{F#e3e3e3}" + elif [ "$CHARGE" -gt 30 ] && [ "$CHARGE" -le 40 ]; then + ICON="󰁾" + COLOR="%{F#e3e3e3}" + elif [ "$CHARGE" -gt 40 ] && [ "$CHARGE" -le 50 ]; then + ICON="󰁿" + COLOR="%{F#e3e3e3}" + elif [ "$CHARGE" -gt 50 ] && [ "$CHARGE" -le 60 ]; then + ICON="󰁿" + COLOR="%{F#e3e3e3}" + elif [ "$CHARGE" -gt 60 ] && [ "$CHARGE" -le 70 ]; then + ICON="󰂀" + COLOR="%{F#e3e3e3}" + elif [ "$CHARGE" -gt 70 ] && [ "$CHARGE" -le 80 ]; then + ICON="󰂁" + COLOR="%{F#8be09c}" + elif [ "$CHARGE" -gt 80 ] && [ "$CHARGE" -le 90 ]; then + ICON="󰂂" + COLOR="%{F#8be09c}" + elif [ "$CHARGE" -gt 90 ]; then + ICON="󰁹" + COLOR="%{F#8be09c}" + fi + + # Discharging + elif [[ $BAT_STATE == *'charging'* ]]; then + if [ "$CHARGE" -eq 0 ]; then + ICON="󰢟" + COLOR="%{F#fc8894}" + elif [ "$CHARGE" -gt 0 ] && [ "$CHARGE" -le 10 ]; then + ICON="󰢜" + COLOR="%{F#fc8894}" + elif [ "$CHARGE" -gt 10 ] && [ "$CHARGE" -le 20 ]; then + ICON="󰂆" + COLOR="%{F#fc8894}" + elif [ "$CHARGE" -gt 20 ] && [ "$CHARGE" -le 30 ]; then + ICON="󰂇" + COLOR="%{F#e3e3e3}" + elif [ "$CHARGE" -gt 30 ] && [ "$CHARGE" -le 40 ]; then + ICON="󰂈" + COLOR="%{F#e3e3e3}" + elif [ "$CHARGE" -gt 40 ] && [ "$CHARGE" -le 50 ]; then + ICON="󰢝" + COLOR="%{F#e3e3e3}" + elif [ "$CHARGE" -gt 50 ] && [ "$CHARGE" -le 60 ]; then + ICON="󰂉" + COLOR="%{F#e3e3e3}" + elif [ "$CHARGE" -gt 60 ] && [ "$CHARGE" -le 70 ]; then + ICON="󰢞" + COLOR="%{F#e3e3e3}" + elif [ "$CHARGE" -gt 70 ] && [ "$CHARGE" -le 80 ]; then + ICON="󰂊" + COLOR="%{F#8be09c}" + elif [ "$CHARGE" -gt 80 ] && [ "$CHARGE" -le 90 ]; then + ICON="󰂋" + COLOR="%{F#8be09c}" + elif [ "$CHARGE" -gt 90 ]; then + ICON="󰂅" + COLOR="%{F#8be09c}" + fi + + # Fully charged + elif [[ $BAT_STATE == *'fully-charged'* ]]; then + ICON="󰂄" + COLOR="%{F#8be09c}" + notify-send -u low "Battery Info" "Your battery is fully charged" + elif [[ $BAT_STATE == *'unknown'* ]]; then ICON="󰂑" - COLOR="" - STRING="$COLOR$ICON Battery: $CHARGE%" - echo "$STRING" - exit 0 fi + + STRING="$COLOR$ICON $CHARGE%" + + # Final formatted output. + echo "$STRING" fi else # If no battery information is available @@ -43,89 +123,3 @@ else fi fi fi - -# Charging -if [[ $BAT_STATE == *'discharging'* ]]; then - if [ "$CHARGE" -eq 0 ]; then - ICON="󰂎" - COLOR="%{F#fc8894}" - elif [ "$CHARGE" -gt 0 ] && [ "$CHARGE" -le 10 ]; then - ICON="󰁺" - COLOR="%{F#fc8894}" - elif [ "$CHARGE" -gt 10 ] && [ "$CHARGE" -le 20 ]; then - ICON="󰁻" - COLOR="%{F#fc8894}" - #notify-send -u critical "Battery Warning" "20% charge remaining!" - elif [ "$CHARGE" -gt 20 ] && [ "$CHARGE" -le 30 ]; then - ICON="󰁼" - COLOR="%{F#e3e3e3}" - elif [ "$CHARGE" -gt 30 ] && [ "$CHARGE" -le 40 ]; then - ICON="󰁾" - COLOR="%{F#e3e3e3}" - elif [ "$CHARGE" -gt 40 ] && [ "$CHARGE" -le 50 ]; then - ICON="󰁿" - COLOR="%{F#e3e3e3}" - elif [ "$CHARGE" -gt 50 ] && [ "$CHARGE" -le 60 ]; then - ICON="󰁿" - COLOR="%{F#e3e3e3}" - elif [ "$CHARGE" -gt 60 ] && [ "$CHARGE" -le 70 ]; then - ICON="󰂀" - COLOR="%{F#e3e3e3}" - elif [ "$CHARGE" -gt 70 ] && [ "$CHARGE" -le 80 ]; then - ICON="󰂁" - COLOR="%{F#8be09c}" - elif [ "$CHARGE" -gt 80 ] && [ "$CHARGE" -le 90 ]; then - ICON="󰂂" - COLOR="%{F#8be09c}" - elif [ "$CHARGE" -gt 90 ]; then - ICON="󰁹" - COLOR="%{F#8be09c}" - fi - # Discharging -elif [[ $BAT_STATE == *'charging'* ]]; then - if [ "$CHARGE" -eq 0 ]; then - ICON="󰢟" - COLOR="%{F#fc8894}" - elif [ "$CHARGE" -gt 0 ] && [ "$CHARGE" -le 10 ]; then - ICON="󰢜" - COLOR="%{F#fc8894}" - elif [ "$CHARGE" -gt 10 ] && [ "$CHARGE" -le 20 ]; then - ICON="󰂆" - COLOR="%{F#fc8894}" - elif [ "$CHARGE" -gt 20 ] && [ "$CHARGE" -le 30 ]; then - ICON="󰂇" - COLOR="%{F#e3e3e3}" - elif [ "$CHARGE" -gt 30 ] && [ "$CHARGE" -le 40 ]; then - ICON="󰂈" - COLOR="%{F#e3e3e3}" - elif [ "$CHARGE" -gt 40 ] && [ "$CHARGE" -le 50 ]; then - ICON="󰢝" - COLOR="%{F#e3e3e3}" - elif [ "$CHARGE" -gt 50 ] && [ "$CHARGE" -le 60 ]; then - ICON="󰂉" - COLOR="%{F#e3e3e3}" - elif [ "$CHARGE" -gt 60 ] && [ "$CHARGE" -le 70 ]; then - ICON="󰢞" - COLOR="%{F#e3e3e3}" - elif [ "$CHARGE" -gt 70 ] && [ "$CHARGE" -le 80 ]; then - ICON="󰂊" - COLOR="%{F#8be09c}" - elif [ "$CHARGE" -gt 80 ] && [ "$CHARGE" -le 90 ]; then - ICON="󰂋" - COLOR="%{F#8be09c}" - elif [ "$CHARGE" -gt 90 ]; then - ICON="󰂅" - COLOR="%{F#8be09c}" - fi -elif [[ $BAT_STATE == *'fully-charged'* ]]; then - ICON="󰂄" - COLOR="%{F#8be09c}" - #notify-send -u low "Battery Info" "Your battery is fully charged" -elif [[ $BAT_STATE == *'unknown'* ]]; then - ICON="󰂑" -fi - -STRING="$COLOR$ICON $CHARGE%" - -# Final formatted output. -echo "$STRING" -- cgit v1.2.3