Provided by: ncurses-doc_6.4+20230625-2_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.

SEE ALSO

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

NOTES

       The header file <menu.h> automatically includes the header file <curses.h>.

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.