]> git.alrj.org Git - zsh.d.git/blob - S70_battery
Add a wrapper for mc to stay in current directory upon exit
[zsh.d.git] / S70_battery
1 #! /usr/bin/zsh
2
3 battery_level()
4 {
5   # Return a "battery level" gauge ready to be used in prompt.
6   
7   local online remaining bstatus gauge gcolor
8
9   online=0
10   acpi -a 2> /dev/null | grep -q "on-line" && online=1
11
12   bstatus="$(acpi -b 2> /dev/null)"
13   remaining="$(echo ${bstatus[(w)4]} | sed -r 's/(^[0-9]+)%.*/\1/')"
14
15   if [[ -z "$remaining" ]]; then
16     return
17   elif [[ "$remaining" -gt "95" && "$online" -eq "1" ]]; then
18     return
19   elif [[ "$remaining" -lt "10" ]]; then
20     echo "${C_RED}►${C_NO}"
21     return
22   fi
23
24   gauge=""
25   rgauge=""
26   gcolor=${C_BGREEN}
27
28   for i in $(seq ${remaining[1]}); do
29     gauge="${gauge}►"
30   done
31   for i in $(seq $(( 10 - ${remaining[1]})) ); do
32     rgauge="${rgauge}·"
33   done
34
35   if [[ "${#gauge}" -lt "3" ]]; then
36     gcolor=${C_BRED}
37   elif [[ "${#gauge}" -lt "6" ]]; then
38     gcolor=${C_BYELLOW}
39   fi
40
41   echo "${gcolor}${gauge}${C_NO}${C_WHITE}${rgauge}${C_NO}"
42 }