menu_pattern(3x)

menu_pattern3x

Get and set a menu's pattern buffer

Usage

#include <menu.h>
int set_menu_pattern(MENU *menu, const char *pattern);
char *menu_pattern(const MENU *menu);

Overview

Every menu has an associated pattern match buffer. As input events that are printable characters come in, they are appended to this match buffer and tested for a match, as described in menu_driver(3X).

The function set_menu_pattern sets the pattern buffer for the given menu and tries to find the first matching item. If it succeeds, that item becomes current; if not, the current item does not change.

The function menu_pattern returns the pattern buffer of the given menu.

Return value

The function menu_pattern returns a pointer, which is NULL if the menu parameter is NULL. Otherwise, it is a pointer to a string which is empty if no pattern has been set. It does not set errno.

The function set_menu_pattern may return the following error codes:

E_OK

The routine succeeded.

E_BAD_ARGUMENT

Routine detected an incorrect or out-of-range argument.

E_BAD_STATE

Routine was called from an initialization or termination function.

E_NOT_CONNECTED

No items are connected to menu.

E_NO_MATCH

Character failed to match.

E_SYSTEM_ERROR

System error occurred (see errno).

Notes

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

Portability

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

Releases

155 releases since Mac OS X 10.2; the text changed 2 times.

  1. 10.2–11.5
  2. 12.0.1–13.5
  3. 14.0–26.5

Authors

Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. Raymond.

From ncurses 79 in macOS 26.5. Parsed by carta from the page's man source.