浏览代码

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 9 年之前
父节点
当前提交
b8b8762915
共有 1 个文件被更改,包括 1 次插入1 次删除
  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() {
   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
   }
   }