all repos — dmenu @ 724f72142f6dc880068a92e412f3f3366e643569

my build of dmenu

also, don't set the font all the time
Anselm R. Garbe arg@suckless.org
Fri, 02 Mar 2007 15:16:36 +0100
commit

724f72142f6dc880068a92e412f3f3366e643569

parent

5b8dce15d3e4d1e50fc4f1df10665260f74a0a02

3 files changed, 7 insertions(+), 12 deletions(-)

jump to
M config.mkconfig.mk

@@ -1,5 +1,5 @@

# dmenu version -VERSION = 2.6 +VERSION = 2.7 # Customize below to fit your system
M draw.cdraw.c

@@ -12,7 +12,6 @@ drawtext(const char *text, unsigned long col[ColLast]) {

int x, y, w, h; static char buf[256]; unsigned int len, olen; - XGCValues gcv; XRectangle r = { dc.x, dc.y, dc.w, dc.h }; XSetForeground(dpy, dc.gc, col[ColBG]);

@@ -41,17 +40,11 @@ buf[len - 3] = '.';

} if(w > dc.w) return; /* too long */ - gcv.foreground = col[ColFG]; - if(dc.font.set) { - XChangeGC(dpy, dc.gc, GCForeground, &gcv); - XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, - x, y, buf, len); - } - else { - gcv.font = dc.font.xfont->fid; - XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv); + XSetForeground(dpy, dc.gc, col[ColFG]); + if(dc.font.set) + XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len); + else XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); - } } unsigned int
M main.cmain.c

@@ -493,6 +493,8 @@ /* pixmap */

dc.drawable = XCreatePixmap(dpy, root, mw, mh, DefaultDepth(dpy, screen)); dc.gc = XCreateGC(dpy, root, 0, 0); XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); + if(!dc.font.set) + XSetFont(dpy, dc.gc, dc.font.xfont->fid); if(maxname) cmdw = textw(maxname); if(cmdw > mw / 3)