|
|
|
|
@ -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 } |
|
|
|
|
|