Provided by: ncurses-doc_6.4+20240113-1ubuntu2_all bug

NAME

       menu_win - make and break menu window and subwindow associations

SYNOPSIS

       #include <menu.h>

       int set_menu_win(MENU *menu, WINDOW *win);
       WINDOW *menu_win(const MENU *menu);

       int set_menu_sub(MENU *menu, WINDOW *sub);
       WINDOW *menu_sub(const MENU *menu);

       int scale_menu(const MENU *menu, int *rows, int *columns);

DESCRIPTION

       Every  menu  has  an  associated  pair  of curses windows.  The menu window displays any title and border
       associated with the window; the menu subwindow  displays  the  items  of  the  menu  that  are  currently
       available for selection.

       The  first  four  functions  get  and  set  those  windows.  It is not necessary to set either window; by
       default, the driver code uses stdscr for both.

       In the set_ functions, window argument of NULL is treated as though it were stsdcr.  A menu  argument  of
       NULL is treated as a request to change the system default menu window or subwindow.

       The function scale_menu returns the minimum size required for the subwindow of menu.

RETURN VALUE

       Routines  that  return  pointers return NULL on error.  Routines that return an integer return one of the
       following error codes:

       E_OK The routine succeeded.

       E_SYSTEM_ERROR
            System error occurred (see errno(3)).

       E_BAD_ARGUMENT
            Routine detected an incorrect or out-of-range argument.

       E_POSTED
            The menu has already been posted.

       E_NOT_CONNECTED
            No items are connected to the menu.

PORTABILITY

       These routines emulate the System V menu library.  They were not supported on Version 7 or BSD versions.

AUTHORS

       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S. Raymond.

SEE ALSO

       ncurses(3NCURSES), curses_variables(3NCURSES), menu(3MENU)