voidrice/.local/bin/statusbar/battery

32 lines
1.1 KiB
Text
Raw Normal View History

#!/bin/sh
# Prints all batteries, their percentage remaining and an emoji corresponding
2020-03-29 18:16:07 +00:00
# to charge status (🔌 for plugged up, 🔋 for discharging on battery, etc.).
2019-11-23 21:23:24 +00:00
case $BLOCK_BUTTON in
3) notify-send "🔋 Battery module" "🔋: discharging
2019-11-23 21:23:24 +00:00
🛑: not charging
♻: stagnant charge
🔌: charging
⚡: charged
❗: battery very low!" ;;
6) "$TERMINAL" -e "$EDITOR" "$0" ;;
2019-11-23 21:23:24 +00:00
esac
# acpi alternative
# acpi | sed "s/Battery [0-9]: //;s/[Dd]ischarging, /🔋/;s/[Nn]ot charging, /🛑/;s/[Cc]harging, /🔌/;s/[Uu]nknown, /♻️/;s/[Ff]ull, /⚡/;s/ \(remaining\|until charged\)//"; exit
# Loop through all attached batteries.
2020-02-28 21:34:46 +00:00
for battery in /sys/class/power_supply/BAT?
do
# Get its remaining capacity and charge status.
2020-03-31 22:53:43 +00:00
capacity=$(cat "$battery"/capacity) || break
status=$(sed "s/[Dd]ischarging/🔋/;s/[Nn]ot charging/🛑/;s/[Cc]harging/🔌/;s/[Uu]nknown/♻️/;s/[Ff]ull/⚡/" "$battery"/status)
2019-11-23 21:23:24 +00:00
# If it is discharging and 25% or less, we will add a ❗ as a warning.
2020-03-29 18:16:07 +00:00
[ "$capacity" -le 25 ] && [ "$status" = "🔋" ] && warn="❗"
2019-11-23 21:23:24 +00:00
printf "%s%s%s%% " "$status" "$warn" "$capacity"
unset warn
2020-04-25 12:37:38 +00:00
done | sed 's/ *$//'