menu(3x,n,n tk_menuSetFocus)(3X) menu(3x,n,n tk_menuSetFocus)(3X) NAME menu(3x,n,n tk_menuSetFocus) - curses extension for programming menus SYNOPSIS #include <menu.h> DESCRIPTION The menu(3x,n,n tk_menuSetFocus) library provides terminal-independent facilities for composing menu(3x,n,n tk_menuSetFocus) systems on character-cell terminals. The library includes: item routines, which create and modify menu(3x,n,n tk_menuSetFocus) items; and menu(3x,n,n tk_menuSetFocus) routines, which group items into menus, display menus on the screen, and handle inter- action with the user. The menu(3x,n,n tk_menuSetFocus) library uses the curses libraries, and a curses initialization routine such as initscr must be called before using any of these func- tions. To use the menu(3x,n,n tk_menuSetFocus) library, link(1,2) with the options -lmenu -lcurses. Current Default Values for Item Attributes The menu(3x,n,n tk_menuSetFocus) library maintains a default value for item attributes. You can get or set(7,n,1 builtins) 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 render- ing of items already created. Routine Name Index The following table lists each menu(3x,n,n tk_menuSetFocus) 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 Routines that return pointers return NULL on error. Routines that return an integer return one of the following error(8,n) codes: E_OK The routine succeeded. E_SYSTEM_ERROR System error(8,n) occurred (see errno). E_BAD_ARGUMENT Routine detected an incorrect or out-of-range argument. E_POSTED The menu(3x,n,n tk_menuSetFocus) 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(3x,n,n tk_menuSetFocus) has not been posted. E_UNKNOWN_COMMAND The menu(3x,n,n tk_menuSetFocus) 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(3x,n,n tk_menuSetFocus) 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(1,n) <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(1,2) error(8,n) using GNU ld(1,8)(1) and many other linkers). PORTABILITY These routines emulate the System V menu(3x,n,n tk_menuSetFocus) library. They were not sup- ported on Version 7 or BSD versions. AUTHORS Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric S. Raymond. menu(3x,n,n tk_menuSetFocus)(3X)