commit e1e1de7b3b8399cba90ddca9613f837b2dbef7b9
parent 33685b06e9332638769e677e77b257e24e069fd1
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Fri, 29 Apr 2022 20:15:48 +0200

inputw: improve correctness and startup performance, by NRK

Always use ~30% of the monitor width for the input in horizontal mode.

Patch adapted from NRK patches.
This also does not calculate inputw when using vertical mode anymore (because
the code is removed).

Diffstat:
Mdmenu.c | 10++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/dmenu.c b/dmenu.c @@ -610,13 +610,12 @@ static void setup(void) { int x, y, i, j; - unsigned int du, tmp; + unsigned int du; XSetWindowAttributes swa; XIM xim; Window w, dw, *dws; XWindowAttributes wa; XClassHint ch = {"dmenu", "dmenu"}; - struct item *item; #ifdef XINERAMA XineramaScreenInfo *info; Window pw; @@ -674,12 +673,7 @@ setup(void) mw = wa.width; } promptw = (prompt && *prompt) ? TEXTW(prompt) - lrpad / 4 : 0; - for (item = items; item && item->text; ++item) { - if ((tmp = textw_clamp(item->text, mw/3)) > inputw) { - if ((inputw = tmp) == mw/3) - break; - } - } + inputw = mw / 3; /* input width: ~30% of monitor width */ match(); /* create menu window */