Browse Source

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
Bruce Weirdan 8 years ago
parent
commit
b8b8762915
1 changed files with 1 additions and 1 deletions
  1. 1 1
      plugins/battery/battery.plugin.zsh

+ 1 - 1
plugins/battery/battery.plugin.zsh

@@ -117,7 +117,7 @@ elif [[ "$OSTYPE" = linux*  ]]; then
 
   function battery_pct() {
     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
   }