--- xbattbar.c.patch2	Wed Jun 21 23:18:14 2000
+++ xbattbar.c	Wed Jun 21 23:32:53 2000
@@ -55,6 +55,7 @@
 
 int ac_line = -1;               /* AC line status */
 int battery_level = -1;         /* battery level */
+int battery_time = -1;          /* time remaining */
 
 unsigned long onin, onout;      /* indicator colors for AC online */
 unsigned long offin, offout;    /* indicator colors for AC offline */
@@ -328,12 +329,17 @@
   XGCValues theGC;
   int pixw, pixh;
   int boxw, boxh;
-  char diagmsg[64];
+  char diagmsg[100];
 
   /* compose diag message and calculate its size in pixels */
-  sprintf(diagmsg,
-         "AC %s-line: battery level is %d%%",
-         ac_line ? "on" : "off", battery_level);
+  if (battery_time > 0)
+    sprintf(diagmsg, "AC %s-line; battery level is %d%%;"
+	    " time remaining %d:%02d:%02d",
+	    ac_line ? "on" : "off", battery_level,
+	    battery_time / 3600, battery_time / 60 % 60, battery_time % 60);
+  else
+    sprintf(diagmsg, "AC %s-line: battery level is %d%%",
+            ac_line ? "on" : "off", battery_level);
   fontp = XLoadQueryFont(disp, DefaultFont);
   pixw = XTextWidth(fontp, diagmsg, strlen(diagmsg));
   pixh = fontp->ascent + fontp->descent;
@@ -502,6 +508,8 @@
   } else {
     p = APM_STAT_LINE_OFF;
   }
+
+  battery_time = info.ai_batt_time;
 
   if (first || ac_line != p || battery_level != r) {
     first = 0;

