Introduction
Introduction Statistics Contact Development Disclaimer Help
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,…
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.