notcurses/doc/man/man3/notcurses_stdplane.3.md
nick black 53c95b6d86
v3.0.1
2021-12-12 15:11:17 -05:00

2.8 KiB

% notcurses_stdplane(3) % nick black nickblack@linux.com % v3.0.1

NAME

notcurses_stdplane - acquire the standard ncplane

SYNOPSIS

#include <notcurses/notcurses.h>

struct ncplane notcurses_stdplane(struct notcurses nc);**

const struct ncplane notcurses_stdplane_const(const struct notcurses nc);**

static inline struct ncplane notcurses_stddim_yx(struct notcurses nc, unsigned* restrict y, unsigned* restrict x);**

static inline const struct ncplane notcurses_stddim_yx_const(const struct notcurses nc, unsigned* restrict y, unsigned* restrict x);**

int notcurses_enter_alternate_screen(struct notcurses nc);*

int notcurses_leave_alternate_screen(struct notcurses nc);*

DESCRIPTION

notcurses_stdplane returns a handle to the standard ncplane for the context nc. The standard plane always exists, and is always the same size as the screen. It is an error to call ncplane_destroy(3), ncplane_resize(3), or ncplane_move(3) on the standard plane, but it can be freely moved along the z-axis.

The standard plane's virtual cursor is initialized to its uppermost, leftmost cell unless NCOPTION_PRESERVE_CURSOR is provided (see notcurses_init(3)), in which case it is placed wherever the terminal's real cursor was at startup.

notcurses_stddim_yx provides the same function, but also writes the dimensions of the standard plane (and thus the real drawable area) into any non-NULL parameters among y and x.

notcurses_stdplane_const allows a const notcurses to be safely used.

A resize event does not invalidate these references. They can be used until notcurses_stop(3) is called on the associated nc.

notcurses_enter_alternate_screen and notcurses_leave_alternate_screen only have meaning if the terminal implements the "alternate screen" via the smcup and rmcup terminfo(5) capabilities (see the discussion of NCOPTION_NO_ALTERNATE_SCREEN in notcurses_init(3)). If not currently using the alternate screen, and assuming it is supported, notcurses_enter_alternate_screen will switch to the alternate screen. This redraws the contents, repositions the cursor, and usually makes scrollback unavailable. The standard plane will have scrolling disabled upon a move to the alternate plane.

RETURN VALUES

notcurses_enter_alternate_screen will return -1 if the alternate screen is unavailable. Both it and notcurses_leave_alternate_screen will return -1 on an I/O failure.

Other functions cannot fail when provided a valid struct notcurses. They will always return a valid pointer to the standard plane.

SEE ALSO

notcurses(3), notcurses_init(3), notcurses_plane(3), notcurses_stop(3), terminfo(5)