commit a5f31f570774ca1d4a504d8c13c96af0217635a7 from: Connor Lane Smith date: Fri Aug 20 18:42:58 2010 UTC fixed width bug commit - b81c1e88cdf637e184c5733c87a728df8471fe4e commit + a5f31f570774ca1d4a504d8c13c96af0217635a7 blob - 2596b56d5c015f1859df8694e56d642c78683aff blob + 5ae611f57658cff1f37790bc8d97109846b1c012 --- dmenu.c +++ dmenu.c @@ -83,10 +83,10 @@ calcoffsets(void) { n = mw - (promptw + inputw + dc_textw(dc, "<") + dc_textw(dc, ">")); for(i = 0, next = curr; next; next = next->right) - if((i += (lines > 0) ? bh : dc_textw(dc, next->text)) > n) + if((i += (lines > 0) ? bh : MIN(dc_textw(dc, next->text), n)) > n) break; for(i = 0, prev = curr; prev && prev->left; prev = prev->left) - if((i += (lines > 0) ? bh : dc_textw(dc, prev->left->text)) > n) + if((i += (lines > 0) ? bh : MIN(dc_textw(dc, prev->left->text), n)) > n) break; } @@ -124,7 +124,7 @@ drawmenu(void) { dc_drawtext(dc, "<", normcol); for(item = curr; item != next; item = item->right) { dc->x += dc->w; - dc->w = dc_textw(dc, item->text); + dc->w = MIN(dc_textw(dc, item->text), mw - dc->x); dc_drawtext(dc, item->text, (item == sel) ? selcol : normcol); } dc->w = dc_textw(dc, ">");