]> git.alrj.org Git - zsh.d.git/blob - S70_battery
Don't refresh repository when searching with zypper.
[zsh.d.git] / S70_battery
1 #! /usr/bin/zsh
2
3 #
4 # Prepare a "battery level" gauge ready to be used in prompt.
5 #
6
7 battery_level()
8 {
9   local online remaining bstatus gauge gcolor
10
11   online=0
12   acpi -a 2> /dev/null | grep -q "on-line" && online=1
13
14
15   bstatus="$(acpi -b 2> /dev/null)"
16   remaining="$(echo ${bstatus[(w)4]} | sed -r 's/(^[0-9]+)%.*/\1/')"
17
18   if [[ -z "$remaining" ]]; then
19     psvar[2]=""
20     return
21   elif [[ "$remaining" -eq "100" && "$online" -eq "1" ]]; then
22     psvar[2]=""
23     return
24   #elif [[ "$remaining" -gt "95" ]]; then
25   #  export BATT_GAUGE=""
26   #  return
27   elif [[ "$remaining" -lt "10" ]]; then
28     psvar[2]="►"
29     psvar[3]="red"
30     return
31   fi
32
33   gauge=""
34   gcolor="green"
35
36   for i in $(seq ${remaining[1]}); do
37     gauge="${gauge}►"
38   done
39
40   if [[ "${#gauge}" -lt "3" ]]; then
41     gcolor="red"
42   elif [[ "${#gauge}" -lt "6" ]]; then
43     gcolor="yellow"
44   fi
45
46   psvar[2]="${gauge}"
47   psvar[3]="${gcolor}"
48
49 }
50
51 precmd_functions+="battery_level"