mitem\_current(3X) Library calls mitem\_current(3X)

# [NAME](#NAME)

**mitem\_current** - set and get current\_menu\_item

# [SYNOPSIS](#SYNOPSIS)

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

# [DESCRIPTION](#DESCRIPTION)

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](#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**](#E_OK)

The routine succeeded.

[**E\_BAD\_ARGUMENT**](#E_BAD_ARGUMENT)

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

[**E\_BAD\_STATE**](#E_BAD_STATE)

Routine was called from an initialization or termination function.

[**E\_NOT\_CONNECTED**](#E_NOT_CONNECTED)

No items are connected to the menu.

[**E\_SYSTEM\_ERROR**](#E_SYSTEM_ERROR)

System error occurred (see [**errno**(3)](/man/os/ncurses/errno.3)).

# [PORTABILITY](#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**).

# [AUTHORS](#AUTHORS)

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

# [SEE ALSO](#SEE_ALSO)

[**curses**(3X)](/man/os/ncurses/curses.3X), [**menu**(3X)](/man/os/ncurses/menu.3X)

2024-12-28 ncurses 6.6

---

Document: top_row(3x) from ncurses 6.6.20261024-r0 (Chainguard OS)
Source: https://github.com/ThomasDickey/ncurses-snapshots
