https://invisible-island.net/ncurses/man/
mitem_current(3x) Library calls mitem_current(3x)
mitem_current - set and get current_menu_item
#include <menu.h> int set_current_item(MENU *menu, ITEM *item); ITEM *current_item(const MENU *menu); int set_top_row(MENU *menu, int row); int top_row(const MENU *menu); int item_index(const ITEM *item);
The function set_current_item sets the current item (the item on which the menu cursor is positioned). current_item returns a pointer to the current item in the given menu. The function set_top_row sets the top row of the menu to show the given row (the top row is initially 0, and is reset to this value whenever the O_ROWMAJOR option is toggled). The item leftmost on the given row becomes current. The function top_row returns the number of the top menu row being displayed. The function item_index returns the (zero-origin) index of item in the menu's item pointer list.
current_item returns a pointer (which may be NULL). It does not set errno. top_row and item_index return ERR (the general curses error value) if their menu parameter is NULL. set_current_item and set_top_row return one of the following: 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 the menu. E_SYSTEM_ERROR System error occurred (see errno(3)).
These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. The SVr4 menu library documentation specifies the top_row and index_item error value as -1 (which is the value of ERR).
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. Raymond.
curses(3x), menu(3x) ncurses 6.5 2024-03-16 mitem_current(3x)