You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
notcurses/doc/man/man3/notcurses_menu.3.md

1.9 KiB

% notcurses_menu(3) % nick black nickblack@linux.com % v1.1.3

NAME

notcurses_menu - operations on menus

SYNOPSIS

#include <notcurses.h>

struct ncmenu;

struct ncmenu_section {
  char* name;  // utf-8 c string
  struct ncmenu_item {
    char* desc;  // utf-8 menu item, NULL for horizontal separator
    ncinput shortcut;  // shortcut, all should be distinct
  }* items;
  int itemcount;
};

typedef struct ncmenu_options {
  bool bottom;  // on the bottom row, as opposed to top row
  bool hiding;  // hide the menu when not being used
  struct ncmenu_section* sections; // 'sectioncount' menu_sections
  int sectioncount;         // must be positive
  uint64_t headerchannels;  // styling for header
  uint64_t sectionchannels; // styling for sections
} ncmenu_options;

struct ncmenu ncmenu_create(struct notcurses nc, const menu_options* opts);**

int ncmenu_unroll(struct ncmenu n, int sectionidx);*

int ncmenu_rollup(struct ncmenu n);*

const char ncmenu_selected(const struct ncmenu n);**

struct ncplane ncmenu_plane(struct ncmenu n);**

int ncmenu_destroy(struct ncmenu n);*

DESCRIPTION

A notcurses instance supports menu bars on the top or bottom row of the true screen. A menu is composed of sections, which are in turn composed of items. Either no sections are visible, and the menu is rolled up, or exactly one section is unrolled. ncmenu_rollup places an ncmenu in the rolled up state. ncmenu_unroll rolls up any unrolled section, and unrolls the specified one. ncmenu_destroy removes a menu bar, and frees all associated resources.

ncmenu_selected return the selected item description, or NULL if no section is unrolled.

RETURN VALUES

ncmenu_create returns NULL on error, or a pointer to a valid new ncmenu. Other functions return non-zero on error, or zero on success. Almost all errors are due to invalid parameters.

SEE ALSO

notcurses(3), notcurses_input(3)