File tree Expand file tree Collapse file tree 3 files changed +15
-16
lines changed Expand file tree Collapse file tree 3 files changed +15
-16
lines changed Original file line number Diff line number Diff line change @@ -9,19 +9,19 @@ print_battery_percentage() {
9
9
if command_exists " pmset" ; then
10
10
pmset -g batt | grep -o " [0-9]\{1,3\}%"
11
11
elif command_exists " upower" ; then
12
- local batteries=( $( upower -e | grep battery ) )
13
- if [ -z " $batteries " ]; then
12
+ local battery= $( upower -e | grep -m 1 battery )
13
+ if [ -z " $battery " ]; then
14
14
return
15
15
fi
16
16
local energy
17
17
local energy_full
18
- for battery in ${batteries[@]} ; do
19
- energy =$( upower -i $battery | awk -v nrg =" $energy " ' /energy:/ {print nrg +$2}' )
20
- energy_full= $( upower -i $battery | awk -v nrgfull= " $energy_full " ' /energy-full:/ {print nrgfull+$2} ' )
21
- done
22
- echo $energy $energy_full | awk ' {printf("%d%%", ($1/$2)*100)} '
18
+ energy= $( upower -i $ battery | awk -v nrg= " $energy " ' /energy:/ {print nrg+$2} ' )
19
+ energy_full =$( upower -i $battery | awk -v nrgfull =" $energy_full " ' /energy-full :/ {print nrgfull +$2}' )
20
+ if [ -n " $energy " ] && [ -n " $energy_full " ] ; then
21
+ echo $energy $energy_full | awk ' {printf("%d%%", ($1/$2)*100)} '
22
+ fi
23
23
elif command_exists " acpi" ; then
24
- acpi -b | grep -Eo " [0-9]+%"
24
+ acpi -b | grep -m 1 - Eo " [0-9]+%"
25
25
fi
26
26
}
27
27
Original file line number Diff line number Diff line change @@ -43,7 +43,7 @@ print_battery_remain() {
43
43
if command_exists " pmset" ; then
44
44
pmset_battery_remaining_time
45
45
elif command_exists " upower" ; then
46
- battery=$( upower -e | grep battery | head -1 )
46
+ battery=$( upower -e | grep -m 1 battery )
47
47
if is_chrome; then
48
48
if battery_discharging; then
49
49
upower -i $battery | grep ' time to empty' | awk ' {printf "- %s %s left", $4, $5}'
@@ -54,7 +54,7 @@ print_battery_remain() {
54
54
upower -i $battery | grep -E ' (remain|time to empty)' | awk ' {print $(NF-1)}'
55
55
fi
56
56
elif command_exists " acpi" ; then
57
- acpi -b | grep -Eo " [0-9]+:[0-9]+:[0-9]+"
57
+ acpi -b | grep -m 1 - Eo " [0-9]+:[0-9]+:[0-9]+"
58
58
fi
59
59
}
60
60
@@ -66,7 +66,7 @@ print_battery_full() {
66
66
if command_exists " pmset" ; then
67
67
pmset_battery_remaining_time
68
68
elif command_exists " upower" ; then
69
- battery=$( upower -e | grep battery | head -1 )
69
+ battery=$( upower -e | grep -m 1 battery )
70
70
upower -i $battery | grep ' time to full' | awk ' {printf "- %s %s till full", $4, $5}'
71
71
fi
72
72
}
Original file line number Diff line number Diff line change @@ -31,11 +31,10 @@ battery_status() {
31
31
if command_exists " pmset" ; then
32
32
pmset -g batt | awk -F ' ; *' ' NR==2 { print $2 }'
33
33
elif command_exists " upower" ; then
34
- # sort order: attached, charging, discharging
35
- for battery in $( upower -e | grep battery) ; do
36
- upower -i $battery | grep state | awk ' {print $2}'
37
- done | sort | head -1
34
+ local battery
35
+ battery=$( upower -e | grep -m 1 battery)
36
+ upower -i $battery | awk ' /state/ {print $2}'
38
37
elif command_exists " acpi" ; then
39
- acpi -b | grep -oi ' discharging ' | awk ' {print tolower($0) }'
38
+ acpi -b | awk ' {gsub(/,/, ""); print tolower($3); exit }'
40
39
fi
41
40
}
You can’t perform that action at this time.
0 commit comments