X-Git-Url: https://jasonwoof.com/gitweb/?p=dwm.git;a=blobdiff_plain;f=dwm.c;h=05fbf58479a373583f26c6c2eeeb955b64e88c1e;hp=89301004c9886358762eaa9f7d910c5fb72ef2f4;hb=32f36ab2d58b7bcbadc0b1c9c88654cdf906c71d;hpb=fc578c57e4c265cefff0a55a0ca74172a84e757d diff --git a/dwm.c b/dwm.c index 8930100..05fbf58 100644 --- a/dwm.c +++ b/dwm.c @@ -551,8 +551,7 @@ drawsquare(Bool filled, Bool empty, Bool invert, ulong col[ColLast]) { void drawtext(const char *text, ulong col[ColLast], Bool invert) { - int x, y, w, h; - uint len, olen; + int i, x, y, h, len, olen; XRectangle r = { dc.x, dc.y, dc.w, dc.h }; char buf[256]; @@ -563,16 +562,15 @@ drawtext(const char *text, ulong col[ColLast], Bool invert) { olen = strlen(text); len = MIN(olen, sizeof buf); memcpy(buf, text, len); - 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 */ - for(; len && (w = textnw(buf, len)) > dc.w - h; len--); + for(; len && (i = textnw(buf, len)) > dc.w - h; len--); if(!len) return; if(len < olen) - memcpy(&buf[MAX(0, len - 3)], "...", 3); + for(i = len; i >= MAX(0, len - 3); buf[i--] = '.'); XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]); if(dc.font.set) XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len); @@ -613,7 +611,7 @@ expose(XEvent *e) { void focus(Client *c) { - if(!c || (c && c->isbanned)) + if(!c || c->isbanned) for(c = stack; c && c->isbanned; c = c->snext); if(sel && sel != c) { grabbuttons(sel, False); @@ -623,14 +621,12 @@ focus(Client *c) { detachstack(c); attachstack(c); grabbuttons(c, True); - } - sel = c; - if(c) { XSetWindowBorder(dpy, c->win, dc.sel[ColBorder]); XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); } else XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); + sel = c; drawbar(); } @@ -1566,8 +1562,8 @@ updatebar(void) { void updategeom(void) { - int i; #ifdef XINERAMA + int i; XineramaScreenInfo *info = NULL; /* window area geometry */