Battery: [Linux] Rewrite battery

This commit is contained in:
Dylan Araps 2016-10-26 17:56:50 +11:00
parent 931660d31a
commit b23ccd6709
1 changed files with 16 additions and 35 deletions

View File

@ -1618,44 +1618,25 @@ getdisk() {
getbattery() { getbattery() {
case "$os" in case "$os" in
"Linux") "Linux")
if [ "$(ls /sys/class/power_supply/)" ]; then # We use 'prin' here and exit the function early so that we can
# Set the index to the battery number. # do multi battery support with a single battery per line.
case "$battery_num" in if [ -f /sys/class/power_supply/**/capacity ]; then
"all") battery_num="*" index=0 ;; for bat in "/sys/class/power_supply/BAT"*; do
*) index="$battery_num" ;; capacity="$(< ${bat}/capacity)"
esac status="$(< ${bat}/status)"
battery="${capacity}% [${status}]"
batteries=("$(cat /sys/class/power_supply/BAT$battery_num/capacity)")
battery_state=("$(cat /sys/class/power_supply/BAT${battery_num}/status)")
# Get the subtitle and reassign it so it doesn't change.
title="$subtitle"
# If shorthand is on, print each value on the same line
if [ "$battery_shorthand" == "on" ]; then
battery="${batteries[*]}"
battery="${battery// /%, }"
battery="${battery}%"
else
if [ "${#batteries[@]}" -gt 1 ]; then
unset battery
# Print each battery on a separate line.
for bat in "${batteries[@]}"; do
case "$battery_display" in case "$battery_display" in
"bar") prin "${title}${index:-0}" "$(bar "${bat/'%'}" 100)" ;; "bar") battery="$(bar "$capacity" 100)" ;;
"infobar") prin "${title}${index:-0}" "${bat}% $(bar "${bat/'%'}" 100)" ;; "infobar") battery+=" $(bar "$capacity" 100)" ;;
"barinfo") prin "${title}${index:-0}" "$(bar "${bat/'%'}" 100) ${bat}%" ;; "barinfo") battery="$(bar "$capacity" 100) ${battery}" ;;
*) prin "${title}${index:-0}" "${bat}%" ;;
esac esac
index="$((index+=1))"
prin "${subtitle}${bat: -1}" "$battery"
done done
fi
unset battery
return return
fi
battery="${batteries[0]}%"
fi
fi
;; ;;
"BSD") "BSD")