# display battery status on right side of prompt using 'GRML_DISPLAY_BATTERY=1' in .zshrc.pre
if [[ $GRML_DISPLAY_BATTERY -gt 0 ]] ; then
- if ! islinux && ! isopenbsd ; then
+ if ! islinux && ! isopenbsd && ! isfreebsd ; then
# not yet supported
GRML_DISPLAY_BATTERY=0
fi
batterylinux
elif isopenbsd ; then
batteryopenbsd
+ elif isfreebsd ; then
+ batteryfreebsd
fi
fi
}
done
}
+batteryfreebsd(){
+GRML_BATTERY_LEVEL=''
+local num
+local -A table
+for num in 0 1 ; do
+ table=( ${=${${${${${(M)${(f)"$(acpiconf -i $num)"}:#(State|Remaining capacity):*}%%( ##|%)}//:[ $'\t']##/@}// /-}//@/ }} )
+ if [[ $table[State] != "not-present" ]] ; then
+ case $table[State] in
+ *discharging*)
+ if (( $table[Remaining-capacity] < 20 )) ; then
+ GRML_BATTERY_LEVEL+=" !v"
+ else
+ GRML_BATTERY_LEVEL+=" v"
+ fi
+ ;;
+ *charging*)
+ GRML_BATTERY_LEVEL+=" ^"
+ ;;
+ *)
+ GRML_BATTERY_LEVEL+=" ="
+ ;;
+ esac
+ GRML_BATTERY_LEVEL+="$table[Remaining-capacity]%%"
+ fi
+done
+}
+
# 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)