sb-battery: notification on very low battery level

This commit is contained in:
2026-06-02 12:57:34 +02:00
parent 0cae5063bc
commit 2290b46119
+17 -1
View File
@@ -28,13 +28,29 @@ do
continue continue
fi fi
# Critical low-battery notification at the "!" level (<=5% and discharging).
# Notify only once per discharge episode: a flag in /tmp suppresses repeats
# and is cleared the moment we stop discharging (plug in) or on reboot
# (since /tmp is wiped), so the next low event notifies again.
lowflag="/tmp/battery_low_notified_${battery##*/}"
if grep -q "Discharging" "$battery"/status; then
if [ "$capacity" -le 5 ] && [ ! -f "$lowflag" ]; then
notify-send -u critical "❗ Battery critically low" \
"Battery at ${capacity}%. Plug in the laptop now."
touch "$lowflag"
fi
else
# Plugged in (charging / not charging / full): arm for the next episode.
rm -f "$lowflag"
fi
unset status unset status
status=$(sed "s/Not charging/🛑/" "$battery"/status) status=$(sed "s/Not charging/🛑/" "$battery"/status)
# Center picture around the actual capacity. # Center picture around the actual capacity.
# Displayable capacities: 0, 1/4, 1/2, 3/4, 1 -> intervall of length 25% centered around displaycategory # Displayable capacities: 0, 1/4, 1/2, 3/4, 1 -> intervall of length 25% centered around displaycategory
# -> +- 12.5% for every level # -> +- 12.5% for every level
if grep -qE "(Discharging|Charging)" "$battery"/status; then if grep -qE "(Discharging|Charging)" "$battery"/status; then
status= status=" "
[ "$capacity" -le 87 ] && [ "$capacity" -le 87 ] &&
status=" " status=" "
[ "$capacity" -le 63 ] && [ "$capacity" -le 63 ] &&