battery widget fails elegantly now

This commit is contained in:
Alexander Bocken 2020-11-07 19:07:02 +01:00
parent 8d9d340641
commit bd73882755
Signed by: Alexander
GPG Key ID: 1D237BE83F9B05E8

View File

@ -6,7 +6,7 @@
case $BLOCK_BUTTON in case $BLOCK_BUTTON in
3) notify-send "🔋 Battery module" "🔋: discharging 3) notify-send "🔋 Battery module" "🔋: discharging
🛑: not charging 🛑: not charging
: stagnant charge 🔄;: stagnant charge
🔌: charging 🔌: charging
⚡: charged ⚡: charged
❗: battery very low!" ;; ❗: battery very low!" ;;
@ -16,12 +16,13 @@ esac
for battery in /sys/class/power_supply/BAT? for battery in /sys/class/power_supply/BAT?
do do
# Get its remaining capacity and charge status. # Get its remaining capacity and charge status.
capacity=$(cat "$battery"/capacity) || break capacity=$(cat "$battery"/capacity 2>/dev/null)
status=$(sed "s/Discharging/🔋/;s/Not charging/🛑/;s/Charging/🔌/;s/Unknown/♻️/;s/Full/⚡/" "$battery"/status) status=$(sed "s/Discharging/🔋/;s/Not charging/🛑/;s/Charging/🔌/;s/Unknown/🔋/;s/Full/⚡/" "$battery"/status)
# If it is discharging and 25% or less, we will add a ❗ as a warning. # If it is discharging and 25% or less, we will add a ❗ as a warning.
[ "$capacity" -le 25 ] && [ "$status" = "🔋" ] && warn="❗" [ "$capacity" -le 25 ] && [ "$status" = "🔋" ] && warn="❗"
[ "$capacity" -gt 100 ] && exit #do not print misreads
printf "%s%s%s%% " "$status" "$warn" "$capacity" [ -z "$capacity" ] && exit #if battery fails during reading, quit
printf "%s%s%s%%\n" "$status" "$warn" "$capacity"
unset warn unset warn
done | sed 's/ *$//' done | sed 's/ *$//'