Commit b8b87629 authored by Bruce Weirdan's avatar Bruce Weirdan Committed by Marc Cornellà
Browse files

Report only active battery (#4726)

On a system with multiple batteries (like thinkpads) report percentage
and time remaining only for the active battery (the one being
discharged).

Ideally we should report all batteries, but acpi only shows time remaining
for the active battery. Also callers of these functions expect a single
return value. This is still better than reporting 596% remaining (like it
did on my laptop).

For the reference, the output of acpi command with multiple batteries looks
like this:

    Battery 0: Unknown, 5%
    Battery 1: Discharging, 86%, 03:14:04 remaining
parent 5f6f7b6e
...@@ -117,7 +117,7 @@ elif [[ "$OSTYPE" = linux* ]]; then ...@@ -117,7 +117,7 @@ elif [[ "$OSTYPE" = linux* ]]; then
function battery_pct() { function battery_pct() {
if (( $+commands[acpi] )); then if (( $+commands[acpi] )); then
acpi 2>/dev/null | cut -f2 -d ',' | tr -cd '[:digit:]' acpi 2>/dev/null | command grep -E '^Battery.*(Disc|C)harging' | cut -f2 -d ',' | tr -cd '[:digit:]'
fi fi
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment