ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



menu(3X)                                                                                            menu(3X)



NAME
       menu - curses extension for programming menus

SYNOPSIS
       #include <menu.h>

DESCRIPTION
       The  menu  library  provides terminal-independent facilities for composing menu systems on character-cell charactercell
       cell terminals.  The library includes: item routines, which create and modify menu  items;  and  menu
       routines,  which group items into menus, display menus on the screen, and handle interaction with the
       user.

       The menu library uses the curses libraries, and a curses initialization routine such as initscr  must
       be called before using any of these functions.  To use the menu library, link with the options -lmenu
       -lcurses.


   Current Default Values for Item Attributes
       The menu library maintains a default value for item attributes.  You can get or set this  default  by
       calling  the appropriate get_ or set_ routine with a NULL item pointer.  Changing this default with a
       set_ function affects future item creations, but does not change the rendering of items already  cre-ated. created.
       ated.


   Routine Name Index
       The following table lists each menu routine and the name of the manual page on which it is described.


       curses Routine Name    Manual Page Name
       --------------------------------------------current_item -------------------------------------------current_item
       current_item           mitem_current(3X)
       free_item              mitem_new(3X)
       free_menu              menu_new(3X)
       item_count             menu_items(3X)
       item_description       mitem_name(3X)
       item_index             mitem_current(3X)
       item_init              menu_hook(3X)
       item_name              mitem_name(3X)
       item_opts              mitem_opts(3X)
       item_opts_off          mitem_opts(3X)
       item_opts_on           mitem_opts(3X)
       item_term              menu_hook(3X)
       item_userptr           mitem_userptr(3X)
       item_value             mitem_value(3X)
       item_visible           mitem_visible(3X)
       menu_back              menu_attributes(3X)
       menu_driver            menu_driver(3X)
       menu_fore              menu_attributes(3X)
       menu_format            menu_format(3X)
       menu_grey              menu_attributes(3X)
       menu_init              menu_hook(3X)
       menu_items             menu_items(3X)
       menu_mark              menu_mark(3X)
       menu_opts              menu_opts(3X)
       menu_opts_off          menu_opts(3X)
       menu_opts_on           menu_opts(3X)
       menu_pad               menu_attributes(3X)
       menu_pattern           menu_pattern(3X)
       menu_request_by_name   menu_requestname(3X)
       menu_request_name      menu_requestname(3X)
       menu_spacing           menu_spacing(3X)

       menu_sub               menu_win(3X)
       menu_term              menu_hook(3X)
       menu_userptr           menu_userptr(3X)
       menu_win               menu_win(3X)
       new_item               mitem_new(3X)
       new_menu               menu_new(3X)
       pos_menu_cursor        menu_cursor(3X)
       post_menu              menu_post(3X)
       scale_menu             menu_win(3X)
       set_current_item       mitem_current(3X)
       set_item_init          menu_hook(3X)
       set_item_opts          mitem_opts(3X)
       set_item_term          menu_hook(3X)
       set_item_userptr       mitem_userptr(3X)
       set_item_value         mitem_value(3X)
       set_menu_back          menu_attributes(3X)
       set_menu_fore          menu_attributes(3X)
       set_menu_format        menu_format(3X)
       set_menu_grey          menu_attributes(3X)
       set_menu_init          menu_hook(3X)
       set_menu_items         menu_items(3X)
       set_menu_mark          menu_mark(3X)
       set_menu_opts          mitem_opts(3X)
       set_menu_pad           menu_attributes(3X)
       set_menu_pattern       menu_pattern(3X)
       set_menu_spacing       menu_spacing(3X)
       set_menu_sub           menu_win(3X)
       set_menu_term          menu_hook(3X)
       set_menu_userptr       menu_userptr(3X)
       set_menu_win           menu_win(3X)
       set_top_row            mitem_current(3X)
       top_row                mitem_current(3X)
       unpost_menu            menu_post(3X)

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

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

       E_POSTED
            The menu is already posted.

       E_BAD_STATE
            Routine was called from an initialization or termination function.

       E_NO_ROOM
            Menu is too large for its window.

       E_NOT_POSTED
            The menu has not been posted.

       E_UNKNOWN_COMMAND
            The menu driver code saw an unknown request code.

       E_NO_MATCH
            Character failed to match.

       E_NOT_SELECTABLE
            The designated item cannot be selected.

       E_NOT_CONNECTED
            No items are connected to the menu.

       E_REQUEST_DENIED
            The menu driver could not process the request.

SEE ALSO
       curses(3X) and related pages whose names begin "menu_" for detailed descriptions of the entry points.

NOTES
       The header file <menu.h> automatically includes the header files <curses.h> and <eti.h>.

       In your library list, libmenu.a should be before libncurses.a; that  is,  you  want  to  say  `-lmenu
       -lncurses',  not  the  other  way  around (which would give you a link error using GNU ld(1) and many
       other linkers).

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

AUTHORS
       Juergen Pfeifer.  Manual pages and adaptation for ncurses by Eric S. Raymond.



                                                                                                    menu(3X)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.