***************************************************************************
Copyright 2018-2019,2020 Thomas E. Dickey *
Copyright 1998-2014,2017 Free Software Foundation, Inc. *
*
Permission is hereby granted, free of charge, to any person obtaining a *
copy of this software and associated documentation files (the *
"Software"), to deal in the Software without restriction, including *
without limitation the rights to use, copy, modify, merge, publish, *
distribute, distribute with modifications, sublicense, and/or sell *
copies of the Software, and to permit persons to whom the Software is *
furnished to do so, subject to the following conditions: *
*
The above copyright notice and this permission notice shall be included *
in all copies or substantial portions of the Software. *
*
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
*
Except as contained in this notice, the name(s) of the above copyright *
holders shall not be used in advertising or otherwise to promote the *
sale, use or other dealings in this Software without prior written *
authorization. *
***************************************************************************
$Id: menu.3x,v 1.27 2020/02/02 23:34:34 tom Exp $
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. .
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) |
5 E_OK The routine succeeded.
5 E_BAD_ARGUMENT Routine detected an incorrect or out-of-range argument.
5 E_BAD_STATE Routine was called from an initialization or termination function.
5 E_NO_MATCH Character failed to match.
5 E_NO_ROOM Menu is too large for its window.
5 E_NOT_CONNECTED No items are connected to the menu.
5 E_NOT_POSTED The menu has not been posted.
5 E_NOT_SELECTABLE The designated item cannot be selected.
5 E_POSTED The menu is already posted.
5 E_REQUEST_DENIED The menu driver could not process the request.
5 E_SYSTEM_ERROR System error occurred (see errno(3)).
5 E_UNKNOWN_COMMAND The menu driver code saw an unknown request code.
In your library list, libmenu.a should be before libncurses.a; that is, you should say \*(``-lmenu -lncurses\*('', not the other way around (which would give a link-error when using static libraries).
The menu facility was documented in SVr4.2 in Character User Interface Programming (UNIX SVR4.2).
It is not part of X/Open Curses.
Aside from ncurses, there are few implementations: .bP systems based on SVr4 source code, e.g., Solaris. .bP NetBSD curses.
This describes ncurses version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).