commit e1e1de7b3b8399cba90ddca9613f837b2dbef7b9
Author:     Hiltjo Posthuma <[email protected]>
AuthorDate: Fri Apr 29 20:15:48 2022 +0200
Commit:     Hiltjo Posthuma <[email protected]>
CommitDate: Fri Apr 29 20:18:02 2022 +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).

diff --git a/dmenu.c b/dmenu.c
index 839f6cc..4e286cf 100644
--- 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 */

Reply via email to