diff options
| -rw-r--r-- | dmenu.c | 11 |
1 files changed, 6 insertions, 5 deletions
| @@ -82,11 +82,12 @@ calcoffsets(void) { | |||
| 82 | else | 82 | else |
| 83 | n = mw - (promptw + inputw + textw(dc, "<") + textw(dc, ">")); | 83 | n = mw - (promptw + inputw + textw(dc, "<") + textw(dc, ">")); |
| 84 | 84 | ||
| 85 | for(i = 0, next = curr; i <= n && next; next = next->right) | 85 | for(i = 0, next = curr; next; next = next->right) |
| 86 | i += (lines > 0) ? LINEH : MIN(textw(dc, next->text), mw/3); | 86 | if((i += (lines > 0) ? LINEH : MIN(textw(dc, next->text), mw/3)) > n) |
| 87 | 87 | break; | |
| 88 | for(i = 0, prev = curr; i <= n && prev && prev->left; prev = prev->left) | 88 | for(i = 0, prev = curr; prev && prev->left; prev = prev->left) |
| 89 | i += (lines > 0) ? LINEH : MIN(textw(dc, prev->left->text), mw/3); | 89 | if((i += (lines > 0) ? LINEH : MIN(textw(dc, prev->left->text), mw/3)) > n) |
| 90 | break; | ||
| 90 | } | 91 | } |
| 91 | 92 | ||
| 92 | char * | 93 | char * |
