diff options
Diffstat (limited to 'scripts/.local/bin/sb-battery')
| -rwxr-xr-x | scripts/.local/bin/sb-battery | 23 |
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" |
