summaryrefslogtreecommitdiff
path: root/scripts/.local/bin/sb-battery
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/.local/bin/sb-battery')
-rwxr-xr-xscripts/.local/bin/sb-battery23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/.local/bin/sb-battery b/scripts/.local/bin/sb-battery
new file mode 100755
index 0000000..04a3cf7
--- /dev/null
+++ b/scripts/.local/bin/sb-battery
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Prints all batteries, their percentage remaining
+
+# Loop through all attached batteries and format the info
+for battery in /sys/class/power_supply/BAT?*; do
+ # If non-first battery, print a space separator.
+ [ -n "${capacity+x}" ] && printf " "
+ # Sets up the status and capacity
+ case "$(cat "$battery/status" 2>&1)" in
+ "Full") status="F" ;;
+ "Discharging") status="-" ;;
+ "Charging") status="+" ;;
+ "Not charging") status="" ;;
+ "Unknown") status="?" ;;
+ *) exit 1 ;;
+ esac
+ capacity="$(cat "$battery/capacity" 2>&1)"
+ # Will make a warn variable if discharging and low
+ [ "$status" = "D" ] && [ "$capacity" -le 25 ] && warn="!!!"
+ # Prints the info
+ printf "%d%%%s%s" "$capacity" "$status" "$warn" ; unset warn
+done && printf "\\n"