# menu_win 3x

    menu_win(3x)                                                      menu_win(3x)

## 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

           curses(3x), curs_variables(3x), menu(3x).

## 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.

                                                                      menu_win(3x)