blob: 04a3cf7b1fde6a8dc6c95bf3ad28ac06eee9350d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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"
|