tapplied dfenze drawtext simplifications - dwm - [fork] customized build of dwm… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 858251de46c50498b261b312f2df03531dd9923c | |
parent d26c28c1e7b01024b0559b4bc7b40c85d96dc701 | |
Author: Anselm R Garbe <[email protected]> | |
Date: Sun, 27 Apr 2008 18:00:45 +0100 | |
applied dfenze drawtext simplifications | |
Diffstat: | |
M dwm.c | 15 +++++++-------- | |
1 file changed, 7 insertions(+), 8 deletions(-) | |
--- | |
diff --git a/dwm.c b/dwm.c | |
t@@ -210,7 +210,7 @@ int xerrorstart(Display *dpy, XErrorEvent *ee); | |
void zoom(const char *arg); | |
/* variables */ | |
-char stext[256], buf[256]; | |
+char stext[256]; | |
int screen, sx, sy, sw, sh; | |
int (*xerrorxlib)(Display *, XErrorEvent *); | |
int bx, by, bw, bh, blw, bgw, mx, my, mw, mh, mox, moy, mow, moh, tx, ty, tw, … | |
t@@ -597,22 +597,23 @@ drawtext(const char *text, unsigned long col[ColLast], B… | |
int x, y, w, h; | |
unsigned int len, olen; | |
XRectangle r = { dc.x, dc.y, dc.w, dc.h }; | |
+ char buf[256]; | |
XSetForeground(dpy, dc.gc, col[invert ? ColFG : ColBG]); | |
XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); | |
if(!text) | |
return; | |
- w = 0; | |
olen = strlen(text); | |
- len = MIN(olen, sizeof buf - 1); | |
+ len = MIN(olen, sizeof buf); | |
memcpy(buf, text, len); | |
- buf[len] = 0; | |
+ w = 0; | |
h = dc.font.ascent + dc.font.descent; | |
y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent; | |
x = dc.x + (h / 2); | |
/* shorten text if necessary */ | |
- while(len && (w = textnw(buf, len)) > dc.w - h) | |
- buf[--len] = 0; | |
+ for(; len && (w = textnw(buf, len)) > dc.w - h; len--); | |
+ if (!len) | |
+ return; | |
if(len < olen) { | |
if(len > 1) | |
buf[len - 1] = '.'; | |
t@@ -621,8 +622,6 @@ drawtext(const char *text, unsigned long col[ColLast], Boo… | |
if(len > 3) | |
buf[len - 3] = '.'; | |
} | |
- if(w > dc.w) | |
- return; /* too long */ | |
XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]); | |
if(dc.font.set) | |
XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf,… |