blob: ad7fe97f348f9a1dfce81b70e0b09f4b847f1052 [file] [log] [blame]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05301.\"***************************************************************************
micky3879b9f5e72025-07-08 18:04:53 -04002.\" Copyright 2018-2023,2024 Thomas E. Dickey *
3.\" Copyright 1998-2015,2016 Free Software Foundation, Inc. *
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05304.\" *
5.\" Permission is hereby granted, free of charge, to any person obtaining a *
6.\" copy of this software and associated documentation files (the *
7.\" "Software"), to deal in the Software without restriction, including *
8.\" without limitation the rights to use, copy, modify, merge, publish, *
9.\" distribute, distribute with modifications, sublicense, and/or sell *
10.\" copies of the Software, and to permit persons to whom the Software is *
11.\" furnished to do so, subject to the following conditions: *
12.\" *
13.\" The above copyright notice and this permission notice shall be included *
14.\" in all copies or substantial portions of the Software. *
15.\" *
16.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
17.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
18.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
19.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
20.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
21.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
22.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
23.\" *
24.\" Except as contained in this notice, the name(s) of the above copyright *
25.\" holders shall not be used in advertising or otherwise to promote the *
26.\" sale, use or other dealings in this Software without prior written *
27.\" authorization. *
28.\"***************************************************************************
29.\"
micky3879b9f5e72025-07-08 18:04:53 -040030.\" $Id: menu_opts.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
31.TH menu_opts 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053032.SH NAME
micky3879b9f5e72025-07-08 18:04:53 -040033\fBset_menu_opts\fP,
34\fBmenu_opts_on\fP,
35\fBmenu_opts_off\fP,
36\fBmenu_opts\fP \-
37set and get menu options
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053038.SH SYNOPSIS
micky3879b9f5e72025-07-08 18:04:53 -040039.nf
40\fB#include <menu.h>
41.PP
42\fBint set_menu_opts(MENU *\fImenu\fP, Menu_Options \fIopts\fP);
43\fBMenu_Options menu_opts(const MENU *\fImenu\fP);
44.PP
45\fBint menu_opts_on(MENU *\fImenu\fP, Menu_Options \fIopts\fP);
46\fBint menu_opts_off(MENU *\fImenu\fP, Menu_Options \fIopts\fP);
47.fi
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053048.SH DESCRIPTION
micky3879b9f5e72025-07-08 18:04:53 -040049The function \fBset_menu_opts\fP sets all the given menu's option bits (menu
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053050option bits may be logically-OR'ed together).
51.PP
micky3879b9f5e72025-07-08 18:04:53 -040052The function \fBmenu_opts_on\fP turns on the given option bits, and leaves
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053053others alone.
54.PP
micky3879b9f5e72025-07-08 18:04:53 -040055The function \fBmenu_opts_off\fP turns off the given option bits, and leaves
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053056others alone.
57.PP
micky3879b9f5e72025-07-08 18:04:53 -040058The function \fBmenu_opts\fP returns the menu's current option bits.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053059.PP
60The following options are defined (all are on by default):
61.TP 5
62O_ONEVALUE
63Only one item can be selected for this menu.
64.TP 5
65O_SHOWDESC
66Display the item descriptions when the menu is posted.
67.TP 5
68O_ROWMAJOR
69Display the menu in row-major order.
70.TP 5
71O_IGNORECASE
72Ignore the case when pattern-matching.
73.TP 5
74O_SHOWMATCH
75Move the cursor to within the item name while pattern-matching.
76.TP 5
77O_NONCYCLIC
78Don't wrap around next-item and previous-item,
79requests to the other end of the menu.
micky3879b9f5e72025-07-08 18:04:53 -040080.TP 5
81O_MOUSE_MENU
82If user clicks with the mouse
83and it does not fall on the currently active menu,
84push \fBKEY_MOUSE\fP and the \fBMEVENT\fP data
85back on the queue to allow processing in another part of the calling program.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053086.SH RETURN VALUE
micky3879b9f5e72025-07-08 18:04:53 -040087Except for \fBmenu_opts\fP, each routine returns one of the following:
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053088.TP 5
89.B E_OK
90The routine succeeded.
91.TP 5
92.B E_SYSTEM_ERROR
micky3879b9f5e72025-07-08 18:04:53 -040093System error occurred (see \fBerrno\fP(3)).
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053094.TP 5
95.B E_POSTED
96The menu is already posted.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053097.SH PORTABILITY
micky3879b9f5e72025-07-08 18:04:53 -040098These routines emulate the System V menu library.
99They were not supported on
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530100Version 7 or BSD versions.
101.SH AUTHORS
micky3879b9f5e72025-07-08 18:04:53 -0400102Juergen Pfeifer.
103Manual pages and adaptation for new curses by Eric S. Raymond.
104.SH SEE ALSO
105\fB\%curses\fP(3X),
106\fB\%menu\fP(3X)