@@ -52,44 +52,49 @@ pmset_battery_remaining_time() {
52
52
fi
53
53
}
54
54
55
- print_battery_remain () {
56
- if command_exists " pmset" ; then
57
- pmset_battery_remaining_time
58
- elif command_exists " upower" ; then
59
- battery=$( upower -e | grep -E ' battery|DisplayDevice' | tail -n1)
60
- if is_chrome; then
61
- if battery_discharging; then
62
- upower -i $battery | grep ' time to empty' | awk ' {printf "- %s %s left", $4, $5}'
63
- else
64
- upower -i $battery | grep ' time to full' | awk ' {printf "- %s %s till full", $4, $5}'
65
- fi
55
+ upower_battery_remaining_time () {
56
+ battery=$( upower -e | grep -E ' battery|DisplayDevice' | tail -n1)
57
+ if battery_discharging; then
58
+ local remaining_time
59
+ remaining_time=$( upower -i " $battery " | grep -E ' (remain|time to empty)' )
60
+ if $short ; then
61
+ echo " $remaining_time " | awk ' {printf "%s %s", $(NF-1), $(NF)}'
66
62
else
67
- upower -i $battery | grep -E ' (remain|time to empty)' | awk ' {print $(NF-1)}'
63
+ echo " $remaining_time " | awk ' {printf "%s %s left", $(NF-1), $(NF)}'
64
+ fi
65
+ elif battery_charged; then
66
+ if $short ; then
67
+ echo " "
68
+ else
69
+ echo " charged"
70
+ fi
71
+ else
72
+ local remaining_time
73
+ remaining_time=$( upower -i " $battery " | grep -E ' time to full' )
74
+ if $short ; then
75
+ echo " $remaining_time " | awk ' {printf "%s %s", $(NF-1), $(NF)}'
76
+ else
77
+ echo " $remaining_time " | awk ' {printf "%s %s to full", $(NF-1), $(NF)}'
68
78
fi
69
- elif command_exists " acpi" ; then
70
- acpi -b | grep -m 1 -Eo " [0-9]+:[0-9]+:[0-9]+"
71
79
fi
72
80
}
73
81
74
- print_battery_full () {
75
- if ! $short ; then
76
- return
77
- fi
82
+ acpi_battery_remaining_time () {
83
+ acpi -b | grep -m 1 -Eo " [0-9]+:[0-9]+:[0-9]+"
84
+ }
78
85
86
+ print_battery_remain () {
79
87
if command_exists " pmset" ; then
80
88
pmset_battery_remaining_time
81
89
elif command_exists " upower" ; then
82
- battery=$( upower -e | grep -E ' battery|DisplayDevice' | tail -n1)
83
- upower -i $battery | grep ' time to full' | awk ' {printf "- %s %s till full", $4, $5}'
90
+ upower_battery_remaining_time
91
+ elif command_exists " acpi" ; then
92
+ acpi_battery_remaining_time
84
93
fi
85
94
}
86
95
87
96
main () {
88
97
get_remain_settings
89
- if battery_discharging; then
90
- print_battery_remain
91
- else
92
- print_battery_full
93
- fi
98
+ print_battery_remain
94
99
}
95
100
main
0 commit comments