$NetBSD: patch-af,v 1.1.1.1 2002/09/07 20:22:53 jschauma Exp $ --- bbapm.cc.orig Sat Sep 7 13:50:55 2002 +++ bbapm.cc Sat Sep 7 14:04:14 2002 @@ -28,6 +28,9 @@ ToolWindow::ToolWindow(int argc, char **argv): Basewindow(argc, argv) { + resource = NULL; + load = NULL; + close_app = False; broken = False; @@ -308,13 +311,14 @@ if (!broken) { +#if !(defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__)) if (apm_exists() < 0) broken = True; - else { + else +#endif if ((apm_read(&apm))<0) broken = True; } - } if (redraw) Redraw(); @@ -336,7 +340,11 @@ // loadbar to show that the battery is loading. A bit like GSM. But // in this case the label will show how far the loading is done. if ((resource->show.loading) && +#if !(defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__)) (apm.ac_line_status==1) && +#else + (apm.ac_state==1) && +#endif (resource->show.percentage)) { for (i=0; i < resource->loadbar.number_of_bars; i++) { if (noLoadBarFilled>=i) { @@ -357,11 +365,23 @@ if (resource->show.percentage) { #ifdef DEBUG cerr << "Toolwindow::Redraw: drawing percentage " << +#if defined(__NetBSD__) || defined(__OpenBSD__) + apm.battery_life << " " << +#elif defined(__FreeBSD__) + apm.ai_batt_life << " " << +#else apm.battery_percentage << " " << +#endif resource->loadbar.number_of_bars << endl; #endif for (i = 0; i < resource->loadbar.number_of_bars; i++) { +#if defined(__NetBSD__) || defined(__OpenBSD__) + if (apm.battery_life >= load[i].level) +#elif defined(__FreeBSD__) + if (apm.ai_batt_life >= load[i].level) +#else if (apm.battery_percentage >= load[i].level) +#endif XCopyArea(dpy, pixmap.loadbar_active, framewin, frameGC, 2, load[i].y - 1, load[i].width, load[i].height, load[i].x, @@ -389,7 +409,13 @@ XSetForeground(dpy, frameGC, resource->label.percentage_textColor.pixel); +#if defined(__NetBSD__) || defined(__OpenBSD__) + sprintf(t, "%03d%%", apm.battery_life); +#elif defined(__FreeBSD__) + sprintf(t, "%03d%%", apm.ai_batt_life); +#else sprintf(t, "%03d%%", apm.battery_percentage); +#endif XDrawString(dpy, labelwin, frameGC, label.space_width, (label.height + resource->label.font->ascent - resource->label.font->descent) / 2, @@ -413,7 +439,13 @@ XSetForeground(dpy, frameGC, resource->label.time_textColor.pixel); +#if defined(__NetBSD__) || defined(__OpenBSD__) + sprintf(t, "%02d:%02d", apm.minutes_left/60, apm.minutes_left%60); +#elif defined(__FreeBSD__) + sprintf(t, "%02d:%02d", apm.ai_batt_time/60, apm.ai_batt_time%60); +#else sprintf(t, "%02d:%02d", apm.battery_time/60, apm.battery_time%60); +#endif XDrawString(dpy, labelwin, frameGC, xposition, (label.height + resource->label.font->ascent - resource->label.font->descent) / 2, t, strlen(t)); @@ -519,7 +551,11 @@ } } +#if !(defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__)) if (apm.ac_line_status==1) { +#else + if (apm.ac_state==1) { +#endif if (time(NULL) - lastLoadingTime > resource->show.loadingTime) { ReadAPM(); lastLoadingTime = time(NULL); @@ -565,6 +601,11 @@ int main(int argc, char **argv) { +#if defined(__NetBSD__) || defined(__OpenBSD__) + apm_init(); +#elif defined(__FreeBSD__) + apm_exists(); +#endif ToolWindow * AppWindow = new ToolWindow(argc, argv);