summaryrefslogtreecommitdiff
path: root/plugins/battery/battery.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/battery/battery.plugin.zsh')
-rw-r--r--plugins/battery/battery.plugin.zsh33
1 files changed, 19 insertions, 14 deletions
diff --git a/plugins/battery/battery.plugin.zsh b/plugins/battery/battery.plugin.zsh
index 16ad3e651..ae2261ecd 100644
--- a/plugins/battery/battery.plugin.zsh
+++ b/plugins/battery/battery.plugin.zsh
@@ -17,12 +17,16 @@ if [[ $(uname) == "Darwin" ]] ; then
integer i=$(((currentcapacity/maxcapacity) * 100))
echo $i
}
+
+ function plugged_in() {
+ [ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ Yes') -eq 1 ]
+ }
function battery_pct_remaining() {
- if [[ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]] ; then
- battery_pct
- else
+ if plugged_in ; then
echo "External Power"
+ else
+ battery_pct
fi
}
@@ -58,9 +62,19 @@ if [[ $(uname) == "Darwin" ]] ; then
elif [[ $(uname) == "Linux" ]] ; then
+ function battery_is_charging() {
+ ! [[ $(acpi 2&>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]]
+ }
+
+ function battery_pct() {
+ echo "$(acpi | cut -f2 -d ',' | tr -cd '[:digit:]')"
+ }
+
function battery_pct_remaining() {
- if [[ $(acpi 2&>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] ; then
- echo "$(acpi | cut -f2 -d ',' | tr -cd '[:digit:]')"
+ if [ ! $(battery_is_charging) ] ; then
+ battery_pct
+ else
+ echo "External Power"
fi
}
@@ -86,15 +100,6 @@ elif [[ $(uname) == "Linux" ]] ; then
fi
}
- function battery_pct() {
- # todo for on linux
- }
-
- function battery_is_charging() {
- # todo on linux
- false
- }
-
else
# Empty functions so we don't cause errors in prompts
function battery_pct_remaining() {