we don't need to set the font all the time
a686c9cc
2 file(s) · +5 −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 |
|
| 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 | } |