zshrc: added Darwin support for battery info
authorMoviuro <moviuro+grml@gmail.com>
Wed, 17 Sep 2014 23:00:44 +0000 (01:00 +0200)
committerFrank Terbeck <ft@grml.org>
Thu, 18 Sep 2014 10:02:47 +0000 (12:02 +0200)
etc/zsh/zshrc

index ae42923..2b434ec 100644 (file)
@@ -1659,6 +1659,8 @@ if [[ $GRML_DISPLAY_BATTERY -gt 0 ]] ; then
         batteryopenbsd
     elif isfreebsd ; then
         batteryfreebsd
+    elif isdarwin ; then
+        batterydarwin
     else
         #not yet supported
         GRML_DISPLAY_BATTERY=0
@@ -1749,6 +1751,28 @@ for num in 0 1 ; do
 done
 }
 
+batterydarwin(){
+GRML_BATTERY_LEVEL=''
+local -a table
+table=( ${$(pmset -g ps)[(w)7,8]%%(\%|);} )
+case $table[2] in
+    charging)
+        GRML_BATTERY_LEVEL+=" ^"
+        ;;
+    discharging)
+        if (( $table[1] < 20 )) ; then
+            GRML_BATTERY_LEVEL+=" !v"
+        else
+            GRML_BATTERY_LEVEL+=" v"
+        fi
+        ;;
+    *)
+        GRML_BATTERY_LEVEL+=" ="
+        ;;
+esac
+GRML_BATTERY_LEVEL+="$table[1]%%"
+}
+
 # set variable debian_chroot if running in a chroot with /etc/debian_chroot
 if [[ -z "$debian_chroot" ]] && [[ -r /etc/debian_chroot ]] ; then
     debian_chroot=$(</etc/debian_chroot)