mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-21 08:42:23 +00:00
- Fix Battery Status
PR: 155745 Submitted by: John Marshall <john.marshall@riverwillow.com.au>
This commit is contained in:
parent
ab262dcf57
commit
84ae3d0163
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=271872
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= xfce4-battery-plugin
|
||||
PORTVERSION= 1.0.0
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= sysutils xfce
|
||||
MASTER_SITES= ${MASTER_SITE_XFCE}
|
||||
MASTER_SITE_SUBDIR=/src/panel-plugins/${PORTNAME}/${PORTVERSION:R}
|
||||
|
@ -0,0 +1,82 @@
|
||||
--- panel-plugin/libacpi.c.orig 2011-01-03 23:38:40.000000000 +1100
|
||||
+++ panel-plugin/libacpi.c 2011-03-21 15:38:01.000000000 +1100
|
||||
@@ -30,6 +30,16 @@
|
||||
#include <dirent.h>
|
||||
#include <glob.h>
|
||||
|
||||
+#ifdef __FreeBSD__
|
||||
+#include <fcntl.h>
|
||||
+#include <sys/ioctl.h>
|
||||
+#include <dev/acpica/acpiio.h>
|
||||
+#define ACPIDEV "/dev/acpi"
|
||||
+static int acpifd;
|
||||
+#define UNKNOWN_CAP 0xffffffff
|
||||
+#define UNKNOWN_VOLTAGE 0xffffffff
|
||||
+#endif
|
||||
+
|
||||
#if HAVE_SYSCTL
|
||||
|
||||
#if defined(__NetBSD__) || defined (__OpenBSD__)
|
||||
@@ -484,6 +494,7 @@
|
||||
}
|
||||
|
||||
return 1;
|
||||
+
|
||||
#else
|
||||
#ifdef HAVE_SYSCTL
|
||||
static char buf[BUFSIZ];
|
||||
@@ -730,6 +741,24 @@
|
||||
#endif
|
||||
}
|
||||
acpiinfo->present = retval;
|
||||
+
|
||||
+#ifdef __FreeBSD__
|
||||
+ union acpi_battery_ioctl_arg battio;
|
||||
+ acpifd = open(ACPIDEV, O_RDONLY);
|
||||
+
|
||||
+ battio.unit = battery;
|
||||
+ if (ioctl(acpifd, ACPIIO_BATT_GET_BIF, &battio) == -1) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ close(acpifd);
|
||||
+
|
||||
+ acpiinfo->design_capacity = battio.bif.dcap;
|
||||
+ acpiinfo->last_full_capacity = battio.bif.lfcap;
|
||||
+ acpiinfo->battery_technology = battio.bif.btech;
|
||||
+ acpiinfo->design_voltage = battio.bif.dvol;
|
||||
+ acpiinfo->design_capacity_warning = battio.bif.wcap;
|
||||
+ acpiinfo->design_capacity_low = battio.bif.lcap;
|
||||
+#endif
|
||||
return 1;
|
||||
#else
|
||||
return 0;
|
||||
@@ -966,6 +995,29 @@
|
||||
#endif
|
||||
}
|
||||
acpistate->percentage =retval;
|
||||
+
|
||||
+#ifdef __FreeBSD__
|
||||
+ union acpi_battery_ioctl_arg battio;
|
||||
+ acpifd = open(ACPIDEV, O_RDONLY);
|
||||
+
|
||||
+ battio.unit = battery;
|
||||
+ if (ioctl(acpifd, ACPIIO_BATT_GET_BATTINFO, &battio) == -1) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ acpistate->state = battio.battinfo.state;
|
||||
+ acpistate->prate = battio.battinfo.rate;
|
||||
+ acpistate->rcapacity = acpiinfo->last_full_capacity * battio.battinfo.cap / 100;
|
||||
+ acpistate->rtime = battio.battinfo.min;
|
||||
+ acpistate->percentage = battio.battinfo.cap;
|
||||
+
|
||||
+ battio.unit = battery;
|
||||
+ if (ioctl(acpifd, ACPIIO_BATT_GET_BATTINFO, &battio) == -1) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ close(acpifd);
|
||||
+ acpistate->pvoltage = battio.bst.volt;
|
||||
+#endif
|
||||
return 1;
|
||||
#else
|
||||
return 0;
|
Loading…
Reference in New Issue
Block a user