aboutsummaryrefslogtreecommitdiffstats
path: root/x11-wm/icewm/files/patch-ak
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm/icewm/files/patch-ak')
-rw-r--r--x11-wm/icewm/files/patch-ak73
1 files changed, 73 insertions, 0 deletions
diff --git a/x11-wm/icewm/files/patch-ak b/x11-wm/icewm/files/patch-ak
new file mode 100644
index 00000000000..e134d02129f
--- /dev/null
+++ b/x11-wm/icewm/files/patch-ak
@@ -0,0 +1,73 @@
+--- src/aapm.cc.orig Mon Nov 8 20:45:52 1999
++++ src/aapm.cc Wed Dec 1 16:42:31 1999
+@@ -20,15 +20,32 @@
+ #include <string.h>
+ #include <stdio.h>
+
++#ifdef __FreeBSD__
++#include <sys/file.h>
++#include <sys/ioctl.h>
++#include <sys/types.h>
++#include <machine/apm_bios.h>
++#endif
++
+ #ifdef CONFIG_APM
+
+ YColor *YApm::apmBg = 0;
+ YColor *YApm::apmFg = 0;
+ YFont *YApm::apmFont = 0;
+
++#ifdef __FreeBSD__
++#define APMDEV "/dev/apm"
++#else
++#define APMDEV "/proc/apm"
++#endif
++
+ void ApmStr(char *s, bool Tool) {
++#ifdef __FreeBSD__
++ struct apm_info ai;
++#else
+ char buf[45];
+- int len, i, fd = open("/proc/apm", O_RDONLY);
++#endif
++ int len, i, fd = open(APMDEV, O_RDONLY);
+ char driver[16];
+ char apmver[16];
+ int apmflags;
+@@ -40,9 +57,27 @@
+ char units[16];
+
+ if (fd == -1) {
++ static int error = 0;
++ if (!error)
++ perror("Can't open the apm device");
++ error = 1;
+ return ;
+ }
+-
++#ifdef __FreeBSD__
++ if (ioctl(fd,APMIO_GETINFO, &ai) == -1)
++ {
++ static int error = 0;
++ if (!error)
++ perror("Can't ioctl the apm device");
++ error = 1;
++ close(fd);
++ return;
++ }
++ close(fd);
++ BATlife = ai.ai_batt_life;
++ ACstatus = ai.ai_acline ;
++ BATflag = ai.ai_batt_stat == 3 ? 8 : 0;
++#else
+ len = read(fd, buf, sizeof(buf) - 1);
+ close(fd);
+
+@@ -60,6 +95,7 @@
+ }
+ return ;
+ }
++#endif
+ if (BATlife == -1)
+ BATlife = 0;
+