---
name: "mitem_current"
section: "3x"
platform: "macos"
package: "ncurses"
version: "79"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/mitem_current/3x"
---

# mitem\_current(3x)

set and get current\_menu\_item

## NAME

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

## SYNOPSIS

**#include \<menu.h\>**\
 int set\_current\_item(MENU \*menu, const 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

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

## SEE ALSO

**curses**(3X), **menu**(3X).

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

The SVr4 menu library documentation specifies the **top\_row** and **index\_item** error value as -1 (which is the value of **ERR**).

## AUTHORS

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