summaryrefslogtreecommitdiff
path: root/plugins/battery
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2026-01-04 22:47:54 -0800
committerTuowen Zhao <ztuowen@gmail.com>2026-01-04 22:47:54 -0800
commit2aa4cb7a52b28722816ecfd55f3b06293332c55c (patch)
treef02a9f3d59d109c70caf932a24e43368994e0e8c /plugins/battery
parent7e951c254e779ff0620537cf43ca69dd878387b4 (diff)
parentd23d3ea69fdb839088e6e5589557cce77b34aaf8 (diff)
downloadzsh-master.tar.gz
zsh-master.tar.bz2
zsh-master.zip
Merge remote-tracking branch 'github/master'HEADmaster
Diffstat (limited to 'plugins/battery')
-rw-r--r--plugins/battery/README.md13
-rw-r--r--plugins/battery/battery.plugin.zsh10
2 files changed, 22 insertions, 1 deletions
diff --git a/plugins/battery/README.md b/plugins/battery/README.md
index 18e5bd882..07e4e0b16 100644
--- a/plugins/battery/README.md
+++ b/plugins/battery/README.md
@@ -12,6 +12,19 @@ Then, add the `battery_pct_prompt` function to your custom theme. For example:
RPROMPT='$(battery_pct_prompt) ...'
```
+Also, you set the `BATTERY_CHARGING` variable to your favor.
+For example:
+
+```zsh
+BATTERY_CHARGING="⚡️"
+```
+
+You can see the power of your charger using the following setting (MacOS only)
+
+```zsh
+BATTERY_SHOW_WATTS=true
+```
+
## Requirements
- On Linux, you must have the `acpi` or `acpitool` commands installed on your operating system.
diff --git a/plugins/battery/battery.plugin.zsh b/plugins/battery/battery.plugin.zsh
index 1d3d529a3..c7618f6b3 100644
--- a/plugins/battery/battery.plugin.zsh
+++ b/plugins/battery/battery.plugin.zsh
@@ -17,8 +17,13 @@
# Modified to add support for OpenBSD #
###########################################
+: ${BATTERY_SHOW_WATTS:=false}
+
if [[ "$OSTYPE" = darwin* ]]; then
+ function get_charger_power() {
+ echo "$(ioreg -rc AppleSmartBattery | grep -o '"Watts"=[0-9]\+' | head -1 | grep -o '[0-9]\+')W "
+ }
function battery_is_charging() {
ioreg -rc AppleSmartBattery | command grep -q '^.*"ExternalConnected"\ =\ Yes'
}
@@ -58,7 +63,10 @@ if [[ "$OSTYPE" = darwin* ]]; then
fi
echo "%{$fg[$color]%}[${battery_pct}%%]%{$reset_color%}"
else
- echo "∞"
+ if [[ "${BATTERY_SHOW_WATTS}" = "true" ]] ; then
+ watts=$(get_charger_power)
+ fi
+ echo "${watts}${BATTERY_CHARGING-⚡️}"
fi
}