summaryrefslogtreecommitdiff
path: root/.local/bin/statusbar/battery
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/statusbar/battery')
-rwxr-xr-x.local/bin/statusbar/battery34
1 files changed, 34 insertions, 0 deletions
diff --git a/.local/bin/statusbar/battery b/.local/bin/statusbar/battery
new file mode 100755
index 0000000..f42d096
--- /dev/null
+++ b/.local/bin/statusbar/battery
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# Prints all batteries, their percentage remaining and an emoji corresponding
+# to charge status (🔌 for plugged up, 🔋 for discharging on battery, etc.).
+
+case $BLOCK_BUTTON in
+ 3) notify-send "🔋 Battery module" "🔋: discharging
+🛑: not charging
+♻: stagnant charge
+🔌: charging
+⚡: charged
+❗: battery very low!
+- Scroll to change adjust xbacklight." ;;
+ 4) xbacklight -inc 10 ;;
+ 5) xbacklight -dec 10 ;;
+ 6) "$TERMINAL" -e "$EDITOR" "$0" ;;
+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.
+for battery in /sys/class/power_supply/BAT?
+do
+ # Get its remaining capacity and charge status.
+ capacity=$(cat "$battery"/capacity 2>/dev/null) || break
+ status=$(sed "s/[Dd]ischarging/🔋/;s/[Nn]ot charging/🛑/;s/[Cc]harging/🔌/;s/[Uu]nknown/♻️/;s/[Ff]ull/⚡/" "$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"
+ unset warn
+done | sed 's/ *$//'