about summary refs log tree commit diff stats
path: root/wm.c
diff options
context:
space:
mode:
Diffstat (limited to 'wm.c')
-rw-r--r--wm.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/wm.c b/wm.c
index f247372..837be3c 100644
--- a/wm.c
+++ b/wm.c
@@ -27,7 +27,7 @@ XRectangle rect, barrect;
 Bool running = True;
 Bool sel_screen;
 
-char *bartext, tag[256];
+char statustext[1024], tag[256];
 int screen;
 
 Brush brush = {0};
@@ -35,9 +35,15 @@ Client *clients = NULL;
 Client *stack = NULL;
 
 static Bool other_wm_running;
-static char version[] = "gridwm - " VERSION ", (C)opyright MMVI Anselm R. Garbe\n";
+static const char version[] = "gridwm - " VERSION ", (C)opyright MMVI Anselm R. Garbe\n";
 static int (*x_error_handler) (Display *, XErrorEvent *);
 
+static const char *status[] = {
+	"sh", "-c", "echo -n `date '+%Y/%m/%d %H:%M'`" 
+	" `uptime | sed 's/.*://; s/,//g'`"
+	" `acpi | awk '{print $4}' | sed 's/,//'`", 0
+};
+
 static void
 usage()
 {
@@ -258,9 +264,9 @@ main(int argc, char *argv[])
 			barrect.width, barrect.height, 0, DefaultDepth(dpy, screen),
 			CopyFromParent, DefaultVisual(dpy, screen),
 			CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
-	bartext = NULL;
 	XDefineCursor(dpy, barwin, cursor[CurNormal]);
 	XMapRaised(dpy, barwin);
+	pipe_spawn(statustext, sizeof(statustext), dpy, (char **)status);
 	draw_bar();
 
 	wa.event_mask = SubstructureRedirectMask | EnterWindowMask \
@@ -282,8 +288,10 @@ main(int argc, char *argv[])
 		t = timeout;
 		if(select(ConnectionNumber(dpy) + 1, &fds, NULL, NULL, &t) > 0)
 			continue;
-		else if(errno != EINTR)
+		else if(errno != EINTR) {
+			pipe_spawn(statustext, sizeof(statustext), dpy, (char **)status);
 			draw_bar();
+		}
 	}
 
 	cleanup();