and the winner is c73d5cb7
arg@mig29 · 2006-12-01 17:45 2 file(s) · +20 −14
draw.c +17 −12
30 30
}
31 31
32 32
static void
33 -
drawtext(const char *text, unsigned long col[ColLast], Bool dot, Bool corner) {
33 +
drawtext(const char *text, unsigned long col[ColLast], Bool filleddot, Bool emptydot) {
34 34
	int x, y, w, h;
35 35
	static char buf[256];
36 36
	unsigned int len, olen;
37 37
	XGCValues gcv;
38 38
	XRectangle r = { dc.x, dc.y, dc.w, dc.h };
39 -
	XPoint pt[3];
39 +
	XPoint pt[5];
40 40
41 41
	XSetForeground(dpy, dc.gc, col[ColBG]);
42 42
	XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
74 74
		XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv);
75 75
		XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
76 76
	}
77 -
	if(dot) {
77 +
	x = (h + 2) / 4;
78 +
	if(filleddot) {
78 79
		r.x = dc.x + 2;
79 80
		r.y = dc.y + 2;
80 -
		r.width = r.height = (h + 2) / 4;
81 +
		r.width = r.height = x;
81 82
		XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
82 83
	}
83 -
	if(corner) {
84 -
		pt[0].x = dc.x + 1;
85 -
		pt[0].y = dc.y + dc.h / 2 + 1;
86 -
		pt[1].x = 0;
87 -
		pt[1].y = - dc.h / 2;
88 -
		pt[2].x = dc.h / 2;
89 -
		pt[2].y = 0;
90 -
		XDrawLines(dpy, dc.drawable, dc.gc, pt, 3, CoordModePrevious);
84 +
	if(emptydot) {
85 +
		pt[0].x = dc.x + 2;
86 +
		pt[0].y = dc.y + 2;
87 +
		pt[1].x = x;
88 +
		pt[1].y = 0;
89 +
		pt[2].x = 0;
90 +
		pt[2].y = x;
91 +
		pt[3].x = -x;
92 +
		pt[3].y = 0;
93 +
		pt[4].x = 0;
94 +
		pt[4].y = -x;
95 +
		XDrawLines(dpy, dc.drawable, dc.gc, pt, 5, CoordModePrevious);
91 96
	}
92 97
}
93 98
dwm.1 +3 −2
21 21
dwm contains a small status bar which displays all available tags, the mode,
22 22
the title of the focused window, and the text read from standard input. The
23 23
selected tags are indicated with a different color. The tags of the focused
24 -
window are indicated with a small point in the top left corner.  The tags which
25 -
are applied to one or more clients are indicated with a top line.
24 +
window are indicated with a filled square in the top left corner.  The tags
25 +
which are applied to one or more clients are indicated with an empty square in
26 +
the top left corner.
26 27
.P
27 28
dwm draws a 1-pixel border around windows to indicate the focus state.
28 29
Unfocused windows contain a small bar in front of them displaying their title.