battery status shows only when discharging

This commit is contained in:
Milind Shakya 2012-04-13 15:58:56 -05:00
commit a73817c66b

View file

@ -15,22 +15,29 @@ setprompt(){
if which acpi &> /dev/null; then if which acpi &> /dev/null; then
local BATTSTATE="$(acpi -b)" local BATTSTATE="$(acpi -b)"
local BATTPRCNT="$(echo ${BATTSTATE[(w)4]}|sed -r 's/(^[0-9]+).*/\1/')" local BATTPRCNT="$(echo ${BATTSTATE[(w)4]}|sed -r 's/(^[0-9]+).*/\1/')"
if [[ -z "${BATTPRCNT}" ]]; then local BATTSTATUS="$(echo ${BATTSTATE[(w)3]})"
PR_BATTERY="" if [[ "${BATTSTATUS}" = "Discharging," ]]; then
elif [[ "${BATTPRCNT}" -lt 15 ]]; then if [[ -z "${BATTPRCNT}" ]]; then
PR_BATTERY="${fg[red]} batt:${BATTPRCNT}%%" PR_BATTERY=""
elif [[ "${BATTPRCNT}" -lt 60 ]]; then elif [[ "${BATTPRCNT}" -lt 15 ]]; then
PR_BATTERY="${fg[yellow]} batt:${BATTPRCNT}%%" PR_BATTERY="${fg[red]%}|${fg[red]} batt:${BATTPRCNT}%%"
elif [[ "${BATTPRCNT}" -lt 100 ]]; then elif [[ "${BATTPRCNT}" -lt 60 ]]; then
PR_BATTERY="${fg[green]} batt:${BATTPRCNT}%%" PR_BATTERY="${fg[red]%}|${fg[yellow]} batt:${BATTPRCNT}%%"
elif [[ "${BATTPRCNT}" -lt 100 ]]; then
PR_BATTERY="${fg[red]%}|${fg[green]} batt:${BATTPRCNT}%%"
else
PR_BATTERY=""
fi
else else
PR_BATTERY="" PR_BATTERY=""
fi fi
fi fi
PROMPT='$fg[magenta]%}%n%{$reset_color%}%{$fg[cyan]%}@%{$reset_color%}%{$fg[yellow]%}%m%{$reset_color%}%{$fg[red]%}:%{$reset_color%}%{$fg[cyan]%}%0~%{$reset_color%}%{$fg[red]%}|${PR_BATTERY%}%{$reset_color%}%{$fg[red]%}|%{$reset_color%}$(git_prompt_info)$(svn_prompt_info)%{$reset_color%}%{$fg[cyan]%}⇒%{$reset_color%} ' PROMPT='$fg[magenta]%}%n%{$reset_color%}%{$fg[cyan]%}@%{$reset_color%}%{$fg[yellow]%}%m%{$reset_color%}%{$fg[red]%}:%{$reset_color%}%{$fg[cyan]%}%0~%{$reset_color%}${PR_BATTERY%}%{$reset_color%}%{$fg[red]%}|%{$reset_color%}$(git_prompt_info)$(svn_prompt_info)%{$reset_color%}%{$fg[cyan]%}⇒%{$reset_color%} '
} }
precmd() { PS1= setprompt } precmd() { PS1= setprompt }
setprompt setprompt