about summary refs log tree commit diff stats
path: root/bar.c
diff options
context:
space:
mode:
authorAnselm R. Garbe <garbeam@wmii.de>2006-07-14 10:07:38 +0200
committerAnselm R. Garbe <garbeam@wmii.de>2006-07-14 10:07:38 +0200
commit9cd686c93a80b4095d4ee0960bef320ccd9ea02c (patch)
tree5bc29a58baac6bd0d241a3e923380efe1d7b5f8f /bar.c
parent1549faf3b93f77aee08e7aad12c75f6b6ca4c058 (diff)
downloaddwm-9cd686c93a80b4095d4ee0960bef320ccd9ea02c.tar.gz
implemented bar for dwm (I miss status text), I plan that status text is read from stdin in dwm
Diffstat (limited to 'bar.c')
-rw-r--r--bar.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/bar.c b/bar.c
new file mode 100644
index 0000000..9914e56
--- /dev/null
+++ b/bar.c
@@ -0,0 +1,40 @@
+/*
+ * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
+ * See LICENSE file for license details.
+ */
+
+#include "dwm.h"
+
+void
+draw_bar()
+{
+	int i;
+	dc.x = dc.y = 0;
+	dc.w = bw;
+	drawtext(NULL, False);
+
+	dc.w = 0;
+	for(i = 0; i < TLast; i++) {
+		dc.x += dc.w;
+		dc.w = textw(tags[i]) + dc.font.height;
+		if(i == tsel) {
+			swap((void **)&dc.fg, (void **)&dc.bg);
+			drawtext(tags[i], True);
+			swap((void **)&dc.fg, (void **)&dc.bg);
+		}
+		else
+			drawtext(tags[i], True);
+	}
+	if(sel) {
+		swap((void **)&dc.fg, (void **)&dc.bg);
+		dc.x += dc.w;
+		dc.w = textw(sel->name) + dc.font.height;
+		drawtext(sel->name, True);
+		swap((void **)&dc.fg, (void **)&dc.bg);
+	}
+	dc.w = textw(stext) + dc.font.height;
+	dc.x = bx + bw - dc.w;
+	drawtext(stext, False);
+	XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0);
+	XFlush(dpy);
+}