diff options
author | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2004-10-02 04:45:45 +0800 |
---|---|---|
committer | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2004-10-02 04:45:45 +0800 |
commit | 48d0103114a6a8df90c72bfb0d2e067427edc34c (patch) | |
tree | a81fd9eea705b8c908c78680fd398a2df4a0311f /x11/gnomeapplets2 | |
parent | f4dc8b5f1e6fda99bdf64804c02c68df1ed5d2c2 (diff) | |
download | marcuscom-ports-48d0103114a6a8df90c72bfb0d2e067427edc34c.tar marcuscom-ports-48d0103114a6a8df90c72bfb0d2e067427edc34c.tar.gz marcuscom-ports-48d0103114a6a8df90c72bfb0d2e067427edc34c.tar.bz2 marcuscom-ports-48d0103114a6a8df90c72bfb0d2e067427edc34c.tar.lz marcuscom-ports-48d0103114a6a8df90c72bfb0d2e067427edc34c.tar.xz marcuscom-ports-48d0103114a6a8df90c72bfb0d2e067427edc34c.tar.zst marcuscom-ports-48d0103114a6a8df90c72bfb0d2e067427edc34c.zip |
* Use the correct default path to the apm command [1]
* Only calculate hours and minuts remaining if time is >= 0
Submitted by: Franz Klammer <klammer@webonaut.com> [1]
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@2920 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'x11/gnomeapplets2')
-rw-r--r-- | x11/gnomeapplets2/Makefile | 4 | ||||
-rw-r--r-- | x11/gnomeapplets2/files/patch-battstat-acpi | 269 | ||||
-rw-r--r-- | x11/gnomeapplets2/files/patch-battstat_battstat.schemas.in | 11 |
3 files changed, 154 insertions, 130 deletions
diff --git a/x11/gnomeapplets2/Makefile b/x11/gnomeapplets2/Makefile index a0ea6e686..230dbc13a 100644 --- a/x11/gnomeapplets2/Makefile +++ b/x11/gnomeapplets2/Makefile @@ -7,8 +7,8 @@ PORTNAME= gnomeapplets2 PORTVERSION= 2.8.0 -PORTREVISION= 3 -CATEGORIES= x11 gnome +PORTREVISION= 4 +ATEGORIES= x11 gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/gnome-applets/2.8 DISTNAME= gnome-applets-${PORTVERSION} diff --git a/x11/gnomeapplets2/files/patch-battstat-acpi b/x11/gnomeapplets2/files/patch-battstat-acpi index 84d1c9844..b1255b961 100644 --- a/x11/gnomeapplets2/files/patch-battstat-acpi +++ b/x11/gnomeapplets2/files/patch-battstat-acpi @@ -101,133 +101,6 @@ +void acpi_freebsd_cleanup(struct acpi_info * acpiinfo); + +#endif /* __ACPI_FREEBSD_H__ */ ---- battstat/battstat_applet.c.orig Mon Sep 13 04:33:31 2004 -+++ battstat/battstat_applet.c Mon Sep 27 21:51:15 2004 -@@ -62,6 +62,9 @@ - #ifdef __linux__ - #include "acpi-linux.h" - #endif -+#ifdef __FreeBSD__ -+#include "acpi-freebsd.h" -+#endif - - #ifndef gettext_noop - #define gettext_noop(String) (String) -@@ -237,6 +240,24 @@ - #endif - - #ifdef __FreeBSD__ -+struct acpi_info acpiinfo; -+gboolean using_acpi; -+int acpi_count; -+ -+gboolean acpi_freebsd_read(struct apm_info *apminfo, struct acpi_info *acpiinfo); -+ -+gboolean acpi_callback (gpointer data) -+{ -+ ProgressData * battstat = (ProgressData *) data; -+ -+ if (acpi_process_event(&acpiinfo)) { -+ acpi_freebsd_read(&apminfo, &acpiinfo); -+ pixmap_timeout(data); -+ } -+ -+ return TRUE; -+} -+ - void - apm_readinfo (PanelApplet *applet, ProgressData * battstat) - { -@@ -247,13 +268,22 @@ - int fd; - if (DEBUG) g_print("apm_readinfo() (FreeBSD)\n"); - -- fd = open(APMDEVICE, O_RDONLY); -- if (fd == -1) cleanup (applet, 1); -+ if (using_acpi) { -+ if (acpi_count <= 0) { -+ acpi_count = 30; -+ acpi_freebsd_read(&apminfo, &acpiinfo); -+ } -+ acpi_count--; -+ } -+ else { -+ fd = open(APMDEVICE, O_RDONLY); -+ if (fd == -1) cleanup (applet, 1); - -- if (ioctl(fd, APMIO_GETINFO, &apminfo) == -1) -- err(1, "ioctl(APMIO_GETINFO)"); -+ if (ioctl(fd, APMIO_GETINFO, &apminfo) == -1) -+ err(1, "ioctl(APMIO_GETINFO)"); - -- close(fd); -+ close(fd); -+ } - } - #elif defined(__NetBSD__) || defined(__OpenBSD__) - void -@@ -361,7 +391,7 @@ - - #ifdef __FreeBSD__ - acline_status = apminfo.ai_acline ? 1 : 0; -- time = apminfo.ai_batt_time; -+ time = (int) (apminfo.ai_batt_time / 60); - batt_life = apminfo.ai_batt_life; - #elif defined (__NetBSD__) || defined(__OpenBSD__) - acline_status = apminfo.ac_state ? 1 : 0; -@@ -912,6 +942,13 @@ - pdata->acpiwatch = 0; - acpi_linux_cleanup(&acpiinfo); - } -+#elif defined(__FreeBSD__) -+ if (using_acpi) { -+ if (pdata->acpiwatch != 0) -+ g_source_remove(pdata->acpiwatch); -+ pdata->acpiwatch = 0; -+ acpi_freebsd_cleanup(&acpiinfo); -+ } - #endif - - if (pdata->suspend_cmd) -@@ -1052,6 +1089,7 @@ - "Lennart Poettering <lennart@poettering.de> (Linux ACPI support)", - "Seth Nickell <snickell@stanford.edu> (GNOME2 port)", - "Davyd Madeley <davyd@ucc.asn.au>", -+ "Joe Marcus Clarke <marcus@FreeBSD.org> (FreeBSD ACPI support)", - NULL - }; - -@@ -1760,11 +1798,18 @@ - using_acpi = TRUE; - acpi_count = 0; - } -+#elif defined(__FreeBSD__) -+ if (acpi_freebsd_init(&acpiinfo)) { -+ using_acpi = TRUE; -+ acpi_count = 0; -+ } -+ else -+ using_acpi = FALSE; - #endif - apm_readinfo (applet, NULL); - - #ifdef __FreeBSD__ -- if(apminfo.ai_status == 0) cleanup (applet, 2); -+ if(!using_acpi && apminfo.ai_status == 0) cleanup (applet, 2); - #endif - - battstat = g_new0 (ProgressData, 1); -@@ -1803,6 +1848,10 @@ - battstat->acpiwatch = g_io_add_watch (acpiinfo.channel, - G_IO_IN | G_IO_ERR | G_IO_HUP, - acpi_callback, battstat); -+ } -+#elif defined(__FreeBSD__) -+ if (using_acpi) { -+ battstat->acpiwatch = g_timeout_add (2000, acpi_callback, battstat); - } - #endif - --- battstat/acpi-freebsd.c.orig Tue Sep 28 16:55:52 2004 +++ battstat/acpi-freebsd.c Tue Sep 28 17:00:32 2004 @@ -0,0 +1,213 @@ @@ -248,7 +121,7 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. + * -+ $Id: patch-battstat-acpi,v 1.2 2004-09-28 21:04:43 marcus Exp $ ++ $Id: patch-battstat-acpi,v 1.3 2004-10-01 20:45:45 marcus Exp $ + */ + +/* @@ -444,3 +317,143 @@ + return TRUE; +} +#endif +--- battstat/battstat_applet.c.orig Mon Sep 13 04:33:31 2004 ++++ battstat/battstat_applet.c Fri Oct 1 16:46:01 2004 +@@ -62,6 +62,9 @@ + #ifdef __linux__ + #include "acpi-linux.h" + #endif ++#ifdef __FreeBSD__ ++#include "acpi-freebsd.h" ++#endif + + #ifndef gettext_noop + #define gettext_noop(String) (String) +@@ -237,6 +240,24 @@ + #endif + + #ifdef __FreeBSD__ ++struct acpi_info acpiinfo; ++gboolean using_acpi; ++int acpi_count; ++ ++gboolean acpi_freebsd_read(struct apm_info *apminfo, struct acpi_info *acpiinfo); ++ ++gboolean acpi_callback (gpointer data) ++{ ++ ProgressData * battstat = (ProgressData *) data; ++ ++ if (acpi_process_event(&acpiinfo)) { ++ acpi_freebsd_read(&apminfo, &acpiinfo); ++ pixmap_timeout(data); ++ } ++ ++ return TRUE; ++} ++ + void + apm_readinfo (PanelApplet *applet, ProgressData * battstat) + { +@@ -247,13 +268,22 @@ + int fd; + if (DEBUG) g_print("apm_readinfo() (FreeBSD)\n"); + +- fd = open(APMDEVICE, O_RDONLY); +- if (fd == -1) cleanup (applet, 1); ++ if (using_acpi) { ++ if (acpi_count <= 0) { ++ acpi_count = 30; ++ acpi_freebsd_read(&apminfo, &acpiinfo); ++ } ++ acpi_count--; ++ } ++ else { ++ fd = open(APMDEVICE, O_RDONLY); ++ if (fd == -1) cleanup (applet, 1); + +- if (ioctl(fd, APMIO_GETINFO, &apminfo) == -1) +- err(1, "ioctl(APMIO_GETINFO)"); ++ if (ioctl(fd, APMIO_GETINFO, &apminfo) == -1) ++ err(1, "ioctl(APMIO_GETINFO)"); + +- close(fd); ++ close(fd); ++ } + } + #elif defined(__NetBSD__) || defined(__OpenBSD__) + void +@@ -361,7 +391,7 @@ + + #ifdef __FreeBSD__ + acline_status = apminfo.ai_acline ? 1 : 0; +- time = apminfo.ai_batt_time; ++ time = (int) (apminfo.ai_batt_time / 60); + batt_life = apminfo.ai_batt_life; + #elif defined (__NetBSD__) || defined(__OpenBSD__) + acline_status = apminfo.ac_state ? 1 : 0; +@@ -375,8 +405,10 @@ + + if (batt_life > 100) batt_life = 100; + +- hours = time / 60; +- mins = time % 60; ++ if (time >= 0) { ++ hours = time / 60; ++ mins = time % 60; ++ } + + if (acline_status && batt_life == 100) + return g_strdup_printf (_("Battery charged (%d%%)"), batt_life); +@@ -912,6 +944,13 @@ + pdata->acpiwatch = 0; + acpi_linux_cleanup(&acpiinfo); + } ++#elif defined(__FreeBSD__) ++ if (using_acpi) { ++ if (pdata->acpiwatch != 0) ++ g_source_remove(pdata->acpiwatch); ++ pdata->acpiwatch = 0; ++ acpi_freebsd_cleanup(&acpiinfo); ++ } + #endif + + if (pdata->suspend_cmd) +@@ -1052,6 +1091,7 @@ + "Lennart Poettering <lennart@poettering.de> (Linux ACPI support)", + "Seth Nickell <snickell@stanford.edu> (GNOME2 port)", + "Davyd Madeley <davyd@ucc.asn.au>", ++ "Joe Marcus Clarke <marcus@FreeBSD.org> (FreeBSD ACPI support)", + NULL + }; + +@@ -1760,11 +1800,18 @@ + using_acpi = TRUE; + acpi_count = 0; + } ++#elif defined(__FreeBSD__) ++ if (acpi_freebsd_init(&acpiinfo)) { ++ using_acpi = TRUE; ++ acpi_count = 0; ++ } ++ else ++ using_acpi = FALSE; + #endif + apm_readinfo (applet, NULL); + + #ifdef __FreeBSD__ +- if(apminfo.ai_status == 0) cleanup (applet, 2); ++ if(!using_acpi && apminfo.ai_status == 0) cleanup (applet, 2); + #endif + + battstat = g_new0 (ProgressData, 1); +@@ -1803,6 +1850,10 @@ + battstat->acpiwatch = g_io_add_watch (acpiinfo.channel, + G_IO_IN | G_IO_ERR | G_IO_HUP, + acpi_callback, battstat); ++ } ++#elif defined(__FreeBSD__) ++ if (using_acpi) { ++ battstat->acpiwatch = g_timeout_add (2000, acpi_callback, battstat); + } + #endif + diff --git a/x11/gnomeapplets2/files/patch-battstat_battstat.schemas.in b/x11/gnomeapplets2/files/patch-battstat_battstat.schemas.in new file mode 100644 index 000000000..ecaea9dab --- /dev/null +++ b/x11/gnomeapplets2/files/patch-battstat_battstat.schemas.in @@ -0,0 +1,11 @@ +--- battstat/battstat.schemas.in.orig Fri Oct 1 16:22:39 2004 ++++ battstat/battstat.schemas.in Fri Oct 1 16:22:46 2004 +@@ -115,7 +115,7 @@ + <key>/schemas/apps/battstat-applet/prefs/suspend_command</key> + <owner>battstat-applet</owner> + <type>string</type> +- <default>/usr/bin/apm -s</default> ++ <default>/usr/sbin/apm -s</default> + <locale name="C"> + <short>Suspend Command</short> + <long>Command to send to suspend the computer</long> |