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

  man pages->FreeBSD 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(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    [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.

       E_SYSTEM_ERROR    [Toc]    [Back]
	    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 function.

       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(3X)  and	related  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 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    [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.

[ 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