X-Git-Url: https://git.alrj.org/?p=zsh.d.git;a=blobdiff_plain;f=S70_battery;h=540c63ef9583dfd5c1a8f0c2c1e5837fca9d9e47;hp=628357494091ee265879de73a720fa7f7c485ebf;hb=HEAD;hpb=4e8ef2688401ea492adc5ded48d85f447e9100ac diff --git a/S70_battery b/S70_battery index 6283574..540c63e 100644 --- a/S70_battery +++ b/S70_battery @@ -1,51 +1,42 @@ #! /usr/bin/zsh -# -# Prepare a "battery level" gauge ready to be used in prompt. -# - battery_level() { + # Return a "battery level" gauge ready to be used in prompt. + local online remaining bstatus gauge gcolor online=0 - acpi -B -a | grep -q "on-line" && online=1 - + acpi -a 2> /dev/null | grep -q "on-line" && online=1 - bstatus="$(acpi -b)" + bstatus="$(acpi -b 2> /dev/null)" remaining="$(echo ${bstatus[(w)4]} | sed -r 's/(^[0-9]+)%.*/\1/')" if [[ -z "$remaining" ]]; then - psvar[2]="" return - elif [[ "$remaining" -eq "100" && "$online" -eq "1" ]]; then - psvar[2]="" + elif [[ "$remaining" -gt "95" && "$online" -eq "1" ]]; then return - #elif [[ "$remaining" -gt "95" ]]; then - # export BATT_GAUGE="" - # return elif [[ "$remaining" -lt "10" ]]; then - psvar[2]="►" - psvar[3]="red" + echo "${C_RED}►${C_NO}" return fi gauge="" - gcolor="green" + rgauge="" + gcolor=${C_BGREEN} for i in $(seq ${remaining[1]}); do gauge="${gauge}►" done + for i in $(seq $(( 10 - ${remaining[1]})) ); do + rgauge="${rgauge}·" + done if [[ "${#gauge}" -lt "3" ]]; then - gcolor="red" + gcolor=${C_BRED} elif [[ "${#gauge}" -lt "6" ]]; then - gcolor="yellow" + gcolor=${C_BYELLOW} fi - psvar[2]="${gauge}" - psvar[3]="${gcolor}" - + echo "${gcolor}${gauge}${C_NO}${C_WHITE}${rgauge}${C_NO}" } - -precmd_functions+="battery_level"