Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix nightly manual

This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.

NAME

menu_sub, menu_win, scale_menu, set_menu_sub, set_menu_win — sub-menu handling

LIBRARY

Curses Menu Library (libmenu, -lmenu)

SYNOPSIS

#include <menu.h>
WINDOW *
menu_sub(MENU *menu);
WINDOW *
menu_win(MENU *menu);
int
scale_menu(MENU *menu, int *rows, int *cols);
int
set_menu_sub(MENU *menu, WINDOW *sub);
int
set_menu_win(MENU *menu, WINDOW *win);

DESCRIPTION

The menu_sub() function returns a pointer to the window that will be used to post a menu into, this pointer is set by the set_menu_sub() function. The menu_win() function returns a pointer to the window in which the menu subwindow will be created when the menu is posted, this pointer is set by the set_menu_win() function. The scale_menu() function calculates the minimum size a window needs to be to hold the items for a given menu, the parameters rows and cols are set to the required number of rows and columns respectively.

RETURN VALUES

The functions return one of the following error values:
E_OK
The function was successful.
E_SYSTEM_ERROR
There was a system error during the call.
E_BAD_ARGUMENT
One or more of the arguments passed to the function was incorrect.
E_POSTED
The menu is already posted.
E_CONNECTED
An item was already connected to a menu.
E_BAD_STATE
The function was called from within an initialization or termination routine.
E_NO_ROOM
The menu does not fit within the subwindow.
E_NOT_POSTED
The menu is not posted
E_UNKNOWN_COMMAND
The menu driver does not recognize the request passed to it.
E_NO_MATCH
The character search failed to find a match.
E_NOT_SELECTABLE
The item could not be selected.
E_NOT_CONNECTED
The item is not connected to a menu.
E_REQUEST_DENIED
The menu driver could not process the request.

SEE ALSO

curses(3), menus(3)

NOTES

The header <menu.h> automatically includes both <curses.h> and <eti.h>.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org