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

# menu\_mark(3x)

get and set the menu mark string

## NAME

**menu\_mark** - get and set the menu mark string

## SYNOPSIS

**#include \<menu.h\>**\
 int set\_menu\_mark(MENU \*menu, const char \*mark);\
 const char \*menu\_mark(const MENU \*menu);\

## DESCRIPTION

In order to make menu selections visible on older terminals without highlighting or color capability, the menu library marks selected items in a menu with a prefix string.

The function **set\_menu\_mark** sets the mark string for the given menu. Calling **set\_menu\_mark** with a null menu item will abolish the mark string. Note that changing the length of the mark string for a menu while the menu is posted is likely to produce unhelpful behavior.

The default string is "-" (a dash). Calling **set\_menu\_mark** with a non-**NULL** menu argument will change this default.

The function **menu\_mark** returns the menu's mark string (or **NULL** if there is none).

## RETURN VALUE

The function **menu\_mark** returns a pointer (which may be **NULL**). It does not set errno.

The function **set\_menu\_mark** may return the following error codes:

- **E\_OK**

  The routine succeeded.

- **E\_BAD\_ARGUMENT**

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

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

## AUTHORS

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