new battery plugin that shows energy in a "bar" all done with acpi and bash
authorJesus de Mula Cano <demula@gmail.com>
Sun, 6 Mar 2011 17:12:24 +0000 (18:12 +0100)
committerJesus de Mula Cano <demula@gmail.com>
Sun, 6 Mar 2011 17:12:24 +0000 (18:12 +0100)
plugins/battery.plugin.bash [new file with mode: 0644]

diff --git a/plugins/battery.plugin.bash b/plugins/battery.plugin.bash
new file mode 100644 (file)
index 0000000..c0ec6f4
--- /dev/null
@@ -0,0 +1,136 @@
+#!/bin/bash
+
+battery_percentage(){
+  local ACPI_OUTPUT=$(acpi -b)
+  case $ACPI_OUTPUT in
+    *" Unknown"*) 
+      echo $ACPI_OUTPUT | head -c 22 | tail -c 2
+      ;;
+    *" Discharging"*) 
+      echo $ACPI_OUTPUT | head -c 26 | tail -c 2
+      ;;
+    *" Charging"*) 
+      echo $ACPI_OUTPUT | head -c 23 | tail -c 2
+      ;;
+    *" Full"*) 
+      echo '99'
+      ;;
+    *)
+      echo '-1'
+      ;;
+  esac
+}
+
+battery_charge(){
+  # Full char
+  local F_C='▸'
+  # Depleted char
+  local D_C='▹'
+  local DEPLETED_COLOR='\[${normal}\]'
+  local FULL_COLOR='\[${green}\]'
+  local HALF_COLOR='\[${yellow}\]'
+  local DANGER_COLOR='\[${red}\]'
+  local BATTERY_OUTPUT='${DEPLETED_COLOR}${D_C}${D_C}${D_C}${D_C}${D_C}'
+  local BATTERY_PERC=$(battery_percentage)
+
+  case $BATTERY_PERC in
+    9*)
+      echo "${FULL_COLOR}${F_C}${F_C}${F_C}${F_C}${F_C}${normal}"
+      ;;
+    8*)
+      echo "${FULL_COLOR}${F_C}${F_C}${F_C}${F_C}${HALF_COLOR}${F_C}${normal}"
+      ;;
+    7*)
+      echo "${FULL_COLOR}${F_C}${F_C}${F_C}${F_C}${DEPLETED_COLOR}${D_C}${normal}"
+      ;;
+    6*)
+      echo "${FULL_COLOR}${F_C}${F_C}${F_C}${HALF_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${normal}"
+      ;;
+    5*)
+      echo "${FULL_COLOR}${F_C}${F_C}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${normal}"
+      ;;
+    4*)
+      echo "${FULL_COLOR}${F_C}${F_C}${HALF_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${normal}"
+      ;;
+    3*)
+      echo "${FULL_COLOR}${F_C}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${normal}"
+      ;;
+    2*)
+      echo "${FULL_COLOR}${F_C}${HALF_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${normal}"
+      ;;
+    1*)
+      echo "${FULL_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${D_C}${normal}"
+      ;;
+    05)
+      echo "${DANGER_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${D_C}${normal}"
+      ;;
+    04)
+      echo "${DANGER_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${D_C}${normal}"
+      ;;
+    03)
+      echo "${DANGER_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${D_C}${normal}"
+      ;;
+    02)
+      echo "${DANGER_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${D_C}${normal}"
+      ;;
+    0*)
+      echo "${HALF_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${D_C}${normal}"
+      ;;
+    *)
+      echo "${DANGER_COLOR}ERROR\[${normal}\]"
+      ;;
+  esac
+
+#  if [ $BATTERY_PERC < 0 ];
+  #then
+    #BATTERY_OUTPUT="ERROR"
+  #else
+    #if [ $BATTERY_PERC > 90 ];
+    #then
+      #BATTERY_OUTPUT="${FULL_COLOR}${F_C}${F_C}${F_C}${F_C}${F_C}${normal}"
+    #else
+      #if [ $BATTERY_PERC > 80 ];
+      #then
+        #BATTERY_OUTPUT="${FULL_COLOR}${F_C}${F_C}${F_C}${F_C}${HALF_COLOR}${F_C}${normal}"
+      #else
+        #if [ $BATTERY_PERC > 70 ];
+        #then
+          #BATTERY_OUTPUT="${FULL_COLOR}${F_C}${F_C}${F_C}${F_C}${DEPLETED_COLOR}${D_C}${normal}"
+        #else
+          #if [ $BATTERY_PERC > 60 ];
+          #then
+            #BATTERY_OUTPUT="${FULL_COLOR}${F_C}${F_C}${F_C}${HALF_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${normal}"
+          #else
+            #if [ $BATTERY_PERC > 50 ];
+            #then
+              #BATTERY_OUTPUT="${FULL_COLOR}${F_C}${F_C}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${normal}"
+            #else
+              #if [ $BATTERY_PERC > 40 ];
+              #then
+                #BATTERY_OUTPUT="${FULL_COLOR}${F_C}${F_C}${HALF_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${normal}"
+              #else
+                #if [ $BATTERY_PERC > 30 ];
+                #then
+                  #BATTERY_OUTPUT="${FULL_COLOR}${F_C}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${normal}"
+                #else
+                  #if [ $BATTERY_PERC > 20 ];
+                  #then
+                    #BATTERY_OUTPUT="${FULL_COLOR}${F_C}${HALF_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${normal}"
+                  #else
+                    #if [ $BATTERY_PERC > 10 ];
+                    #then
+                      #BATTERY_OUTPUT="${FULL_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${D_C}${normal}"
+                    #else
+                      #BATTERY_OUTPUT="${DANGER_COLOR}${F_C}${DEPLETED_COLOR}${D_C}${D_C}${D_C}${D_C}${normal}"
+                    #fi
+                  #fi
+                #fi
+              #fi
+            #fi
+          #fi
+        #fi
+      #fi
+    #fi
+  #fi
+  #echo $BATTERY_OUTPUT
+}