|
@@ -7,6 +7,9 @@
|
|
|
# Email: neuralsandwich@gmail.com #
|
|
|
# Modified to add support for Apple Mac #
|
|
|
###########################################
|
|
|
+# Author: J (927589452) #
|
|
|
+# Modified to add support for FreeBSD #
|
|
|
+###########################################
|
|
|
|
|
|
if [[ "$OSTYPE" = darwin* ]] ; then
|
|
|
|
|
@@ -64,6 +67,52 @@ if [[ "$OSTYPE" = darwin* ]] ; then
|
|
|
[[ $(ioreg -rc "AppleSmartBattery"| grep '^.*"IsCharging"\ =\ ' | sed -e 's/^.*"IsCharging"\ =\ //') == "Yes" ]]
|
|
|
}
|
|
|
|
|
|
+elif [[ "$OSTYPE" = freebsd* ]] ; then
|
|
|
+
|
|
|
+ function battery_is_charging() {
|
|
|
+ [[ $(sysctl -n hw.acpi.battery.state) -eq 2 ]]
|
|
|
+ }
|
|
|
+
|
|
|
+ function battery_pct() {
|
|
|
+ if (( $+commands[sysctl] )) ; then
|
|
|
+ echo "$(sysctl -n hw.acpi.battery.life)"
|
|
|
+ fi
|
|
|
+ }
|
|
|
+
|
|
|
+ function battery_pct_remaining() {
|
|
|
+ if [ ! $(battery_is_charging) ] ; then
|
|
|
+ battery_pct
|
|
|
+ else
|
|
|
+ echo "External Power"
|
|
|
+ fi
|
|
|
+ }
|
|
|
+
|
|
|
+ function battery_time_remaining() {
|
|
|
+ remaining_time=$(sysctl -n hw.acpi.battery.time)
|
|
|
+ if [[ $remaining_time -ge 0 ]] ; then
|
|
|
+ # calculation from https://www.unix.com/shell-programming-and-scripting/23695-convert-minutes-hours-minutes-seconds.html
|
|
|
+ ((hour=$remaining_time/60))
|
|
|
+ ((minute=$remaining_time-$hour*60))
|
|
|
+ echo $hour:$minute
|
|
|
+ fi
|
|
|
+ }
|
|
|
+
|
|
|
+ function battery_pct_prompt() {
|
|
|
+ b=$(battery_pct_remaining)
|
|
|
+ if [ ! $(battery_is_charging) ] ; then
|
|
|
+ if [ $b -gt 50 ] ; then
|
|
|
+ color='green'
|
|
|
+ elif [ $b -gt 20 ] ; then
|
|
|
+ color='yellow'
|
|
|
+ else
|
|
|
+ color='red'
|
|
|
+ fi
|
|
|
+ echo "%{$fg[$color]%}$(battery_pct_remaining)%%%{$reset_color%}"
|
|
|
+ else
|
|
|
+ echo "∞"
|
|
|
+ fi
|
|
|
+ }
|
|
|
+
|
|
|
elif [[ "$OSTYPE" = linux* ]] ; then
|
|
|
|
|
|
function battery_is_charging() {
|