current_item(3)

current_item3

Set and get current_menu_item

Usage

#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);

Overview

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.

Return value

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)).

Portability

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).

Releases

66 releases since FreeBSD 4.3-RELEASE; the text changed 8 times.

  1. 4.3–6.2
  2. 6.3–10.4
  3. 11.0–12.4
  4. 13.0–13.5
  5. 14.0–14.1
  6. 14.2–14.4
  7. 14.5
  8. 15.0
  9. 15.1–16.0

Authors

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

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's man source.