From 5eb5dfdc1b890c1cf079e17fe8c026e17022a3e1 Mon Sep 17 00:00:00 2001 From: Lars Engels Date: Fri, 5 Aug 2016 20:57:39 +0200 Subject: [PATCH] Add battery support for FreeBSD --- rainbarf | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/rainbarf b/rainbarf index 8bb5381..ea6cb0a 100755 --- a/rainbarf +++ b/rainbarf @@ -430,6 +430,24 @@ sub battery_sys { return ($battery, $charging, $time); } +sub battery_freebsd { + my $battery = qx{/sbin/sysctl -n hw.acpi.battery.life 2>/dev/null} or return; + my $charging = qx,/sbin/sysctl -n hw.acpi.battery.state,; + my $time = qx,/sbin/sysctl -n hw.acpi.battery.time,; + + $battery /= 100; + + if ($charging == 2) { + $charging = 1; + } elsif ($charging == 7) { # Battery absent + return; + } else { + $charging = 0; + } + + return ($battery, $charging, $time); +} + sub battery { my @battery; if (-x q{/usr/sbin/ioreg}) { @@ -438,6 +456,8 @@ sub battery { @battery = battery_acpi(); } elsif (-d q(/sys/class/power_supply)) { @battery = battery_sys(); + } elsif ($^O eq q(freebsd)) { + @battery = battery_freebsd(); } battery_print(@battery);