X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/4d67199a4bb68e5377d2fece62a83fde66c92861..07c2659806e95499b4a258ff1961e61c541f50b3:/draw.c?ds=sidebyside diff --git a/draw.c b/draw.c index 6edb0a3..2ccaf6a 100644 --- a/draw.c +++ b/draw.c @@ -65,12 +65,12 @@ drawtext(const char *text, Bool invert) while(len && (w = textnw(buf, len)) > dc.w - h) buf[--len] = 0; if(len < olen) { + if(len > 1) + buf[len - 1] = '.'; + if(len > 2) + buf[len - 2] = '.'; if(len > 3) - memcpy(buf + len - 4, "...\0", 4); - else if(len > 2) - memcpy(buf + len - 3, "..\0", 3); - else if(len > 1) - memcpy(buf + len - 2, ".\0", 2); + buf[len - 3] = '.'; } if(w > dc.w) @@ -149,18 +149,17 @@ drawtitle(Client *c) XSetWindowBorder(dpy, c->win, dc.bg); XMapWindow(dpy, c->title); - dc.x = dc.y = 0; - - dc.w = 0; + dc.y = dc.w = 0; + dc.x = c->tw; for(i = 0; i < ntags; i++) { if(c->tags[i]) { - dc.x += dc.w; dc.w = textw(tags[i]); + dc.x -= dc.w; drawtext(tags[i], !istile); } } - dc.x += dc.w; - dc.w = textw(c->name); + dc.w = dc.x; + dc.x = 0; drawtext(c->name, !istile); XCopyArea(dpy, dc.drawable, c->title, dc.gc, 0, 0, c->tw, c->th, 0, 0); XSync(dpy, False);