dmenu

dynamic menu
git clone git://git.suckless.org/dmenu
Log | Files | Refs | README | LICENSE

commit a5f31f570774ca1d4a504d8c13c96af0217635a7
parent b81c1e88cdf637e184c5733c87a728df8471fe4e
Author: Connor Lane Smith <cls@lubutu.com>
Date:   Fri, 20 Aug 2010 19:42:58 +0100

fixed width bug
Diffstat:
Mdmenu.c | 6+++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/dmenu.c b/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, ">");