we don't need to set the font all the time a686c9cc
Anselm R. Garbe · 2007-03-02 15:14 2 file(s) · +5 −9
draw.c +3 −9
95 95
	int x, y, w, h;
96 96
	static char buf[256];
97 97
	unsigned int len, olen;
98 -
	XGCValues gcv;
99 98
	XRectangle r = { dc.x, dc.y, dc.w, dc.h };
100 99
101 100
	XSetForeground(dpy, dc.gc, col[ColBG]);
124 123
	}
125 124
	if(w > dc.w)
126 125
		return; /* too long */
127 -
	gcv.foreground = col[ColFG];
128 -
	if(dc.font.set) {
129 -
		XChangeGC(dpy, dc.gc, GCForeground, &gcv);
126 +
	XSetForeground(dpy, dc.gc, col[ColFG]);
127 +
	if(dc.font.set)
130 128
		XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len);
131 -
	}
132 -
	else {
133 -
		gcv.font = dc.font.xfont->fid;
134 -
		XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv);
129 +
	else
135 130
		XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
136 -
	}
137 131
}
138 132
139 133
unsigned int
main.c +2 −0
205 205
	dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
206 206
	dc.gc = XCreateGC(dpy, root, 0, 0);
207 207
	XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
208 +
	if(!dc.font.set)
209 +
		XSetFont(dpy, dc.gc, dc.font.xfont->fid);
208 210
	/* multihead support */
209 211
	selscreen = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
210 212
}