From 9aeb967581061ca12c1679d3fdce8a5b516a9796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Fri, 8 Oct 2021 12:34:04 +0200 Subject: [PATCH] fix(battery): fix system check so Termux uses the correct method --- plugins/battery/battery.plugin.zsh | 80 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/plugins/battery/battery.plugin.zsh b/plugins/battery/battery.plugin.zsh index 8e6afe65e..0e96b00aa 100644 --- a/plugins/battery/battery.plugin.zsh +++ b/plugins/battery/battery.plugin.zsh @@ -99,6 +99,46 @@ elif [[ "$OSTYPE" = freebsd* ]]; then echo "%{$fg[$color]%}${battery_pct}%%%{$reset_color%}" fi } +elif [[ "$OSTYPE" = linux-android ]] && (( ${+commands[termux-battery-status]} )); then + function battery_is_charging() { + termux-battery-status 2>/dev/null | command awk '/status/ { exit ($0 ~ /DISCHARGING/) }' + } + function battery_pct() { + # Sample output: + # { + # "health": "GOOD", + # "percentage": 93, + # "plugged": "UNPLUGGED", + # "status": "DISCHARGING", + # "temperature": 29.0, + # "current": 361816 + # } + termux-battery-status 2>/dev/null | command awk '/percentage/ { gsub(/[,]/,""); print $2}' + } + function battery_pct_remaining() { + if ! battery_is_charging; then + battery_pct + else + echo "External Power" + fi + } + function battery_time_remaining() { } # Not available on android + function battery_pct_prompt() { + local battery_pct color + battery_pct=$(battery_pct_remaining) + if battery_is_charging; then + echo "∞" + else + if [[ $battery_pct -gt 50 ]]; then + color='green' + elif [[ $battery_pct -gt 20 ]]; then + color='yellow' + else + color='red' + fi + echo "%{$fg[$color]%}${battery_pct}%%%{$reset_color%}" + fi + } elif [[ "$OSTYPE" = linux* ]]; then function battery_is_charging() { if (( $+commands[acpitool] )); then @@ -163,46 +203,6 @@ elif [[ "$OSTYPE" = linux* ]]; then echo "%{$fg[$color]%}${battery_pct}%%%{$reset_color%}" fi } -elif [[ "$OSTYPE" = linux-android ]] && (( ${+commands[termux-battery-status]} )); then - function battery_is_charging() { - termux-battery-status 2>/dev/null | command awk '/status/ { exit ($0 ~ /DISCHARGING/) }' - } - function battery_pct() { - # Sample output: - # { - # "health": "GOOD", - # "percentage": 93, - # "plugged": "UNPLUGGED", - # "status": "DISCHARGING", - # "temperature": 29.0, - # "current": 361816 - # } - termux-battery-status 2>/dev/null | command awk '/percentage/ { gsub(/[,]/,""); print $2}' - } - function battery_pct_remaining() { - if ! battery_is_charging; then - battery_pct - else - echo "External Power" - fi - } - function battery_time_remaining() { } # Not available on android - function battery_pct_prompt() { - local battery_pct color - battery_pct=$(battery_pct_remaining) - if battery_is_charging; then - echo "∞" - else - if [[ $battery_pct -gt 50 ]]; then - color='green' - elif [[ $battery_pct -gt 20 ]]; then - color='yellow' - else - color='red' - fi - echo "%{$fg[$color]%}${battery_pct}%%%{$reset_color%}" - fi - } else # Empty functions so we don't cause errors in prompts function battery_is_charging { false }