Re: [PATCH 3/3] menuconfig: reclaim vertical space

Masahiro Yamada
2023-03-21T06:02:42Z

On Sat, Mar 11, 2023 at 8:43 PM Alexey Dobriyan <adobriyan@gmail.com> wrote:
>
> Menuconfig has lots of vertical space wasted: on my system there are
> 17 lines of useful information about config options and 14 lines of
> useless fluff: legend, horizontal separators and shadows.
>
> Sitation is even worse on smaller terminals because fixed vertical
> lines do not go away, but config option lines do, further decreasing
> informational density. Minimum reasonable 80×24 text console has only
> 10(!) lines of menus presented which is less than half of the screen.

I think nconfig is a better fit for your system.

In my understanding, the concept of menuconfig
is to use a similar appearance to the 'dialog' tool
although we have largely modified the code.

>
> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
> ---
> scripts/kconfig/lxdialog/menubox.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/kconfig/lxdialog/menubox.c b/scripts/kconfig/lxdialog/menubox.c
> index 5eb67c04821f..dc608914c636 100644
> --- a/scripts/kconfig/lxdialog/menubox.c
> +++ b/scripts/kconfig/lxdialog/menubox.c
> @@ -183,14 +183,14 @@ int dialog_menu(const char *title, const char *prompt,
> if (height < MENUBOX_HEIGTH_MIN || width < MENUBOX_WIDTH_MIN)
> return -ERRDISPLAYTOOSMALL;
>
> - height -= 4;
> + height -= 2;
> menu_height = height - 10;
>
> max_choice = MIN(menu_height, item_count());
>
> /* center dialog box on screen */
> - x = (getmaxx(stdscr) - width) / 2;
> - y = (getmaxy(stdscr) - height) / 2;
> + x = 0;
> + y = 2;
>
> dialog = newwin(height, width, y, x);
> keypad(dialog, TRUE);
> --
> 2.39.2
>

You missed to adjust dialog_textbox().

(1) Run 'make menuconfig'
(2) Press < Help > button to show help message
(3) Press < Exit > button to get back

When you do (2) and (3), please make sure
the size of the grey window is not changed.

This is how the current menuconfig works.

I want to leave the blue frame.
My personal preference is

height -= 3;
width -= 2;

--
Best Regards
Masahiro Yamada