*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> menu (3)              



NAME    [Toc]    [Back]

       menu - curses extension for programming menus

SYNOPSIS    [Toc]    [Back]

       #include <menu.h>

DESCRIPTION    [Toc]    [Back]

       The  menu library provides terminal-independent facilities
       for composing menu systems  on  character-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    [Toc]    [Back]
       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 created.

   Routine Name Index    [Toc]    [Back]
       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           mitem_current(3)
       free_item              mitem_new(3)
       free_menu              menu_new(3)
       item_count             menu_items(3)
       item_description       mitem_name(3)
       item_index             mitem_current(3)
       item_init              menu_hook(3)
       item_name              mitem_name(3)
       item_opts              mitem_opts(3)
       item_opts_off          mitem_opts(3)
       item_opts_on           mitem_opts(3)
       item_term              menu_hook(3)
       item_userptr           mitem_userptr(3)
       item_value             mitem_value(3)
       item_visible           mitem_visible(3)
       menu_back              menu_attributes(3)
       menu_driver            menu_driver(3)
       menu_fore              menu_attributes(3)
       menu_format            menu_format(3)
       menu_grey              menu_attributes(3)
       menu_init              menu_hook(3)
       menu_items             menu_items(3)
       menu_mark              menu_mark(3)
       menu_opts              menu_opts(3)
       menu_opts_off          menu_opts(3)
       menu_opts_on           menu_opts(3)
       menu_pad               menu_attributes(3)
       menu_pattern           menu_pattern(3)
       menu_request_by_name   menu_requestname(3)
       menu_request_name      menu_requestname(3)
       menu_spacing           menu_spacing(3)
       menu_sub               menu_win(3)
       menu_term              menu_hook(3)
       menu_userptr           menu_userptr(3)
       menu_win               menu_win(3)
       new_item               mitem_new(3)
       new_menu               menu_new(3)
       pos_menu_cursor        menu_cursor(3)
       post_menu              menu_post(3)
       scale_menu             menu_win(3)
       set_current_item       mitem_current(3)
       set_item_init          menu_hook(3)
       set_item_opts          mitem_opts(3)
       set_item_term          menu_hook(3)
       set_item_userptr       mitem_userptr(3)
       set_item_value         mitem_value(3)
       set_menu_back          menu_attributes(3)
       set_menu_fore          menu_attributes(3)
       set_menu_format        menu_format(3)
       set_menu_grey          menu_attributes(3)
       set_menu_init          menu_hook(3)
       set_menu_items         menu_items(3)
       set_menu_mark          menu_mark(3)
       set_menu_opts          mitem_opts(3)
       set_menu_pad           menu_attributes(3)
       set_menu_pattern       menu_pattern(3)
       set_menu_spacing       menu_spacing(3)
       set_menu_sub           menu_win(3)
       set_menu_term          menu_hook(3)
       set_menu_userptr       menu_userptr(3)
       set_menu_win           menu_win(3)
       set_top_row            mitem_current(3)
       top_row                mitem_current(3)
       unpost_menu            menu_post(3)

RETURN VALUE    [Toc]    [Back]

       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.
            System error occurred (see errno).

       E_BAD_ARGUMENT    [Toc]    [Back]
            Routine  detected  an incorrect or out-of-range argument.

       E_POSTED    [Toc]    [Back]
            The menu is already posted.

       E_BAD_STATE    [Toc]    [Back]
            Routine was called from an initialization or termination

       E_NO_ROOM    [Toc]    [Back]
            Menu is too large for its window.

       E_NOT_POSTED    [Toc]    [Back]
            The menu has not been posted.

       E_UNKNOWN_COMMAND    [Toc]    [Back]
            The menu driver code saw an unknown request code.

       E_NO_MATCH    [Toc]    [Back]
            Character failed to match.

       E_NOT_SELECTABLE    [Toc]    [Back]
            The designated item cannot be selected.

       E_NOT_CONNECTED    [Toc]    [Back]
            No items are connected to the menu.

       E_REQUEST_DENIED    [Toc]    [Back]
            The menu driver could not process the request.

SEE ALSO    [Toc]    [Back]

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

NOTES    [Toc]    [Back]

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

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

PORTABILITY    [Toc]    [Back]

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

AUTHORS    [Toc]    [Back]

       Juergen  Pfeifer.  Manual pages and adaptation for ncurses
       by Eric S. Raymond.
[ Back ]
 Similar pages
Name OS Title
form OpenBSD curses extension for programming forms
form FreeBSD curses extension for programming forms
set_panel_userptr OpenBSD panel stack extension for curses
update_panels OpenBSD panel stack extension for curses
replace_panel OpenBSD panel stack extension for curses
panel_window OpenBSD panel stack extension for curses
panel_hidden OpenBSD panel stack extension for curses
panel_below OpenBSD panel stack extension for curses
panel_above OpenBSD panel stack extension for curses
panel OpenBSD panel stack extension for curses
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service