Hi, I am preparing to sent the battery monitor diff upstream, so I have cleaned it up a little and also fixed WANTLIB.
OKs? Index: Makefile =================================================================== RCS file: /cvs/ports/x11/tint/Makefile,v retrieving revision 1.3 diff -u -p -u -r1.3 Makefile --- Makefile 19 Apr 2010 13:55:56 -0000 1.3 +++ Makefile 9 May 2010 13:00:10 -0000 @@ -3,7 +3,7 @@ COMMENT= lightweight freedesktop-compliant panel/taskbar/clock DISTNAME= tint2-0.9 -PKGNAME= ${DISTNAME:S/tint2/tint/} +PKGNAME= ${DISTNAME:S/tint2/tint/}p0 CATEGORIES= x11 HOMEPAGE= http://code.google.com/p/tint2/ @@ -17,7 +17,7 @@ PERMIT_DISTFILES_CDROM= Yes PERMIT_DISTFILES_FTP= Yes WANTLIB= X11 Xinerama Xrender c cairo glib-2.0 gobject-2.0 \ - Xcomposite Xdamage + Xcomposite Xdamage pixman-1 pthread MASTER_SITES= http://tint2.googlecode.com/files/ Index: patches/patch-src_battery_battery_c =================================================================== RCS file: /cvs/ports/x11/tint/patches/patch-src_battery_battery_c,v retrieving revision 1.1 diff -u -p -u -r1.1 patch-src_battery_battery_c --- patches/patch-src_battery_battery_c 19 Apr 2010 13:55:56 -0000 1.1 +++ patches/patch-src_battery_battery_c 9 May 2010 13:00:10 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-src_battery_battery_c,v 1.1 2010/04/19 13:55:56 edd Exp $ --- src/battery/battery.c.orig Tue Jan 19 19:29:28 2010 -+++ src/battery/battery.c Fri Apr 16 11:03:54 2010 ++++ src/battery/battery.c Sun May 9 14:43:20 2010 @@ -24,6 +24,13 @@ #include <cairo-xlib.h> #include <pango/pangocairo.h> @@ -26,7 +26,7 @@ $OpenBSD: patch-src_battery_battery_c,v void update_batterys(void* arg) { int i; -@@ -80,6 +91,21 @@ void update_batterys(void* arg) +@@ -80,6 +91,18 @@ void update_batterys(void* arg) void init_battery() { @@ -40,48 +40,50 @@ $OpenBSD: patch-src_battery_battery_c,v + return; + } + -+ if (battery_enabled && battery_timeout==0) -+ battery_timeout = add_timeout(10, 10000, update_batterys, 0); -+ +#else + // check battery GDir *directory = 0; GError *error = NULL; -@@ -150,9 +176,8 @@ void init_battery() +@@ -150,6 +173,7 @@ void init_battery() g_free(path1); g_free(battery_dir); +#endif -- if (battery_enabled && battery_timeout==0) -- battery_timeout = add_timeout(10, 10000, update_batterys, 0); - } - - -@@ -176,6 +201,12 @@ void cleanup_battery() + if (battery_enabled && battery_timeout==0) + battery_timeout = add_timeout(10, 10000, update_batterys, 0); +@@ -176,6 +200,12 @@ void cleanup_battery() battery_low_cmd = path_energy_now = path_energy_full = path_current_now = path_status = 0; bat1_font_desc = bat2_font_desc = 0; + +#if defined(__OpenBSD__) -+ if (close(apm_fd) == -1) ++ if ((apm_fd != NULL) && (close(apm_fd) == -1)) + warn("cannot close /dev/apm"); +#endif + } -@@ -227,8 +258,43 @@ void update_battery() { +@@ -223,12 +253,49 @@ void init_battery_panel(void *p) + + + void update_battery() { ++ ++#if !defined(__OpenBSD__) ++ /* unused on OpenBSD, silence compiler warnings */ + FILE *fp; char tmp[25]; - int64_t energy_now = 0, energy_full = 0, current_now = 0; +- int64_t energy_now = 0, energy_full = 0, current_now = 0; ++ int64_t current_now = 0; ++#endif ++ int64_t energy_now = 0, energy_full = 0; int seconds = 0; -- int8_t new_percentage = 0; -+ unsigned int new_percentage = 0; + int8_t new_percentage = 0; +#if defined(__OpenBSD__) + -+ /* OpenBSD */ + struct apm_power_info info; + if (ioctl(apm_fd, APM_IOC_GETPOWER, &(info)) < 0) + warn("power update: APM_IOC_GETPOWER"); @@ -112,42 +114,14 @@ $OpenBSD: patch-src_battery_battery_c,v + new_percentage = info.battery_life; + +#else -+ /* original linuxesque code */ -+ fp = fopen(path_status, "r"); if(fp != NULL) { if (fgets(tmp, sizeof tmp, fp)) { -@@ -240,6 +306,7 @@ void update_battery() { - fclose(fp); - } - -+ - fp = fopen(path_energy_now, "r"); - if(fp != NULL) { - if (fgets(tmp, sizeof tmp, fp)) energy_now = atoi(tmp); -@@ -272,20 +339,22 @@ void update_battery() { +@@ -271,6 +338,7 @@ void update_battery() { + break; } } else seconds = 0; - -+ if(energy_full > 0) -+ new_percentage = (energy_now*100)/energy_full; +#endif -+ + battery_state.time.hours = seconds / 3600; seconds -= 3600 * battery_state.time.hours; - battery_state.time.minutes = seconds / 60; - seconds -= 60 * battery_state.time.minutes; - battery_state.time.seconds = seconds; - -- if(energy_full > 0) -- new_percentage = (energy_now*100)/energy_full; -- - if(battery_low_status > new_percentage && battery_state.state == BATTERY_DISCHARGING && !battery_low_cmd_send) { - if (battery_low_cmd) - if (-1 != system(battery_low_cmd)) - battery_low_cmd_send = 1; - } -+ - if(battery_low_status < new_percentage && battery_state.state == BATTERY_CHARGING && battery_low_cmd_send) { - battery_low_cmd_send = 0; - } Index: patches/patch-src_battery_battery_h =================================================================== RCS file: patches/patch-src_battery_battery_h diff -N patches/patch-src_battery_battery_h --- patches/patch-src_battery_battery_h 19 Apr 2010 13:55:56 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-src_battery_battery_h,v 1.1 2010/04/19 13:55:56 edd Exp $ ---- src/battery/battery.h.orig Tue Jan 19 19:29:28 2010 -+++ src/battery/battery.h Fri Apr 16 01:40:55 2010 -@@ -42,7 +42,7 @@ typedef struct battime { - } battime; - - typedef struct batstate { -- int percentage; -+ unsigned int percentage; - struct battime time; - enum chargestate state; - } batstate; -- Best Regards Edd Barrett http://www.theunixzoo.co.uk