]> git.alrj.org Git - zsh.d.git/blobdiff - S70_battery
Add a wrapper for mc to stay in current directory upon exit
[zsh.d.git] / S70_battery
index 628357494091ee265879de73a720fa7f7c485ebf..540c63ef9583dfd5c1a8f0c2c1e5837fca9d9e47 100644 (file)
@@ -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"