fixed string cutting
28a52197
1 file(s) · +6 −6
| 65 | 65 | while(len && (w = textnw(buf, len)) > dc.w - h) |
|
| 66 | 66 | buf[--len] = 0; |
|
| 67 | 67 | if(len < olen) { |
|
| 68 | + | if(len > 1) |
|
| 69 | + | buf[len - 1] = '.'; |
|
| 70 | + | if(len > 2) |
|
| 71 | + | buf[len - 2] = '.'; |
|
| 68 | 72 | if(len > 3) |
|
| 69 | - | memcpy(buf + len - 4, "...\0", 4); |
|
| 70 | - | else if(len > 2) |
|
| 71 | - | memcpy(buf + len - 3, "..\0", 3); |
|
| 72 | - | else if(len > 1) |
|
| 73 | - | memcpy(buf + len - 2, ".\0", 2); |
|
| 73 | + | buf[len - 3] = '.'; |
|
| 74 | 74 | } |
|
| 75 | 75 | ||
| 76 | 76 | if(w > dc.w) |
|
| 160 | 160 | } |
|
| 161 | 161 | } |
|
| 162 | 162 | dc.x += dc.w; |
|
| 163 | - | dc.w = textw(c->name); |
|
| 163 | + | dc.w = c->tw - dc.x; |
|
| 164 | 164 | drawtext(c->name, !istile); |
|
| 165 | 165 | XCopyArea(dpy, dc.drawable, c->title, dc.gc, 0, 0, c->tw, c->th, 0, 0); |
|
| 166 | 166 | XSync(dpy, False); |
|