From bd738827558e13dc4d6dcc1793d10882cc162338 Mon Sep 17 00:00:00 2001 From: Alexander Bocken Date: Sat, 7 Nov 2020 19:07:02 +0100 Subject: [PATCH] battery widget fails elegantly now --- .local/bin/statusbar/battery | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.local/bin/statusbar/battery b/.local/bin/statusbar/battery index 97868bb..cc01f20 100755 --- a/.local/bin/statusbar/battery +++ b/.local/bin/statusbar/battery @@ -6,7 +6,7 @@ case $BLOCK_BUTTON in 3) notify-send "🔋 Battery module" "🔋: discharging 🛑: not charging -♻: stagnant charge +🔄;: stagnant charge 🔌: charging ⚡: charged ❗: battery very low!" ;; @@ -16,12 +16,13 @@ esac for battery in /sys/class/power_supply/BAT? do # Get its remaining capacity and charge status. - capacity=$(cat "$battery"/capacity) || break - status=$(sed "s/Discharging/🔋/;s/Not charging/🛑/;s/Charging/🔌/;s/Unknown/♻️/;s/Full/⚡/" "$battery"/status) + capacity=$(cat "$battery"/capacity 2>/dev/null) + 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. [ "$capacity" -le 25 ] && [ "$status" = "🔋" ] && warn="❗" - - printf "%s%s%s%% " "$status" "$warn" "$capacity" + [ "$capacity" -gt 100 ] && exit #do not print misreads + [ -z "$capacity" ] && exit #if battery fails during reading, quit + printf "%s%s%s%%\n" "$status" "$warn" "$capacity" unset warn done | sed 's/ *$//'