Skip to content

Commit 8d5adf9

Browse files
skttmartinbeentjes
authored andcommitted
Use DisplayDevice if available (#67)
For laptops with multiple batteries, DisplayDevice should be available, otherwise stick to the old behaviour. See https://upower.freedesktop.org/docs/UPower.html#id-1.2.3.8.5
1 parent db0698e commit 8d5adf9

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

scripts/battery_percentage.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ print_battery_percentage() {
99
if command_exists "pmset"; then
1010
pmset -g batt | grep -o "[0-9]\{1,3\}%"
1111
elif command_exists "upower"; then
12-
local battery=$(upower -e | grep -m 1 battery)
12+
# use DisplayDevice if available otherwise battery
13+
local battery=$(upower -e | grep -E 'battery|DisplayDevice'| tail -n1)
1314
if [ -z "$battery" ]; then
1415
return
1516
fi

scripts/battery_remain.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ print_battery_remain() {
4343
if command_exists "pmset"; then
4444
pmset_battery_remaining_time
4545
elif command_exists "upower"; then
46-
battery=$(upower -e | grep -m 1 battery)
46+
battery=$(upower -e | grep -E 'battery|DisplayDevice'| tail -n1)
4747
if is_chrome; then
4848
if battery_discharging; then
4949
upower -i $battery | grep 'time to empty' | awk '{printf "- %s %s left", $4, $5}'
@@ -66,7 +66,7 @@ print_battery_full() {
6666
if command_exists "pmset"; then
6767
pmset_battery_remaining_time
6868
elif command_exists "upower"; then
69-
battery=$(upower -e | grep -m 1 battery)
69+
battery=$(upower -e | grep -E 'battery|DisplayDevice'| tail -n1)
7070
upower -i $battery | grep 'time to full' | awk '{printf "- %s %s till full", $4, $5}'
7171
fi
7272
}

scripts/helpers.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ battery_status() {
3232
pmset -g batt | awk -F '; *' 'NR==2 { print $2 }'
3333
elif command_exists "upower"; then
3434
local battery
35-
battery=$(upower -e | grep -m 1 battery)
35+
battery=$(upower -e | grep -E 'battery|DisplayDevice'| tail -n1)
3636
upower -i $battery | awk '/state/ {print $2}'
3737
elif command_exists "acpi"; then
3838
acpi -b | awk '{gsub(/,/, ""); print tolower($3); exit}'

0 commit comments

Comments
 (0)