also, don't set the font all the time
724f7214
3 file(s) · +7 −12
| 1 | 1 | # dmenu version |
|
| 2 | - | VERSION = 2.6 |
|
| 2 | + | VERSION = 2.7 |
|
| 3 | 3 | ||
| 4 | 4 | # Customize below to fit your system |
|
| 5 | 5 |
| 12 | 12 | int x, y, w, h; |
|
| 13 | 13 | static char buf[256]; |
|
| 14 | 14 | unsigned int len, olen; |
|
| 15 | - | XGCValues gcv; |
|
| 16 | 15 | XRectangle r = { dc.x, dc.y, dc.w, dc.h }; |
|
| 17 | 16 | ||
| 18 | 17 | XSetForeground(dpy, dc.gc, col[ColBG]); |
|
| 41 | 40 | } |
|
| 42 | 41 | if(w > dc.w) |
|
| 43 | 42 | return; /* too long */ |
|
| 44 | - | gcv.foreground = col[ColFG]; |
|
| 45 | - | if(dc.font.set) { |
|
| 46 | - | XChangeGC(dpy, dc.gc, GCForeground, &gcv); |
|
| 47 | - | XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, |
|
| 48 | - | x, y, buf, len); |
|
| 49 | - | } |
|
| 50 | - | else { |
|
| 51 | - | gcv.font = dc.font.xfont->fid; |
|
| 52 | - | XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv); |
|
| 43 | + | XSetForeground(dpy, dc.gc, col[ColFG]); |
|
| 44 | + | if(dc.font.set) |
|
| 45 | + | XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len); |
|
| 46 | + | else |
|
| 53 | 47 | XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); |
|
| 54 | - | } |
|
| 55 | 48 | } |
|
| 56 | 49 | ||
| 57 | 50 | unsigned int |
|
| 493 | 493 | dc.drawable = XCreatePixmap(dpy, root, mw, mh, DefaultDepth(dpy, screen)); |
|
| 494 | 494 | dc.gc = XCreateGC(dpy, root, 0, 0); |
|
| 495 | 495 | XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); |
|
| 496 | + | if(!dc.font.set) |
|
| 497 | + | XSetFont(dpy, dc.gc, dc.font.xfont->fid); |
|
| 496 | 498 | if(maxname) |
|
| 497 | 499 | cmdw = textw(maxname); |
|
| 498 | 500 | if(cmdw > mw / 3) |