Scroll to navigation

pattern(3MENU) pattern(3MENU)


set_menu_pattern, menu_pattern - set and get a menu's pattern buffer


#include <menu.h>

int set_menu_pattern(MENU *menu, const char *pattern);
char *menu_pattern(const MENU *menu);


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 driver(3MENU).

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.


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:

The routine succeeded.
Routine detected an incorrect or out-of-range argument.
Routine was called from an initialization or termination function.
No items are connected to menu.
Character failed to match.
System error occurred (see errno(3)).


ncurses(3NCURSES), menu(3MENU).


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


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


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