Expand description
Rust FFI bindings, automatically generated with bindgen.
Structs§
- _G_
fpos64_ t - The tag name of this struct is _G_fpos64_t to preserve historic C++ mangled names for functions taking fpos_t and/or fpos64_t arguments. That name should not be used in new code.
- _G_
fpos_ t - The tag name of this struct is _G_fpos_t to preserve historic C++ mangled names for functions taking fpos_t arguments. That name should not be used in new code.
- _IO_
FILE - The tag name of this struct is _IO_FILE to preserve historic C++ mangled names for functions taking FILE* arguments. That name should not be used in new code.
- _IO_
codecvt - _IO_
marker - _IO_
wide_ data - __
Incomplete Array Field - __
fsid_ t - __
mbstate_ t - Conversion state information.
- __
sigset_ t - __
va_ list_ tag - cmsghdr
- Structure used for storage of ancillary data object information.
- div_t
- Returned by `div’.
- in6_
addr - IPv6 address
- in_addr
- iovec
- Structure for scatter/gather I/O.
- ldiv_t
- linger
- Structure used to manipulate the SO_LINGER option.
- lldiv_t
- Returned by `lldiv’.
- nccapabilities
- Capabilities, derived from terminfo, environment variables, and queries
- nccell
- An nccell corresponds to a single character cell on some plane, which can be occupied by a single grapheme cluster (some root spacing glyph, along with possible combining characters, which might span multiple columns). At any cell, we can have a theoretically arbitrarily long UTF-8 EGC, a foreground color, a background color, and an attribute set. Valid grapheme cluster contents include:
- ncdirect
- ncdplot
- ncfadectx
- ncfdplane
- ncfdplane_
options - read from an fd until EOF (or beyond, if follow is set), invoking the user’s callback each time. runs in its own context. on EOF or error, the finalizer callback will be invoked, and the user ought destroy the ncfdplane. the data is not guaranteed to be nul-terminated, and may contain arbitrary zeroes.
- ncinput
- An input event. Cell coordinates are currently defined only for mouse events. It is not guaranteed that we can set the modifiers for a given ncinput. We encompass single Unicode codepoints, not complete EGCs. FIXME for abi4, combine the bools into |modifiers|
- ncmenu
- ncmenu_
item - Menus. Horizontal menu bars are supported, on the top and/or bottom rows. If the menu bar is longer than the screen, it will be only partially visible. Menus may be either visible or invisible by default. In the event of a plane resize, menus will be automatically moved/resized. Elements can be dynamically enabled or disabled at all levels (menu, section, and item),
- ncmenu_
options - ncmenu_
section - ncmselector_
item - ncmultiselector
- ncmultiselector_
options - multiselection widget – a selector supporting multiple selections.
- ncpalette
- Palette API. Some terminals only support 256 colors, but allow the full palette to be specified with arbitrary RGB colors. In all cases, it’s more performant to use indexed colors, since it’s much less data to write to the terminal. If you can limit yourself to 256 colors, that’s probably best.
- ncplane
- ncplane_
options - ncplot_
options - ncprogbar
- ncprogbar_
options - ncreader
- ncreader_
options - ncreel
- ncreel_
options - ncselector
- ncselector_
item - selection widget – an ncplane with a title header and a body section. the body section supports infinite scrolling up and down.
- ncselector_
options - ncstats
- whenever a new field is added here, ensure we add the proper rule to notcurses_stats_reset(), so that values are preserved in the stash stats.
- ncsubproc
- ncsubproc_
options - nctab
- nctabbed
- nctabbed_
options - nctablet
- nctree
- nctree_
item - each item has a curry, and zero or more subitems.
- nctree_
options - ncuplot
- ncvgeom
- describes all geometries of an ncvisual: those which are inherent, and those dependent upon a given rendering regime. pixy and pixx are the true internal pixel geometry, taken directly from the load (and updated by ncvisual_resize()). cdimy/cdimx are the cell-pixel geometry at the time of this call (it can change with a font change, in which case all values other than pixy/pixx are invalidated). rpixy/rpixx are the pixel geometry as handed to the blitter, following any scaling. scaley/scalex are the number of input pixels drawn to a single cell; when using NCBLIT_PIXEL, they are equivalent to cdimy/cdimx. rcelly/rcellx are the cell geometry as written by the blitter, following any padding (there is padding whenever rpix{y, x} is not evenly divided by scale{y, x}, and also sometimes for Sixel). maxpixely/maxpixelx are defined only when NCBLIT_PIXEL is used, and specify the largest bitmap that the terminal is willing to accept. blitter is the blitter which will be used, a function of the requested blitter and the blitters actually supported by this environment. if no ncvisual was supplied, only cdimy/cdimx are filled in.
- ncvisual
- ncvisual_
options - notcurses
- notcurses_
options - Configuration for notcurses_init().
- sigaction
- Structure describing the action to be taken when a signal arrives.
- sockaddr
- Structure describing a generic socket address.
- sockaddr_
in - Structure describing an Internet socket address.
- sockaddr_
in6 - Ditto, for IPv6.
- sockaddr_
storage - timespec
- POSIX.1b structure for a time value. This is like a `struct timeval’ but has nanoseconds instead of microseconds.
- tm
- ISO C `broken-down time’ structure.
Constants§
- BC_
BASE_ MAX - BC_
DIM_ MAX - BC_
SCALE_ MAX - BC_
STRING_ MAX - BUFSIZ
- CHARCLASS_
NAME_ MAX - COLL_
WEIGHTS_ MAX - EOF
- EXIT_
FAILURE - EXIT_
SUCCESS - EXPR_
NEST_ MAX - FILENAME_
MAX - FOPEN_
MAX - IOV_MAX
- NCALPHA_
BLEND - NCALPHA_
HIGHCONTRAST - NCALPHA_
OPAQUE - NCALPHA_
TRANSPARENT - NCANGLESBL
- NCANGLESBR
- NCANGLESTL
- NCANGLESTR
- NCARROWANTICLOCKW
- NCARROWCIRCLEDW
- NCARROWDASHEDW
- NCARROWDOUBLEW
- NCARROWW
- NCASTERISK
S5 - NCASTERISK
S6 - NCASTERISK
S8 - NCBLACKARROWHEADSW
- NCBLACKTRIANGLESW
- NCBOXASCII
- NCBOXASCIIW
- NCBOXCORNER_
MASK - NCBOXCORNER_
SHIFT - NCBOXDOUBLE
- NCBOXDOUBLEW
- NCBOXDRAWHEAVYW
- NCBOXDRAWW
- NCBOXGRAD_
BOTTOM - NCBOXGRAD_
LEFT - NCBOXGRAD_
RIGHT - NCBOXGRAD_
TOP - NCBOXHEAVY
- NCBOXHEAVYW
- NCBOXLIGHT
- NCBOXLIGHTW
- NCBOXMASK_
BOTTOM - NCBOXMASK_
LEFT - NCBOXMASK_
RIGHT - NCBOXMASK_
TOP - NCBOXOUTER
- NCBOXOUTERW
- NCBOXROUND
- NCBOXROUNDW
- NCBPREFIXCOLUMNS
- NCBPREFIXSTRLEN
- NCBRAILLEEGCS
- NCCHESSBLACK
- NCCHESSWHITE
- NCCIRCULARARCSW
- NCDIAGONALSW
- NCDICE
- NCDIGITSSUBW
- NCDIGITSSUPERW
- NCDIRECT_
OPTION_ DRAIN_ INPUT - NCDIRECT_
OPTION_ INHIBIT_ CBREAK - NCDIRECT_
OPTION_ INHIBIT_ SETLOCALE - NCDIRECT_
OPTION_ NO_ QUIT_ SIGHANDLERS - NCDIRECT_
OPTION_ VERBOSE - NCDIRECT_
OPTION_ VERY_ VERBOSE - NCEIGHTHSB
- NCEIGHTHSL
- NCEIGHTHSR
- NCEIGHTHST
- NCHALFBLOCKS
- NCINPUT_
MAX_ EFF_ TEXT_ CODEPOINTS - NCIPREFIXCOLUMNS
- NCIPREFIXSTRLEN
- NCKEY_
ESC - NCKEY_
MOD_ ALT - NCKEY_
MOD_ CAPSLOCK - NCKEY_
MOD_ CTRL - NCKEY_
MOD_ HYPER - NCKEY_
MOD_ META - NCKEY_
MOD_ NUMLOCK - NCKEY_
MOD_ SHIFT - NCKEY_
MOD_ SUPER - NCKEY_
SPACE - NCKEY_
TAB - NCLIGHTARROWHEADSW
- NCMENU_
OPTION_ BOTTOM - NCMENU_
OPTION_ HIDING - NCMICE_
ALL_ EVENTS - NCMICE_
BUTTON_ EVENT - NCMICE_
DRAG_ EVENT - NCMICE_
MOVE_ EVENT - NCMICE_
NO_ EVENTS - NCMUSICSYM
- NCOPTION_
CLI_ MODE - NCOPTION_
DRAIN_ INPUT - NCOPTION_
INHIBIT_ SETLOCALE - NCOPTION_
NO_ ALTERNATE_ SCREEN - NCOPTION_
NO_ CLEAR_ BITMAPS - NCOPTION_
NO_ FONT_ CHANGES - NCOPTION_
NO_ QUIT_ SIGHANDLERS - NCOPTION_
NO_ WINCH_ SIGHANDLER - NCOPTION_
PRESERVE_ CURSOR - NCOPTION_
SCROLLING - NCOPTION_
SUPPRESS_ BANNERS - NCPALETTESIZE
- NCPLANE_
OPTION_ AUTOGROW - NCPLANE_
OPTION_ FIXED - NCPLANE_
OPTION_ HORALIGNED - NCPLANE_
OPTION_ MARGINALIZED - NCPLANE_
OPTION_ VERALIGNED - NCPLANE_
OPTION_ VSCROLL - NCPLOT_
OPTION_ DETECTMAXONLY - NCPLOT_
OPTION_ EXPONENTIALD - NCPLOT_
OPTION_ LABELTICKSD - NCPLOT_
OPTION_ NODEGRADE - NCPLOT_
OPTION_ PRINTSAMPLE - NCPLOT_
OPTION_ VERTICALI - NCPREFIXCOLUMNS
- NCPREFIXSTRLEN
- NCPROGBAR_
OPTION_ RETROGRADE - NCQUADBLOCKS
- NCREADER_
OPTION_ CURSOR - NCREADER_
OPTION_ HORSCROLL - NCREADER_
OPTION_ NOCMDKEYS - NCREADER_
OPTION_ VERSCROLL - NCREEL_
OPTION_ CIRCULAR - NCREEL_
OPTION_ INFINITESCROLL - NCSEGDIGITS
- NCSEXBLOCKS
- NCSHADETRIANGLESW
- NCSTYLE_
BOLD - NCSTYLE_
ITALIC - NCSTYLE_
MASK - NCSTYLE_
NONE - NCSTYLE_
STRUCK - NCSTYLE_
UNDERCURL - NCSTYLE_
UNDERLINE - NCSUITSBLACK
- NCSUITSWHITE
- NCTABBED_
OPTION_ BOTTOM - NCVISUAL_
OPTION_ ADDALPHA - NCVISUAL_
OPTION_ BLEND - NCVISUAL_
OPTION_ CHILDPLANE - NCVISUAL_
OPTION_ HORALIGNED - NCVISUAL_
OPTION_ NODEGRADE - NCVISUAL_
OPTION_ NOINTERPOLATE - NCVISUAL_
OPTION_ VERALIGNED - NCWHITECIRCLESW
- NCWHITESQUARESW
- NCWHITETRIANGLESW
- NC_
BGDEFAULT_ MASK - NC_
BG_ ALPHA_ MASK - NC_
BG_ PALETTE - NC_
BG_ RGB_ MASK - NC_
NOBACKGROUND_ MASK - PATH_
MAX - PIPE_
BUF - PRETERUNICODEBASE
- PTHREAD_
DESTRUCTOR_ ITERATIONS - PTHREAD_
KEYS_ MAX - PTHREAD_
STACK_ MIN - PTRDIFF_
MAX - PTRDIFF_
MIN - P_
tmpdir - _BYTESWAP_
H - _CTYPE_
H - _ENDIAN_
H - _FEATURES_
H - _GETOPT_
CORE_ H - _GETOPT_
POSIX_ H - _IOFBF
- _IOLBF
- _IONBF
- _IO_
EOF_ SEEN - _IO_
ERR_ SEEN - _IO_
USER_ LOCK - _LIBC_
LIMITS_ H_ - _NETINET_
IN_ H - _NSIG
- _SS_
SIZE - _STDC_
PREDEF_ H - _STDINT_
H - _STDIO_
H - _STDLIB_
H - _STRING_
H - _STRUCT_
TIMESPEC - _SYS_
CDEFS_ H - _SYS_
SOCKET_ H - _SYS_
TYPES_ H - _TIME_H
- _WCHAR_
H - _WINT_T
- _XOPEN_
IOV_ MAX - _XOPEN_
LIM_ H - ____
FILE_ defined - _____
fpos64_ t_ defined - _____
fpos_ t_ defined - ____
mbstate_ t_ defined - __
bool_ true_ false_ are_ defined - __
clock_ t_ defined - __
clockid_ t_ defined - __
glibc_ c99_ flexarr_ available - __
iovec_ defined - __
ldiv_ t_ defined - __
lldiv_ t_ defined - __
mbstate_ t_ defined - __
sig_ atomic_ t_ defined - __
sigset_ t_ defined - __
socket_ type_ SOCK_ CLOEXEC - Atomically set close-on-exec flag for the new descriptor(s).
- __
socket_ type_ SOCK_ DCCP - Datagram Congestion Control Protocol.
- __
socket_ type_ SOCK_ DGRAM - Connectionless, unreliable datagrams of fixed maximum length.
- __
socket_ type_ SOCK_ NONBLOCK - Atomically mark descriptor(s) as non-blocking.
- __
socket_ type_ SOCK_ PACKET - Linux specific way of getting packets at the dev level. For writing rarp and other similar things on the user level.
- __
socket_ type_ SOCK_ RAW - Raw protocol interface.
- __
socket_ type_ SOCK_ RDM - Reliably-delivered messages.
- __
socket_ type_ SOCK_ SEQPACKET - Sequenced, reliable, connection-based, datagrams of fixed maximum length.
- __
socket_ type_ SOCK_ STREAM - Sequenced, reliable, connection-based byte streams.
- __
struct_ FILE_ defined - __
struct_ tm_ defined - __
time_ t_ defined - __
timer_ t_ defined - __
wint_ t_ defined - false_
- ncalign_
e_ NCALIGN_ CENTER - ncalign_
e_ NCALIGN_ LEFT - ncalign_
e_ NCALIGN_ RIGHT - ncalign_
e_ NCALIGN_ UNALIGNED - ncblitter_
e_ NCBLIT_ 1x1 - space, compatible with ASCII
- ncblitter_
e_ NCBLIT_ 2x1 - halves + 1x1 (space) ▄▀
- ncblitter_
e_ NCBLIT_ 2x2 - quadrants + 2x1 ▗▐ ▖▀▟▌▙
- ncblitter_
e_ NCBLIT_ 3x2 - sextants (NOT 2x2) 🬀🬁🬂🬃🬄🬅🬆🬇🬈🬉🬊🬋🬌🬍🬎🬏🬐🬑🬒🬓🬔🬕🬖🬗🬘🬙🬚🬛🬜🬝🬞
- ncblitter_
e_ NCBLIT_ 4x1 - four vertical levels █▆▄▂
- ncblitter_
e_ NCBLIT_ 8x1 - eight vertical levels █▇▆▅▄▃▂▁
- ncblitter_
e_ NCBLIT_ BRAILLE - 4 rows, 2 cols (braille) ⡀⡄⡆⡇⢀⣀⣄⣆⣇⢠⣠⣤⣦⣧⢰⣰⣴⣶⣷⢸⣸⣼⣾⣿
- ncblitter_
e_ NCBLIT_ DEFAULT - let the ncvisual pick
- ncblitter_
e_ NCBLIT_ PIXEL - pixel graphics
- ncintype_
e_ NCTYPE_ PRESS - ncintype_
e_ NCTYPE_ RELEASE - ncintype_
e_ NCTYPE_ REPEAT - ncintype_
e_ NCTYPE_ UNKNOWN - ncloglevel_
e_ NCLOGLEVEL_ DEBUG - this is honestly a bit much
- ncloglevel_
e_ NCLOGLEVEL_ ERROR - we can’t keep doing this, but we can do other things
- ncloglevel_
e_ NCLOGLEVEL_ FATAL - we’re hanging around, but we’ve had a horrible fault
- ncloglevel_
e_ NCLOGLEVEL_ INFO - “standard information”
- ncloglevel_
e_ NCLOGLEVEL_ PANIC - print diagnostics related to catastrophic failure
- ncloglevel_
e_ NCLOGLEVEL_ SILENT - default. print nothing once fullscreen service begins
- ncloglevel_
e_ NCLOGLEVEL_ TRACE - there’s probably a better way to do what you want
- ncloglevel_
e_ NCLOGLEVEL_ VERBOSE - “detailed information”
- ncloglevel_
e_ NCLOGLEVEL_ WARNING - you probably don’t want what’s happening to happen
- ncpixelimpl_
e_ NCPIXEL_ ITER M2 - iTerm2
- ncpixelimpl_
e_ NCPIXEL_ KITTY_ ANIMATED - until 0.22.0’s introduction of ‘a=c’ for self-referential composition, we had to keep a complete copy of the RGBA data, in case a wiped cell needed to be rebuilt. we’d otherwise have to unpack the glyph and store it into the auxvec on the fly.
- ncpixelimpl_
e_ NCPIXEL_ KITTY_ SELFREF - with 0.22.0, we only ever write transparent cells after writing the original image (which we now deflate, since we needn’t unpack it later). the only data we need keep is the auxvecs.
- ncpixelimpl_
e_ NCPIXEL_ KITTY_ STATIC - C=1 (disabling scrolling) was only introduced in 0.20.0, at the same time as animation. prior to this, graphics had to be entirely redrawn on any change, and it wasn’t possible to use the bottom line.
- ncpixelimpl_
e_ NCPIXEL_ LINUXFB - linux framebuffer
- ncpixelimpl_
e_ NCPIXEL_ NONE - ncpixelimpl_
e_ NCPIXEL_ SIXEL - sixel
- ncscale_
e_ NCSCALE_ NONE - ncscale_
e_ NCSCALE_ NONE_ HIRES - ncscale_
e_ NCSCALE_ SCALE - ncscale_
e_ NCSCALE_ SCALE_ HIRES - ncscale_
e_ NCSCALE_ STRETCH - true_
Statics§
- __
daylight ⚠ - If daylight-saving time is ever in use.
- __
timezone ⚠ - Seconds west of UTC.
- __
tzname ⚠ - Current time zone abbreviations.
- daylight⚠
- in6addr_
any ⚠ - ::
- in6addr_
loopback ⚠ - ::1
- optarg⚠
- For communication from ‘getopt’ to the caller. When ‘getopt’ finds an option that takes an argument, the argument value is returned here. Also, when ‘ordering’ is RETURN_IN_ORDER, each non-option ARGV-element is returned here.
- opterr⚠
- Callers store zero here to inhibit the error message ‘getopt’ prints for unrecognized options.
- optind⚠
- Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to ‘getopt’.
- optopt⚠
- Set to an option character which was unrecognized.
- stderr⚠
- Standard error output stream.
- stdin⚠
- Standard input stream.
- stdout⚠
- Standard output stream.
- timezone⚠
- tzname⚠
- Same as above.
Functions§
- _Exit⚠
- Terminate the program with STATUS without calling any of the
functions registered with
atexit' oron_exit’. - __
ctype_ ⚠b_ loc - These are defined in ctype-info.c. The declarations here must match those in localeinfo.h.
- __
ctype_ ⚠get_ mb_ cur_ max - __
ctype_ ⚠tolower_ loc - __
ctype_ ⚠toupper_ loc - __
libc_ ⚠current_ sigrtmax - Return number of available real-time signal with lowest priority.
- __
libc_ ⚠current_ sigrtmin - Return number of available real-time signal with highest priority.
- __
memcmpeq ⚠ - Compare N bytes of S1 and S2. Return zero if S1 and S2 are equal. Return some non-zero value otherwise.
- __
overflow ⚠ - __
strtok_ ⚠r - Divide S into tokens separated by characters in DELIM. Information passed between calls are stored in SAVE_PTR.
- __
sysconf ⚠ - Even though CLOCKS_PER_SEC has such a strange value CLK_TCK presents the real value for clock ticks per second for the system.
- __
sysv_ ⚠signal - The X/Open definition of
signal' specifies the SVID semantic. Use the additional functionsysv_signal’ when X/Open compatibility is requested. - __uflow⚠
- Slow-path routines used by the optimized inline functions in bits/stdio.h.
- _tolower⚠
- _toupper⚠
- These are the same as
toupper' andtolower’ except that they do not check the argument for being in the range of a `char’. - abort⚠
- Abort execution and generate a core-dump.
- abs⚠
- Return the absolute value of X.
- accept⚠
- Await a connection on socket FD. When a connection arrives, open a new socket to communicate with it, set *ADDR (which is *ADDR_LEN bytes long) to the address of the connecting peer and *ADDR_LEN to the address’s actual length, and return the new socket’s descriptor, or -1 for errors.
- aligned_
alloc ⚠ - ISO C variant of aligned allocation.
- asctime⚠
- Return a string of the form “Day Mon dd hh:mm:ss yyyy\n” that is the representation of TP in this format.
- asctime_
r ⚠ - Return in BUF a string of the form “Day Mon dd hh:mm:ss yyyy\n” that is the representation of TP in this format.
- at_
quick_ ⚠exit - atexit⚠
- Register a function to be called when `exit’ is called.
- atof⚠
- Convert a string to a floating-point number.
- atoi⚠
- Convert a string to an integer.
- atol⚠
- Convert a string to a long integer.
- atoll⚠
- Convert a string to a long long integer.
- bind⚠
- Give the socket FD the local address ADDR (which is LEN bytes long).
- bsearch⚠
- Do a binary search for KEY in BASE, which consists of NMEMB elements of SIZE bytes each, using COMPAR to perform the comparisons.
- btowc⚠
- Determine whether C constitutes a valid (one-byte) multibyte character.
- calloc⚠
- Allocate NMEMB elements of SIZE bytes each, all initialized to 0.
- clearerr⚠
- Clear the error and EOF indicators for STREAM.
- clock⚠
- Time used by the program so far (user time + system time). The result / CLOCKS_PER_SEC is program time in seconds.
- connect⚠
- Open a connection on socket FD to peer at ADDR (which LEN bytes long). For connectionless socket types, just set the default address to send to and the only address from which to accept transmissions. Return 0 on success, -1 for errors.
- ctermid⚠
- Return the name of the controlling terminal.
- ctime⚠
- ctime_r⚠
- cuserid⚠
- Return the name of the current user.
- difftime⚠
- Return the difference between TIME1 and TIME0.
- div⚠
- Return the
div_t',ldiv_t’ or `lldiv_t’ representation of the value of NUMER over DENOM. / / GCC may have built-ins for these someday. - drand48⚠
- Return non-negative, double-precision floating-point value in [0.0,1.0).
- erand48⚠
- exit⚠
- Call all functions registered with
atexit' andon_exit’, in the reverse of the order in which they were registered, perform stdio cleanup, and terminate program execution with STATUS. - fclose⚠
- Close STREAM.
- fdopen⚠
- Create a new stream that refers to an existing system file descriptor.
- feof⚠
- Return the EOF indicator for STREAM.
- ferror⚠
- Return the error indicator for STREAM.
- fflush⚠
- Flush STREAM, or all streams if STREAM is NULL.
- fgetc⚠
- Read a character from STREAM.
- fgetpos⚠
- Get STREAM’s position.
- fgets⚠
- Get a newline-terminated string of finite length from STREAM.
- fileno⚠
- Return the system file descriptor for STREAM.
- fopen⚠
- Open a file and create a new stream for it.
- fprintf⚠
- Write formatted output to STREAM.
- fputc⚠
- Write a character to STREAM.
- fputs⚠
- Write a string to STREAM.
- fread⚠
- Read chunks of generic data from STREAM.
- free⚠
- Free a block allocated by
malloc',realloc’ or `calloc’. - freopen⚠
- Open a file, replacing an existing stream with it.
- fscanf⚠
- Read formatted input from STREAM.
- fscanf1⚠
- Read formatted input from STREAM.
- fseek⚠
- Seek to a certain position on STREAM.
- fsetpos⚠
- Set STREAM’s position.
- ftell⚠
- Return the current position of STREAM.
- fwrite⚠
- Write chunks of generic data to STREAM.
- getc⚠
- getchar⚠
- Read a character from stdin.
- getenv⚠
- Return the value of envariable NAME, or NULL if it doesn’t exist.
- getopt⚠
- Get definitions and prototypes for functions to process the arguments in ARGV (ARGC of them, minus the program name) for options given in OPTS.
- getpeername⚠
- Put the address of the peer connected to socket FD into *ADDR (which is *LEN bytes long), and its actual length into *LEN.
- getsockname⚠
- Put the local address of FD into *ADDR and its length in *LEN.
- getsockopt⚠
- getw⚠
- Get a word (int) from STREAM.
- getwchar⚠
- Read a character from stdin.
- gmtime⚠
- Return the `struct tm’ representation of *TIMER in Universal Coordinated Time (aka Greenwich Mean Time).
- gmtime_
r ⚠ - Return the `struct tm’ representation of *TIMER in UTC, using *TP to store the result.
- htonl⚠
- htons⚠
- isalnum⚠
- The following names are all functions: int isCHARACTERISTIC(int c); which return nonzero iff C has CHARACTERISTIC. For the meaning of the characteristic names, see the `enum’ above.
- isalpha⚠
- isascii⚠
- Return nonzero iff C is in the ASCII set (i.e., is no more than 7 bits wide).
- isblank⚠
- iscntrl⚠
- isdigit⚠
- isgraph⚠
- islower⚠
- isprint⚠
- ispunct⚠
- isspace⚠
- isupper⚠
- iswalnum⚠
- Test for any wide character for which
iswalpha' oriswdigit’ is true. - iswalpha⚠
- Test for any wide character for which
iswupper' or 'iswlower' is true, or any wide character that is one of a locale-specific set of wide-characters for which none ofiswcntrl’,iswdigit',iswpunct’, or `iswspace’ is true. - iswblank⚠
- iswcntrl⚠
- Test for any control wide character.
- iswctype⚠
- Determine whether the wide-character WC has the property described by DESC.
- iswdigit⚠
- Test for any wide character that corresponds to a decimal-digit character.
- iswgraph⚠
- Test for any wide character for which
iswprint' is true andiswspace’ is false. - iswlower⚠
- Test for any wide character that corresponds to a lowercase letter
or is one of a locale-specific set of wide characters for which
none of
iswcntrl',iswdigit’,iswpunct', oriswspace’ is true. - iswprint⚠
- Test for any printing wide character.
- iswpunct⚠
- Test for any printing wide character that is one of a
locale-specific et of wide characters for which neither
iswspace' noriswalnum’ is true. - iswspace⚠
- Test for any wide character that corresponds to a locale-specific
set of wide characters for which none of
iswalnum',iswgraph’, or `iswpunct’ is true. - iswupper⚠
- Test for any wide character that corresponds to an uppercase letter
or is one of a locale-specific set of wide character for which none
of
iswcntrl',iswdigit’,iswpunct', oriswspace’ is true. - iswxdigit⚠
- Test for any wide character that corresponds to a hexadecimal-digit character equivalent to that performed be the functions described in the previous subclause.
- isxdigit⚠
- jrand48⚠
- kill⚠
- labs⚠
- lcong48⚠
- ldiv⚠
- listen⚠
- Prepare to accept connections on socket FD. N connection requests will be queued before further requests are refused. Returns 0 on success, -1 for errors.
- llabs⚠
- lldiv⚠
- localtime⚠
- Return the `struct tm’ representation of *TIMER in the local timezone.
- localtime_
r ⚠ - Return the `struct tm’ representation of *TIMER in local time, using *TP to store the result.
- lrand48⚠
- Return non-negative, long integer in [0,2^31).
- ncblit_
bgrx ⚠ - Same as ncblit_rgba(), but for BGRx.
- ncblit_
rgb_ ⚠loose - Supply an alpha value [0..255] to be applied throughout. linesize must be a multiple of 4 for this RGBx data.
- ncblit_
rgb_ ⚠packed - Supply an alpha value [0..255] to be applied throughout.
- ncblit_
rgba ⚠ - Blit a flat array ‘data’ of RGBA 32-bit values to the ncplane ‘vopts->n’, which mustn’t be NULL. the blit begins at ‘vopts->y’ and ‘vopts->x’ relative to the specified plane. Each source row ought occupy ‘linesize’ bytes (this might be greater than ‘vopts->lenx’ * 4 due to padding or partial blits). A subregion of the input can be specified with the ‘begy’x’begx’ and ‘leny’x’lenx’ fields from ‘vopts’. Returns the number of pixels blitted, or -1 on error.
- nccell_
duplicate ⚠ - Duplicate ‘c’ into ‘targ’; both must be/will be bound to ‘n’. Returns -1 on failure, and 0 on success.
- nccell_
extended_ ⚠gcluster - return a pointer to the NUL-terminated EGC referenced by ‘c’. this pointer can be invalidated by any further operation on the plane ‘n’, so…watch out!
- nccell_
load ⚠ - Breaks the UTF-8 string in ‘gcluster’ down, setting up the nccell ‘c’. Returns the number of bytes copied out of ‘gcluster’, or -1 on failure. The styling of the cell is left untouched, but any resources are released.
- nccell_
release ⚠ - Release resources held by the nccell ‘c’.
- ncdirect_
box ⚠ - Draw a box with its upper-left corner at the current cursor position, having dimensions |ylen|x|xlen|. See ncplane_box() for more information. The minimum box size is 2x2, and it cannot be drawn off-screen. |wchars| is an array of 6 wide characters: UL, UR, LL, LR, HL, VL.
- ncdirect_
canget_ ⚠cursor - Is there support for acquiring the cursor’s current position? Requires the u7 terminfo capability, and that we are connected to an actual terminal.
- ncdirect_
canutf8 ⚠ - Is our encoding UTF-8? Requires LANG being set to a UTF8 locale.
- ncdirect_
capabilities ⚠ - ncdirect_
check_ ⚠pixel_ support - Can we blit pixel-accurate bitmaps?
- ncdirect_
clear ⚠ - Clear the screen.
- ncdirect_
core_ ⚠init - The same as ncdirect_init(), but without any multimedia functionality, allowing for a svelter binary. Link with notcurses-core if this is used.
- ncdirect_
cursor_ ⚠disable - ncdirect_
cursor_ ⚠down - ncdirect_
cursor_ ⚠enable - ncdirect_
cursor_ ⚠left - ncdirect_
cursor_ ⚠move_ yx - Move the cursor in direct mode. -1 to retain current location on that axis.
- ncdirect_
cursor_ ⚠pop - ncdirect_
cursor_ ⚠push - Push or pop the cursor location to the terminal’s stack. The depth of this stack, and indeed its existence, is terminal-dependent.
- ncdirect_
cursor_ ⚠right - ncdirect_
cursor_ ⚠up - ncdirect_
cursor_ ⚠yx - Get the cursor position, when supported. This requires writing to the terminal, and then reading from it. If the terminal doesn’t reply, or doesn’t reply in a way we understand, the results might be deleterious.
- ncdirect_
detected_ ⚠terminal - Capabilites
- ncdirect_
dim_ ⚠x - Get the current number of columns/rows.
- ncdirect_
dim_ ⚠y - ncdirect_
double_ ⚠box - ncdirect_box() with the double box-drawing characters
- ncdirect_
flush ⚠ - Force a flush. Returns 0 on success, -1 on failure.
- ncdirect_
get ⚠ - Provide a NULL ‘ts’ to block at length, a ‘ts’ of 0 for non-blocking operation, and otherwise an absolute deadline in terms of CLOCK_MONOTONIC. Returns a single Unicode code point, a synthesized special key constant, or (uint32_t)-1 on error. Returns 0 on a timeout. If an event is processed, the return value is the ‘id’ field from that event. ‘ni’ may be NULL.
- ncdirect_
hline_ ⚠interp - Draw horizontal/vertical lines using the specified channels, interpolating between them as we go. The EGC may not use more than one column. For a horizontal line, |len| cannot exceed the screen width minus the cursor’s offset. For a vertical line, it may be as long as you’d like; the screen will scroll as necessary. All lines start at the current cursor position.
- ncdirect_
init ⚠ - Initialize a direct-mode Notcurses context on the connected terminal at ‘fp’. ‘fp’ must be a tty. You’ll usually want stdout. Direct mode supports a limited subset of Notcurses routines which directly affect ‘fp’, and neither supports nor requires notcurses_render(). This can be used to add color and styling to text in the standard output paradigm. ‘flags’ is a bitmask over NCDIRECT_OPTION_*. Returns NULL on error, including any failure initializing terminfo.
- ncdirect_
inputready_ ⚠fd - Get a file descriptor suitable for input event poll()ing. When this descriptor becomes available, you can call ncdirect_get_nblock(), and input ought be ready. This file descriptor is not necessarily the file descriptor associated with stdin (but it might be!).
- ncdirect_
off_ ⚠styles - ncdirect_
on_ ⚠styles - ncdirect_
palette_ ⚠size - Returns the number of simultaneous colors claimed to be supported, or 1 if there is no color support. Note that several terminal emulators advertise more colors than they actually support, downsampling internally.
- ncdirect_
printf_ ⚠aligned - Formatted printing (plus alignment relative to the terminal). Returns the number of columns printed on success.
- ncdirect_
putegc ⚠ - Output a single EGC (this might be several characters) from |utf8|, according to the channels |channels|. On success, the number of columns thought to have been used is returned, and if |sbytes| is not NULL, the number of bytes consumed will be written there.
- ncdirect_
putstr ⚠ - Output the string |utf8| according to the channels |channels|. Note that ncdirect_putstr() does not explicitly flush output buffers, so it will not necessarily be immediately visible. Returns EOF on error.
- ncdirect_
raster_ ⚠frame - Takes the result of ncdirect_render_frame() and writes it to the output, freeing it on all paths.
- ncdirect_
readline ⚠ - Read a (heap-allocated) newline-delimited chunk of text, after printing the prompt. The newline itself, if present, is included. Returns NULL on error.
- ncdirect_
render_ ⚠frame - Render an image using the specified blitter and scaling, but do not write the result. The image may be arbitrarily many rows – the output will scroll – but will only occupy the column of the cursor, and those to the right. To actually write (and free) this, invoke ncdirect_raster_frame(). ‘maxx’ and ‘maxy’ (cell geometry, not pixel), if greater than 0, are used for scaling; the terminal’s geometry is otherwise used.
- ncdirect_
render_ ⚠image - Display an image using the specified blitter and scaling. The image may be arbitrarily many rows – the output will scroll – but will only occupy the column of the cursor, and those to the right. The render/raster process can be split by using ncdirect_render_frame() and ncdirect_raster_frame().
- ncdirect_
rounded_ ⚠box - ncdirect_box() with the rounded box-drawing characters
- ncdirect_
set_ ⚠bg_ default - ncdirect_
set_ ⚠bg_ palindex - ncdirect_
set_ ⚠bg_ rgb - ncdirect_
set_ ⚠fg_ default - ncdirect_
set_ ⚠fg_ palindex - ncdirect_
set_ ⚠fg_ rgb - Direct mode. This API can be used to colorize and stylize output generated outside of notcurses, without ever calling notcurses_render(). These should not be intermixed with standard Notcurses rendering.
- ncdirect_
set_ ⚠styles - ncplane_styles_*() analogues
- ncdirect_
stop ⚠ - Release ‘nc’ and any associated resources. 0 on success, non-0 on failure.
- ncdirect_
stream ⚠ - Load successive frames from a file, invoking ‘streamer’ on each.
- ncdirect_
styles ⚠ - ncdirect_
supported_ ⚠styles - Returns a 16-bit bitmask of supported curses-style attributes (NCSTYLE_UNDERLINE, NCSTYLE_BOLD, etc.) The attribute is only indicated as supported if the terminal can support it together with color. For more information, see the “ncv” capability in terminfo(5).
- ncdirect_
vline_ ⚠interp - ncdirectf_
free ⚠ - Free a ncdirectf returned from ncdirectf_from_file().
- ncdirectf_
from_ ⚠file - Load media from disk, but do not yet render it (presumably because you want to get its geometry via ncdirectf_geom(), or to use the same file with ncdirect_render_loaded_frame() multiple times). You must destroy the result with ncdirectf_free();
- ncdirectf_
geom ⚠ - Having loaded the frame ‘frame’, get the geometry of a potential render.
- ncdirectf_
render ⚠ - Same as ncdirect_render_frame(), except ‘frame’ must already have been loaded. A loaded frame may be rendered in different ways before it is destroyed.
- ncdplot_
add_ ⚠sample - ncdplot_
create ⚠ - ncdplot_
destroy ⚠ - ncdplot_
plane ⚠ - ncdplot_
sample ⚠ - ncdplot_
set_ ⚠sample - ncfadectx_
free ⚠ - Release the resources associated with ‘nctx’.
- ncfadectx_
iterations ⚠ - Return the number of iterations through which ‘nctx’ will fade.
- ncfadectx_
setup ⚠ - Rather than the simple ncplane_fade{in/out}(), ncfadectx_setup() can be paired with a loop over ncplane_fade{in/out}_iteration() + ncfadectx_free().
- ncfdplane_
create ⚠ - Create an ncfdplane around the fd ‘fd’. Consider this function to take ownership of the file descriptor, which will be closed in ncfdplane_destroy().
- ncfdplane_
destroy ⚠ - ncfdplane_
plane ⚠ - ncmenu_
create ⚠ - Create a menu with the specified options, bound to the specified plane.
- ncmenu_
destroy ⚠ - Destroy a menu created with ncmenu_create().
- ncmenu_
item_ ⚠set_ status - Disable or enable a menu item. Returns 0 if the item was found.
- ncmenu_
mouse_ ⚠selected - Return the item description corresponding to the mouse click ‘click’. The item must be on an actively unrolled section, and the click must be in the area of a valid item. If ‘ni’ is not NULL, and the selected item has a shortcut, ‘ni’ will be filled in with the shortcut.
- ncmenu_
nextitem ⚠ - Move to the previous/next item within the currently unrolled section. If no section is unrolled, the first section will be unrolled.
- ncmenu_
nextsection ⚠ - Unroll the previous/next section (relative to current unrolled). If no section is unrolled, the first section will be unrolled.
- ncmenu_
offer_ ⚠input - Offer the input to the ncmenu. If it’s relevant, this function returns true, and the input ought not be processed further. If it’s irrelevant to the menu, false is returned. Relevant inputs include:
- ncmenu_
plane ⚠ - Return the ncplane backing this ncmenu.
- ncmenu_
previtem ⚠ - ncmenu_
prevsection ⚠ - ncmenu_
rollup ⚠ - Roll up any unrolled menu section, and hide the menu if using hiding.
- ncmenu_
selected ⚠ - Return the selected item description, or NULL if no section is unrolled. If ‘ni’ is not NULL, and the selected item has a shortcut, ‘ni’ will be filled in with that shortcut–this can allow faster matching.
- ncmenu_
unroll ⚠ - Unroll the specified menu section, making the menu visible if it was invisible, and rolling up any menu section that is already unrolled.
- ncmultiselector_
create ⚠ - ncmultiselector_
destroy ⚠ - Destroy the ncmultiselector.
- ncmultiselector_
offer_ ⚠input - Offer the input to the ncmultiselector. If it’s relevant, this function returns true, and the input ought not be processed further. If it’s irrelevant to the multiselector, false is returned. Relevant inputs include:
- ncmultiselector_
plane ⚠ - Return a reference to the ncmultiselector’s underlying ncplane.
- ncmultiselector_
selected ⚠ - Return selected vector. An array of bools must be provided, along with its length. If that length doesn’t match the itemcount, it is an error.
- ncnmetric⚠
- snprintf(3) is used internally, with ‘s’ as its size bound. If the output requires more size than is available, NULL will be returned.
- ncpalette_
free ⚠ - Free the palette store ‘p’.
- ncpalette_
new ⚠ - Create a new palette store. It will be initialized with notcurses’ best knowledge of the currently configured palette.
- ncpalette_
use ⚠ - Attempt to configure the terminal with the provided palette ‘p’. Does not transfer ownership of ‘p’; ncpalette_free() can (ought) still be called.
- ncpile_
bottom ⚠ - Return the bottommost plane of the pile containing ‘n’.
- ncpile_
create ⚠ - Same as ncplane_create(), but creates a new pile. The returned plane will be the top, bottom, and root of this new pile.
- ncpile_
rasterize ⚠ - Make the physical screen match the last rendered frame from the pile of which ‘n’ is a part. This is a blocking call. Don’t call this before the pile has been rendered (doing so will likely result in a blank screen).
- ncpile_
render ⚠ - Renders the pile of which ‘n’ is a part. Rendering this pile again will blow away the render. To actually write out the render, call ncpile_rasterize().
- ncpile_
render_ ⚠to_ buffer - Perform the rendering and rasterization portion of ncpile_render() and ncpile_rasterize(), but do not write the resulting buffer out to the terminal. Using this function, the user can control the writeout process. The returned buffer must be freed by the caller.
- ncpile_
render_ ⚠to_ file - Write the last rendered frame, in its entirety, to ‘fp’. If a frame has not yet been rendered, nothing will be written.
- ncpile_
top ⚠ - Return the topmost plane of the pile containing ‘n’.
- ncplane_
above ⚠ - Return the plane above this one, or NULL if this is at the top.
- ncplane_
abs_ ⚠x - ncplane_
abs_ ⚠y - ncplane_
abs_ ⚠yx - Get the origin of plane ‘n’ relative to its pile. Either or both of ‘x’ and ‘y’ may be NULL.
- ncplane_
as_ ⚠rgba - Create an RGBA flat array from the selected region of the ncplane ‘nc’. Start at the plane’s ‘begy’x’begx’ coordinate (which must lie on the plane), continuing for ‘leny’x’lenx’ cells. Either or both of ‘leny’ and ‘lenx’ can be specified as 0 to go through the boundary of the plane. Only glyphs from the specified ncblitset may be present. If ‘pxdimy’ and/or ‘pxdimx’ are non-NULL, they will be filled in with the total pixel geometry.
- ncplane_
at_ ⚠cursor - Retrieve the current contents of the cell under the cursor. The EGC is returned, or NULL on error. This EGC must be free()d by the caller. The stylemask and channels are written to ‘stylemask’ and ‘channels’, respectively.
- ncplane_
at_ ⚠cursor_ cell - Retrieve the current contents of the cell under the cursor into ‘c’. This cell is invalidated if the associated plane is destroyed. Returns the number of bytes in the EGC, or -1 on error.
- ncplane_
at_ ⚠yx - Retrieve the current contents of the specified cell. The EGC is returned, or NULL on error. This EGC must be free()d by the caller. The stylemask and channels are written to ‘stylemask’ and ‘channels’, respectively. The return represents how the cell will be used during rendering, and thus integrates any base cell where appropriate. If called upon the secondary columns of a wide glyph, the EGC will be returned (i.e. this function does not distinguish between the primary and secondary columns of a wide glyph). If called on a sprixel plane, its control sequence is returned for all valid locations.
- ncplane_
at_ ⚠yx_ cell - Retrieve the current contents of the specified cell into ‘c’. This cell is invalidated if the associated plane is destroyed. Returns the number of bytes in the EGC, or -1 on error. Unlike ncplane_at_yx(), when called upon the secondary columns of a wide glyph, the return can be distinguished from the primary column (nccell_wide_right_p(c) will return true). It is an error to call this on a sprixel plane (unlike ncplane_at_yx()).
- ncplane_
autogrow_ ⚠p - ncplane_
base ⚠ - Extract the ncplane’s base nccell into ‘c’. The reference is invalidated if ‘ncp’ is destroyed.
- ncplane_
below ⚠ - Return the plane below this one, or NULL if this is at the bottom.
- ncplane_
box ⚠ - Draw a box with its upper-left corner at the current cursor position, and its lower-right corner at ‘ystop’x’xstop’. The 6 cells provided are used to draw the upper-left, ur, ll, and lr corners, then the horizontal and vertical lines. ‘ctlword’ is defined in the least significant byte, where bits [7, 4] are a gradient mask, and [3, 0] are a border mask:
- ncplane_
center_ ⚠abs - Find the center coordinate of a plane, preferring the top/left in the case of an even number of rows/columns (in such a case, there will be one more cell to the bottom/right of the center than the top/left). The center is then modified relative to the plane’s origin.
- ncplane_
channels ⚠ - Get the current colors and alpha values for ncplane ‘n’.
- ncplane_
contents ⚠ - Create a flat string from the EGCs of the selected region of the ncplane ‘n’. Start at the plane’s ‘begy’x’begx’ coordinate (which must lie on the plane), continuing for ‘leny’x’lenx’ cells. Either or both of ‘leny’ and ‘lenx’ can be specified as 0 to go through the boundary of the plane. -1 can be specified for ‘begx’/‘begy’ to use the current cursor location.
- ncplane_
create ⚠ - Create a new ncplane bound to plane ‘n’, at the offset ‘y’x’x’ (relative to the origin of ‘n’) and the specified size. The number of ‘rows’ and ‘cols’ must both be positive. This plane is initially at the top of the z-buffer, as if ncplane_move_top() had been called on it. The void* ‘userptr’ can be retrieved (and reset) later. A ‘name’ can be set, used in debugging.
- ncplane_
cursor_ ⚠move_ rel - Move the cursor relative to the current cursor position (the cursor needn’t be visible). Returns -1 on error, including target position exceeding the plane’s dimensions.
- ncplane_
cursor_ ⚠move_ yx - Move the cursor to the specified position (the cursor needn’t be visible). Pass -1 as either coordinate to hold that axis constant. Returns -1 if the move would place the cursor outside the plane.
- ncplane_
cursor_ ⚠yx - Get the current position of the cursor within n. y and/or x may be NULL.
- ncplane_
destroy ⚠ - Destroy the specified ncplane. None of its contents will be visible after the next call to notcurses_render(). It is an error to attempt to destroy the standard plane.
- ncplane_
dim_ ⚠yx - Return the dimensions of this ncplane. y or x may be NULL.
- ncplane_
dup ⚠ - Duplicate an existing ncplane. The new plane will have the same geometry, will duplicate all content, and will start with the same rendering state. The new plane will be immediately above the old one on the z axis, and will be bound to the same parent (unless ‘n’ is a root plane, in which case the new plane will be bound to it). Bound planes are not duplicated; the new plane is bound to the parent of ‘n’, but has no bound planes.
- ncplane_
erase ⚠ - Erase every cell in the ncplane (each cell is initialized to the null glyph and the default channels/styles). All cells associated with this ncplane are invalidated, and must not be used after the call, excluding the base cell. The cursor is homed. The plane’s active attributes are unaffected.
- ncplane_
erase_ ⚠region - Erase every cell in the region starting at {ystart, xstart} and having size {|ylen|x|xlen|} for non-zero lengths. If ystart and/or xstart are -1, the current cursor position along that axis is used; other negative values are an error. A negative ylen means to move up from the origin, and a negative xlen means to move left from the origin. A positive ylen moves down, and a positive xlen moves right. A value of 0 for the length erases everything along that dimension. It is an error if the starting coordinate is not in the plane, but the ending coordinate may be outside the plane.
- ncplane_
fadein ⚠ - Fade the ncplane in over the specified time. Load the ncplane with the target cells without rendering, then call this function. When it’s done, the ncplane will have reached the target levels, starting from zeroes.
- ncplane_
fadein_ ⚠iteration - Fade in through ‘iter’ iterations, where ‘iter’ < ‘ncfadectx_iterations(nctx)’.
- ncplane_
fadeout ⚠ - Fade the ncplane out over the provided time, calling ‘fader’ at each iteration. Requires a terminal which supports truecolor, or at least palette modification (if the terminal uses a palette, our ability to fade planes is limited, and affected by the complexity of the rest of the screen).
- ncplane_
fadeout_ ⚠iteration - Fade out through ‘iter’ iterations, where ‘iter’ < ‘ncfadectx_iterations(nctx)’.
- ncplane_
format ⚠ - Set the given style throughout the specified region, keeping content and channels unchanged. The upper left corner is at ‘y’, ‘x’, and -1 may be specified to indicate the cursor’s position in that dimension. The area is specified by ‘ylen’, ‘xlen’, and 0 may be specified to indicate everything remaining to the right and below, respectively. It is an error for any coordinate to be outside the plane. Returns the number of cells set, or -1 on failure.
- ncplane_
gradient ⚠ - Draw a gradient with its upper-left corner at the position specified by ‘y’/‘x’, where -1 means the current cursor position in that dimension. The area is specified by ‘ylen’/‘xlen’, where 0 means “everything remaining below or to the right, respectively.” The glyph composed of ‘egc’ and ‘styles’ is used for all cells. The channels specified by ‘ul’, ‘ur’, ‘ll’, and ‘lr’ are composed into foreground and background gradients. To do a vertical gradient, ‘ul’ ought equal ‘ur’ and ‘ll’ ought equal ‘lr’. To do a horizontal gradient, ‘ul’ ought equal ‘ll’ and ‘ur’ ought equal ‘ul’. To color everything the same, all four channels should be equivalent. The resulting alpha values are equal to incoming alpha values. Returns the number of cells filled on success, or -1 on failure. Palette-indexed color is not supported.
- ncplane_
gradient2x1 ⚠ - Do a high-resolution gradient using upper blocks and synced backgrounds. This doubles the number of vertical gradations, but restricts you to half blocks (appearing to be full blocks). Returns the number of cells filled on success, or -1 on error.
- ncplane_
greyscale ⚠ - Convert the plane’s content to greyscale.
- ncplane_
hline_ ⚠interp - Draw horizontal or vertical lines using the specified cell, starting at the current cursor position. The cursor will end at the cell following the last cell output (even, perhaps counter-intuitively, when drawing vertical lines), just as if ncplane_putc() was called at that spot. Return the number of cells drawn on success. On error, return the negative number of cells drawn. A length of 0 is an error, resulting in a return of -1.
- ncplane_
home ⚠ - Move the cursor to 0, 0. Can’t fail.
- ncplane_
mergedown ⚠ - Merge the ncplane ‘src’ down onto the ncplane ‘dst’. This is most rigorously defined as “write to ‘dst’ the frame that would be rendered were the entire stack made up only of the specified subregion of ‘src’ and, below it, the subregion of ‘dst’ having the specified origin. Supply -1 to indicate the current cursor position in the relevant dimension. Merging is independent of the position of ‘src’ viz ‘dst’ on the z-axis. It is an error to define a subregion that is not entirely contained within ‘src’. It is an error to define a target origin such that the projected subregion is not entirely contained within ‘dst’. Behavior is undefined if ‘src’ and ‘dst’ are equivalent. ‘dst’ is modified, but ‘src’ remains unchanged. Neither ‘src’ nor ‘dst’ may have sprixels. Lengths of 0 mean “everything left”.
- ncplane_
mergedown_ ⚠simple - Merge the entirety of ‘src’ down onto the ncplane ‘dst’. If ‘src’ does not intersect with ‘dst’, ‘dst’ will not be changed, but it is not an error.
- ncplane_
move_ ⚠above - Splice ncplane ‘n’ out of the z-buffer, and reinsert it above ‘above’. Returns non-zero if ‘n’ is already in the desired location. ‘n’ and ‘above’ must not be the same plane. If ‘above’ is NULL, ‘n’ is moved to the bottom of its pile.
- ncplane_
move_ ⚠below - Splice ncplane ‘n’ out of the z-buffer, and reinsert it below ‘below’. Returns non-zero if ‘n’ is already in the desired location. ‘n’ and ‘below’ must not be the same plane. If ‘below’ is NULL, ‘n’ is moved to the top of its pile.
- ncplane_
move_ ⚠family_ above - Splice ncplane ‘n’ and its bound planes out of the z-buffer, and reinsert them above or below ‘targ’. Relative order will be maintained between the reinserted planes. For a plane E bound to C, with z-ordering A B C D E, moving the C family to the top results in C E A B D, while moving it to the bottom results in A B D C E.
- ncplane_
move_ ⚠family_ below - ncplane_
move_ ⚠yx - Move this plane relative to the standard plane, or the plane to which it is bound (if it is bound to a plane). It is an error to attempt to move the standard plane.
- ncplane_
name ⚠ - Return a heap-allocated copy of the plane’s name, or NULL if it has none.
- ncplane_
notcurses ⚠ - Extract the Notcurses context to which this plane is attached.
- ncplane_
notcurses_ ⚠const - ncplane_
off_ ⚠styles - Remove the specified styles from the ncplane’s existing spec.
- ncplane_
on_ ⚠styles - Add the specified styles to the ncplane’s existing spec.
- ncplane_
parent ⚠ - Get the plane to which the plane ‘n’ is bound, if any.
- ncplane_
parent_ ⚠const - ncplane_
pixel_ ⚠geom - Retrieve pixel geometry for the display region (‘pxy’, ‘pxx’), each cell (‘celldimy’, ‘celldimx’), and the maximum displayable bitmap (‘maxbmapy’, ‘maxbmapx’). If bitmaps are not supported, or if there is no artificial limit on bitmap size, ‘maxbmapy’ and ‘maxbmapx’ will be 0. Any of the geometry arguments may be NULL.
- ncplane_
polyfill_ ⚠yx - Starting at the specified coordinate, if its glyph is different from that of ‘c’, ‘c’ is copied into it, and the original glyph is considered the fill target. We do the same to all cardinally-connected cells having this same fill target. Returns the number of cells polyfilled. An invalid initial y, x is an error. Returns the number of cells filled, or -1 on error.
- ncplane_
pulse ⚠ - Pulse the plane in and out until the callback returns non-zero, relying on the callback ‘fader’ to initiate rendering. ‘ts’ defines the half-period (i.e. the transition from black to full brightness, or back again). Proper use involves preparing (but not rendering) an ncplane, then calling ncplane_pulse(), which will fade in from black to the specified colors.
- ncplane_
putc_ ⚠yx - Replace the cell at the specified coordinates with the provided cell ‘c’, and advance the cursor by the width of the cell (but not past the end of the plane). On success, returns the number of columns the cursor was advanced. ‘c’ must already be associated with ‘n’. On failure, -1 is returned.
- ncplane_
putchar_ ⚠stained - Replace the EGC underneath us, but retain the styling. The current styling of the plane will not be changed.
- ncplane_
putegc_ ⚠stained - Replace the EGC underneath us, but retain the styling. The current styling of the plane will not be changed.
- ncplane_
putegc_ ⚠yx - Replace the cell at the specified coordinates with the provided EGC, and advance the cursor by the width of the cluster (but not past the end of the plane). On success, returns the number of columns the cursor was advanced. On failure, -1 is returned. The number of bytes converted from gclust is written to ‘sbytes’ if non-NULL.
- ncplane_
putnstr_ ⚠aligned - ncplane_
puttext ⚠ - Write the specified text to the plane, breaking lines sensibly, beginning at the specified line. Returns the number of columns written. When breaking a line, the line will be cleared to the end of the plane (the last line will not be so cleared). The number of bytes written from the input is written to ‘*bytes’ if it is not NULL. Cleared columns are included in the return value, but not included in the number of bytes written. Leaves the cursor at the end of output. A partial write will be accomplished as far as it can; determine whether the write completed by inspecting ‘*bytes’. Can output to multiple rows even in the absence of scrolling, but not more rows than are available. With scrolling enabled, arbitrary amounts of data can be emitted. All provided whitespace is preserved – ncplane_puttext() followed by an appropriate ncplane_contents() will read back the original output.
- ncplane_
putwegc_ ⚠stained - Replace the EGC underneath us, but retain the styling. The current styling of the plane will not be changed.
- ncplane_
putwstr_ ⚠stained - ncplane_
qrcode ⚠ - Draw a QR code at the current position on the plane. If there is insufficient room to draw the code here, or there is any other error, non-zero will be returned. Otherwise, the QR code “version” (size) is returned. The QR code is (version * 4 + 17) columns wide, and ⌈version * 4 + 17⌉ rows tall (the properly-scaled values are written back to ‘*ymax’ and ‘*xmax’).
- ncplane_
reparent ⚠ - Plane ‘n’ will be unbound from its parent plane, and will be made a bound child of ‘newparent’. It is an error if ‘n’ or ‘newparent’ are NULL. If ‘newparent’ is equal to ‘n’, ‘n’ becomes the root of a new pile, unless ‘n’ is already the root of a pile, in which case this is a no-op. Returns ‘n’. The standard plane cannot be reparented. Any planes bound to ‘n’ are reparented to the previous parent of ‘n’.
- ncplane_
reparent_ ⚠family - The same as ncplane_reparent(), except any planes bound to ‘n’ come along with it to its new destination. Their z-order is maintained. If ‘newparent’ is an ancestor of ‘n’, NULL is returned, and no changes are made.
- ncplane_
resize ⚠ - Resize the specified ncplane. The four parameters ‘keepy’, ‘keepx’, ‘keepleny’, and ‘keeplenx’ define a subset of the ncplane to keep, unchanged. This may be a region of size 0, though none of these four parameters may be negative. ‘keepx’ and ‘keepy’ are relative to the ncplane. They must specify a coordinate within the ncplane’s totality. ‘yoff’ and ‘xoff’ are relative to ‘keepy’ and ‘keepx’, and place the upper-left corner of the resized ncplane. Finally, ‘ylen’ and ‘xlen’ are the dimensions of the ncplane after resizing. ‘ylen’ must be greater than or equal to ‘keepleny’, and ‘xlen’ must be greater than or equal to ‘keeplenx’. It is an error to attempt to resize the standard plane. If either of ‘keepleny’ or ‘keeplenx’ is non-zero, both must be non-zero.
- ncplane_
resize_ ⚠marginalized - resize the plane to its parent’s size, attempting to enforce the margins supplied along with NCPLANE_OPTION_MARGINALIZED.
- ncplane_
resize_ ⚠maximize - resize the plane to the visual region’s size (used for the standard plane).
- ncplane_
resize_ ⚠placewithin - move the plane such that it is entirely within its parent, if possible. no resizing is performed.
- ncplane_
resize_ ⚠realign - realign the plane ‘n’ against its parent, using the alignments specified with NCPLANE_OPTION_HORALIGNED and/or NCPLANE_OPTION_VERALIGNED.
- ncplane_
resizecb ⚠ - Returns the ncplane’s current resize callback.
- ncplane_
rotate_ ⚠ccw - ncplane_
rotate_ ⚠cw - Rotate the plane π/2 radians clockwise or counterclockwise. This cannot be performed on arbitrary planes, because glyphs cannot be arbitrarily rotated. The glyphs which can be rotated are limited: line-drawing characters, spaces, half blocks, and full blocks. The plane must have an even number of columns. Use the ncvisual rotation for a more flexible approach.
- ncplane_
scrolling_ ⚠p - ncplane_
scrollup ⚠ - Effect |r| scroll events on the plane |n|. Returns an error if |n| is not a scrolling plane, and otherwise returns the number of lines scrolled.
- ncplane_
scrollup_ ⚠child - Scroll |n| up until |child| is no longer hidden beneath it. Returns an error if |child| is not a child of |n|, or |n| is not scrolling, or |child| is fixed. Returns the number of scrolling events otherwise (might be 0). If the child plane is not fixed, it will likely scroll as well.
- ncplane_
set_ ⚠autogrow - By default, planes are created with autogrow disabled. Autogrow can be dynamically controlled with ncplane_set_autogrow(). Returns true if autogrow was previously enabled, or false if it was disabled.
- ncplane_
set_ ⚠base - Set the ncplane’s base nccell. It will be used for purposes of rendering anywhere that the ncplane’s gcluster is 0. Note that the base cell is not affected by ncplane_erase(). ‘egc’ must be an extended grapheme cluster. Returns the number of bytes copied out of ‘gcluster’, or -1 on failure.
- ncplane_
set_ ⚠base_ cell - Set the ncplane’s base nccell to ‘c’. The base cell is used for purposes of rendering anywhere that the ncplane’s gcluster is 0. Note that the base cell is not affected by ncplane_erase(). ‘c’ must not be a secondary cell from a multicolumn EGC.
- ncplane_
set_ ⚠bchannel - Set the background alpha and coloring bits of the plane’s current channels from a single 32-bit value.
- ncplane_
set_ ⚠bg_ alpha - ncplane_
set_ ⚠bg_ default - ncplane_
set_ ⚠bg_ palindex - ncplane_
set_ ⚠bg_ rgb - ncplane_
set_ ⚠bg_ rgb8 - ncplane_
set_ ⚠bg_ rgb8_ clipped - Same, but clipped to [0..255].
- ncplane_
set_ ⚠channels - Set the alpha and coloring bits of the plane’s current channels from a 64-bit pair of channels.
- ncplane_
set_ ⚠fchannel - Set the foreground alpha and coloring bits of the plane’s current channels from a single 32-bit value.
- ncplane_
set_ ⚠fg_ alpha - Set the alpha parameters for ncplane ‘n’.
- ncplane_
set_ ⚠fg_ default - Use the default color for the foreground/background.
- ncplane_
set_ ⚠fg_ palindex - Set the ncplane’s foreground palette index, set the foreground palette index bit, set it foreground-opaque, and clear the foreground default color bit.
- ncplane_
set_ ⚠fg_ rgb - Same, but with rgb assembled into a channel (i.e. lower 24 bits).
- ncplane_
set_ ⚠fg_ rgb8 - Set the current fore/background color using RGB specifications. If the terminal does not support directly-specified 3x8b cells (24-bit “TrueColor”, indicated by the “RGB” terminfo capability), the provided values will be interpreted in some lossy fashion. None of r, g, or b may exceed 255. “HP-like” terminals require setting foreground and background at the same time using “color pairs”; Notcurses will manage color pairs transparently.
- ncplane_
set_ ⚠fg_ rgb8_ clipped - ncplane_
set_ ⚠name - Set the plane’s name (may be NULL), replacing any current name.
- ncplane_
set_ ⚠resizecb - Replace the ncplane’s existing resizecb with ‘resizecb’ (which may be NULL). The standard plane’s resizecb may not be changed.
- ncplane_
set_ ⚠scrolling - All planes are created with scrolling disabled. Scrolling can be dynamically controlled with ncplane_set_scrolling(). Returns true if scrolling was previously enabled, or false if it was disabled.
- ncplane_
set_ ⚠styles - Set the specified style bits for the ncplane ‘n’, whether they’re actively supported or not.
- ncplane_
set_ ⚠userptr - Manipulate the opaque user pointer associated with this plane. ncplane_set_userptr() returns the previous userptr after replacing it with ‘opaque’. the others simply return the userptr.
- ncplane_
stain ⚠ - Set the given channels throughout the specified region, keeping content and channels unchanged. The upper left corner is at ‘y’, ‘x’, and -1 may be specified to indicate the cursor’s position in that dimension. The area is specified by ‘ylen’, ‘xlen’, and 0 may be specified to indicate everything remaining to the right and below, respectively. It is an error for any coordinate to be outside the plane. Returns the number of cells set, or -1 on failure.
- ncplane_
styles ⚠ - Get the current styling for the ncplane ‘n’.
- ncplane_
translate ⚠ - provided a coordinate relative to the origin of ‘src’, map it to the same absolute coordinate relative to the origin of ‘dst’. either or both of ‘y’ and ‘x’ may be NULL. if ‘dst’ is NULL, it is taken to be the standard plane.
- ncplane_
translate_ ⚠abs - Fed absolute ‘y’/‘x’ coordinates, determine whether that coordinate is within the ncplane ‘n’. If not, return false. If so, return true. Either way, translate the absolute coordinates relative to ‘n’. If the point is not within ‘n’, these coordinates will not be within the dimensions of the plane.
- ncplane_
userptr ⚠ - ncplane_
vline_ ⚠interp - ncplane_
vprintf_ ⚠aligned - The ncplane equivalents of printf(3) and vprintf(3).
- ncplane_
vprintf_ ⚠stained - ncplane_
vprintf_ ⚠yx - ncplane_
x ⚠ - ncplane_
y ⚠ - ncplane_
yx ⚠ - Get the origin of plane ‘n’ relative to its bound plane, or pile (if ‘n’ is a root plane). To get absolute coordinates, use ncplane_abs_yx().
- ncprogbar_
create ⚠ - Takes ownership of the ncplane ‘n’, which will be destroyed by ncprogbar_destroy(). The progress bar is initially at 0%.
- ncprogbar_
destroy ⚠ - Destroy the progress bar and its underlying ncplane.
- ncprogbar_
plane ⚠ - Return a reference to the ncprogbar’s underlying ncplane.
- ncprogbar_
progress ⚠ - Get the progress bar’s completion, a double on [0, 1].
- ncprogbar_
set_ ⚠progress - Set the progress bar’s completion, a double 0 <= ‘p’ <= 1.
- ncreader_
clear ⚠ - empty the ncreader of any user input, and home the cursor.
- ncreader_
contents ⚠ - return a heap-allocated copy of the current (UTF-8) contents.
- ncreader_
create ⚠ - ncreaders provide freeform input in a (possibly multiline) region, supporting optional readline keybindings. takes ownership of ‘n’, destroying it on any error (ncreader_destroy() otherwise destroys the ncplane).
- ncreader_
destroy ⚠ - destroy the reader and its bound plane. if ‘contents’ is not NULL, the UTF-8 input will be heap-duplicated and written to ‘contents’.
- ncreader_
move_ ⚠down - ncreader_
move_ ⚠left - Atttempt to move in the specified direction. Returns 0 if a move was successfully executed, -1 otherwise. Scrolling is taken into account.
- ncreader_
move_ ⚠right - ncreader_
move_ ⚠up - ncreader_
offer_ ⚠input - Offer the input to the ncreader. If it’s relevant, this function returns true, and the input ought not be processed further. Almost all inputs are relevant to an ncreader, save synthesized ones.
- ncreader_
plane ⚠ - ncreader_
write_ ⚠egc - Destructively write the provided EGC to the current cursor location. Move the cursor as necessary, scrolling if applicable.
- ncreel_
add ⚠ - Add a new nctablet to the provided ncreel ‘nr’, having the callback object ‘opaque’. Neither, either, or both of ‘after’ and ‘before’ may be specified. If neither is specified, the new tablet can be added anywhere on the reel. If one or the other is specified, the tablet will be added before or after the specified tablet. If both are specified, the tablet will be added to the resulting location, assuming it is valid (after->next == before->prev); if it is not valid, or there is any other error, NULL will be returned.
- ncreel_
create ⚠ - Take over the ncplane ‘nc’ and use it to draw a reel according to ‘popts’. The plane will be destroyed by ncreel_destroy(); this transfers ownership.
- ncreel_
del ⚠ - Delete the tablet specified by t from the ncreel ‘nr’. Returns -1 if the tablet cannot be found.
- ncreel_
destroy ⚠ - Destroy an ncreel allocated with ncreel_create().
- ncreel_
focused ⚠ - Return the focused tablet, if any tablets are present. This is not a copy; be careful to use it only for the duration of a critical section.
- ncreel_
next ⚠ - Change focus to the next tablet, if one exists
- ncreel_
offer_ ⚠input - Offer input ‘ni’ to the ncreel ‘nr’. If it’s relevant, this function returns true, and the input ought not be processed further. If it’s irrelevant to the reel, false is returned. Relevant inputs include:
- ncreel_
plane ⚠ - Returns the ncplane on which this ncreel lives.
- ncreel_
prev ⚠ - Change focus to the previous tablet, if one exists
- ncreel_
redraw ⚠ - Redraw the ncreel ‘nr’ in its entirety. The reel will be cleared, and tablets will be lain out, using the focused tablet as a fulcrum. Tablet drawing callbacks will be invoked for each visible tablet.
- ncreel_
tabletcount ⚠ - Return the number of nctablets in the ncreel ‘nr’.
- ncselector_
additem ⚠ - Dynamically add or delete items. It is usually sufficient to supply a static list of items via ncselector_options->items.
- ncselector_
create ⚠ - ncselector_
delitem ⚠ - ncselector_
destroy ⚠ - Destroy the ncselector.
- ncselector_
nextitem ⚠ - ncselector_
offer_ ⚠input - Offer the input to the ncselector. If it’s relevant, this function returns true, and the input ought not be processed further. If it’s irrelevant to the selector, false is returned. Relevant inputs include:
- ncselector_
plane ⚠ - Return a reference to the ncselector’s underlying ncplane.
- ncselector_
previtem ⚠ - Move up or down in the list. A reference to the newly-selected item is returned, or NULL if there are no items in the list.
- ncselector_
selected ⚠ - Return reference to the selected option, or NULL if there are no items.
- ncstrwidth⚠
- Returns the number of columns occupied by the longest valid prefix of a multibyte (UTF-8) string. If an invalid character is encountered, -1 will be returned, and the number of valid bytes and columns will be written into *|validbytes| and *|validwidth| (assuming them non-NULL). If the entire string is valid, *|validbytes| and *|validwidth| reflect the entire string.
- ncsubproc_
createv ⚠ - see exec(2). p-types use $PATH. e-type passes environment vars.
- ncsubproc_
createvp ⚠ - ncsubproc_
createvpe ⚠ - ncsubproc_
destroy ⚠ - ncsubproc_
plane ⚠ - nctab_
cb ⚠ - Returns the tab callback.
- nctab_
move ⚠ - Move ‘t’ after ‘after’ (if not NULL) and before ‘before’ (if not NULL). If both ‘after’ and ‘before’ are NULL, the function returns -1, otherwise it returns 0.
- nctab_
move_ ⚠left - Move ‘t’ to the right by one tab, looping around to become the last tab if needed.
- nctab_
move_ ⚠right - Move ‘t’ to the right by one tab, looping around to become leftmost if needed.
- nctab_
name ⚠ - Returns the tab name. This is not a copy and it should not be stored.
- nctab_
name_ ⚠width - Returns the width (in columns) of the tab’s name.
- nctab_
next ⚠ - Returns the tab to the right of ‘t’. This does not change which tab is selected.
- nctab_
prev ⚠ - Returns the tab to the left of ‘t’. This does not change which tab is selected.
- nctab_
set_ ⚠cb - Set the tab callback function for ‘t’. Returns the previous tab callback.
- nctab_
set_ ⚠name - Change the name of ‘t’. Returns -1 if ‘newname’ is NULL, and 0 otherwise.
- nctab_
set_ ⚠userptr - Set the user pointer of ‘t’. Returns the previous user pointer.
- nctab_
userptr ⚠ - Returns the tab’s user pointer.
- nctabbed_
add ⚠ - Add a new tab to ‘nt’ with the given tab callback, name, and user pointer. If both ‘before’ and ‘after’ are NULL, the tab is inserted after the selected tab. Otherwise, it gets put after ‘after’ (if not NULL) and before ‘before’ (if not NULL). If both ‘after’ and ‘before’ are given, they must be two neighboring tabs (the tab list is circular, so the last tab is immediately before the leftmost tab), otherwise the function returns NULL. If ‘name’ is NULL or a string containing illegal characters, the function returns NULL. On all other failures the function also returns NULL. If it returns NULL, none of the arguments are modified, and the widget state is not altered.
- nctabbed_
channels ⚠ - Write the channels for tab headers, the selected tab header, and the separator to ‘*hdrchan’, ‘*selchan’, and ‘*sepchan’ respectively.
- nctabbed_
content_ ⚠plane - Returns the tab content plane.
- nctabbed_
create ⚠ - Creates a new nctabbed widget, associated with the given ncplane ‘n’, and with additional options given in ‘opts’. When ‘opts’ is NULL, it acts as if it were called with an all-zero opts. The widget takes ownership of ‘n’, and destroys it when the widget is destroyed. Returns the newly created widget. Returns NULL on failure, also destroying ‘n’.
- nctabbed_
del ⚠ - Remove a tab ‘t’ from ‘nt’. Its neighboring tabs become neighbors to each other. If ‘t’ if the selected tab, the tab after ‘t’ becomes selected. Likewise if ‘t’ is the leftmost tab, the tab after ‘t’ becomes leftmost. If ‘t’ is the only tab, there will no more be a selected or leftmost tab, until a new tab is added. Returns -1 if ‘t’ is NULL, and 0 otherwise.
- nctabbed_
destroy ⚠ - Destroy an nctabbed widget. All memory belonging to ‘nt’ is deallocated, including all tabs and their names. The plane associated with ‘nt’ is also destroyed. Calling this with NULL does nothing.
- nctabbed_
ensure_ ⚠selected_ header_ visible - Make sure the tab header of the currently selected tab is at least partially visible. (by rotating tabs until at least one column is displayed) Does nothing if there are no tabs.
- nctabbed_
leftmost ⚠ - Returns the leftmost tab, or NULL if there are no tabs.
- nctabbed_
next ⚠ - Select the tab after the currently selected tab, and return the newly selected tab. Returns NULL if there are no tabs.
- nctabbed_
plane ⚠ - Returns the plane associated to ‘nt’.
- nctabbed_
prev ⚠ - Select the tab before the currently selected tab, and return the newly selected tab. Returns NULL if there are no tabs.
- nctabbed_
redraw ⚠ - Redraw the widget. This calls the tab callback of the currently selected tab to draw tab contents, and draws tab headers. The tab content plane is not modified by this function, apart from resizing the plane is necessary.
- nctabbed_
rotate ⚠ - Rotate the tabs of ‘nt’ right by ‘amt’ tabs, or ‘-amt’ tabs left if ‘amt’ is negative. Tabs are rotated only by changing the leftmost tab; the selected tab stays the same. If there are no tabs, nothing happens.
- nctabbed_
select ⚠ - Change the selected tab to be ‘t’. Returns the previously selected tab.
- nctabbed_
selected ⚠ - Returns the currently selected tab, or NULL if there are no tabs.
- nctabbed_
separator ⚠ - Returns the tab separator. This is not a copy and it should not be stored. This can be NULL, if the separator was set to NULL in ncatbbed_create() or nctabbed_set_separator().
- nctabbed_
separator_ ⚠width - Returns the tab separator width, or zero if there is no separator.
- nctabbed_
set_ ⚠hdrchan - Set the tab headers channel for ‘nt’.
- nctabbed_
set_ ⚠selchan - Set the selected tab header channel for ‘nt’.
- nctabbed_
set_ ⚠separator - Change the tab separator for ‘nt’. Returns -1 if ‘separator’ is not NULL and is not a valid string, and 0 otherwise.
- nctabbed_
set_ ⚠sepchan - Set the tab separator channel for ‘nt’.
- nctabbed_
tabcount ⚠ - Returns the number of tabs in the widget.
- nctablet_
plane ⚠ - Access the ncplane associated with nctablet ‘t’, if one exists.
- nctablet_
userptr ⚠ - Returns a pointer to a user pointer associated with this nctablet.
- nctree_
add ⚠ - Insert |add| into the nctree |n| at |spec|. The path up to the last element must already exist. If an item already exists at the path, it will be moved to make room for |add|.
- nctree_
create ⚠ - |opts| may not be NULL, since it is necessary to define a callback function.
- nctree_
del ⚠ - Delete the item at |spec|, including any subitems.
- nctree_
destroy ⚠ - Destroy the nctree.
- nctree_
focused ⚠ - Return the focused item, if any items are present. This is not a copy; be careful to use it only for the duration of a critical section.
- nctree_
goto ⚠ - Go to the item specified by the array |spec| (a spec is a series of unsigned values, each identifying a subelement in the hierarchy thus far, terminated by UINT_MAX). If the spec is invalid, NULL is returned, and the depth of the first invalid spec is written to *|failspec|. Otherwise, the true depth is written to *|failspec|, and the curry is returned (|failspec| is necessary because the curry could itself be NULL).
- nctree_
next ⚠ - Change focus to the next item.
- nctree_
offer_ ⚠input - Offer input ‘ni’ to the nctree ‘n’. If it’s relevant, this function returns true, and the input ought not be processed further. If it’s irrelevant to the tree, false is returned. Relevant inputs include:
- nctree_
plane ⚠ - Returns the ncplane on which this nctree lives.
- nctree_
prev ⚠ - Change focus to the previous item.
- nctree_
redraw ⚠ - Redraw the nctree ‘n’ in its entirety. The tree will be cleared, and items will be lain out, using the focused item as a fulcrum. Item-drawing callbacks will be invoked for each visible item.
- ncuplot_
add_ ⚠sample - Add to or set the value corresponding to this x. If x is beyond the current x window, the x window is advanced to include x, and values passing beyond the window are lost. The first call will place the initial window. The plot will be redrawn, but notcurses_render() is not called.
- ncuplot_
create ⚠ - Use the provided plane ‘n’ for plotting according to the options ‘opts’. The plot will make free use of the entirety of the plane. For domain autodiscovery, set miny == maxy == 0. ncuplot holds uint64_ts, while ncdplot holds doubles.
- ncuplot_
destroy ⚠ - ncuplot_
plane ⚠ - Return a reference to the ncplot’s underlying ncplane.
- ncuplot_
sample ⚠ - ncuplot_
set_ ⚠sample - ncvisual_
at_ ⚠yx - Get the specified pixel from the specified ncvisual.
- ncvisual_
blit ⚠ - Render the decoded frame according to the provided options (which may be NULL). The plane used for rendering depends on vopts->n and vopts->flags. If NCVISUAL_OPTION_CHILDPLANE is set, vopts->n must not be NULL, and the plane will always be created as a child of vopts->n. If this flag is not set, and vopts->n is NULL, a new plane is created as root of a new pile. If the flag is not set and vopts->n is not NULL, we render to vopts->n. A subregion of the visual can be rendered using ‘begx’, ‘begy’, ‘lenx’, and ‘leny’. Negative values for any of these are an error. It is an error to specify any region beyond the boundaries of the frame. Returns the (possibly newly-created) plane to which we drew. Pixels may not be blitted to the standard plane.
- ncvisual_
decode ⚠ - extract the next frame from an ncvisual. returns 1 on end of file, 0 on success, and -1 on failure.
- ncvisual_
decode_ ⚠loop - decode the next frame ala ncvisual_decode(), but if we have reached the end, rewind to the first frame of the ncvisual. a subsequent ‘ncvisual_blit()’ will render the first frame, as if the ncvisual had been closed and reopened. the return values remain the same as those of ncvisual_decode().
- ncvisual_
destroy ⚠ - Destroy an ncvisual. Rendered elements will not be disrupted, but the visual can be neither decoded nor rendered any further.
- ncvisual_
from_ ⚠bgra - ncvisual_from_rgba(), but ‘bgra’ is arranged as BGRA. note that this is a byte-oriented layout, despite being bunched in 32-bit pixels; the lowest memory address ought be B, and A is reached by adding 3 to that address. It is an error if ‘rows’, ‘cols’, or ‘rowstride’ are not positive, if ‘rowstride’ is not a multiple of 4, or if ‘rowstride’ is less than ‘cols’ * 4.
- ncvisual_
from_ ⚠file - Open a visual at ‘file’, extract a codec and parameters, decode the first image to memory.
- ncvisual_
from_ ⚠palidx - ncvisual_from_rgba(), but ‘data’ is ‘pstride’-byte palette-indexed pixels, arranged in ‘rows’ lines of ‘rowstride’ bytes each, composed of ‘cols’ pixels. ‘palette’ is an array of at least ‘palsize’ ncchannels. It is an error if ‘rows’, ‘cols’, ‘rowstride’, or ‘pstride’ are not positive, if ‘rowstride’ is not a multiple of ‘pstride’, or if ‘rowstride’ is less than ‘cols’ * ‘pstride’.
- ncvisual_
from_ ⚠plane - Promote an ncplane ‘n’ to an ncvisual. The plane may contain only spaces, half blocks, and full blocks. The latter will be checked, and any other glyph will result in a NULL being returned. This function exists so that planes can be subjected to ncvisual transformations. If possible, it’s better to create the ncvisual from memory using ncvisual_from_rgba(). Lengths of 0 are interpreted to mean “all available remaining area”.
- ncvisual_
from_ ⚠rgb_ loose - ncvisual_from_rgba(), but the pixels are 4-byte RGBx. A is filled in throughout using ‘alpha’. It is an error if ‘rows’, ‘cols’, or ‘rowstride’ are not positive, if ‘rowstride’ is not a multiple of 4, or if ‘rowstride’ is less than ‘cols’ * 4.
- ncvisual_
from_ ⚠rgb_ packed - ncvisual_from_rgba(), but the pixels are 3-byte RGB. A is filled in throughout using ‘alpha’. It is an error if ‘rows’, ‘rowstride’, or ‘cols’ is not positive, if ‘rowstride’ is not a multiple of 3, or if ‘rowstride’ is less than ‘cols’ * 3.
- ncvisual_
from_ ⚠rgba - Prepare an ncvisual, and its underlying plane, based off RGBA content in memory at ‘rgba’. ‘rgba’ is laid out as ‘rows’ lines, each of which is ‘rowstride’ bytes in length. Each line has ‘cols’ 32-bit 8bpc RGBA pixels followed by possible padding (there will be ‘rowstride’ - ‘cols’ * 4 bytes of padding). The total size of ‘rgba’ is thus (‘rows’ * ‘rowstride’) bytes, of which (‘rows’ * ‘cols’ * 4) bytes are actual non-padding data. It is an error if any argument is not positive, if ‘rowstride’ is not a multiple of 4, or if ‘rowstride’ is less than ‘cols’ * 4.
- ncvisual_
from_ ⚠sixel - Construct an ncvisual from a nul-terminated Sixel control sequence.
- ncvisual_
geom ⚠ - all-purpose ncvisual geometry solver. one or both of ‘nc’ and ‘n’ must be non-NULL. if ‘nc’ is NULL, only pixy/pixx will be filled in, with the true pixel geometry of ‘n’. if ‘n’ is NULL, only cdimy/cdimx, blitter, scaley/scalex, and maxpixely/maxpixelx are filled in. cdimy/cdimx and maxpixely/maxpixelx are only ever filled in if we know them.
- ncvisual_
media_ ⚠defblitter - Get the default media (not plot) blitter for this environment when using the specified scaling method. Currently, this means:
- ncvisual_
polyfill_ ⚠yx - Polyfill at the specified location within the ncvisual ‘n’, using ‘rgba’.
- ncvisual_
resize ⚠ - Scale the visual to ‘rows’ X ‘columns’ pixels, using the best scheme available. This is a lossy transformation, unless the size is unchanged.
- ncvisual_
resize_ ⚠noninterpolative - Scale the visual to ‘rows’ X ‘columns’ pixels, using non-interpolative (naive) scaling. No new colors will be introduced as a result.
- ncvisual_
rotate ⚠ - Rotate the visual ‘rads’ radians. Only M_PI/2 and -M_PI/2 are supported at the moment, but this might change in the future.
- ncvisual_
set_ ⚠yx - Set the specified pixel in the specified ncvisual.
- ncvisual_
simple_ ⚠streamer - Shut up and display my frames! Provide as an argument to ncvisual_stream(). If you’d like subtitles to be decoded, provide an ncplane as the curry. If the curry is NULL, subtitles will not be displayed.
- ncvisual_
stream ⚠ - Stream the entirety of the media, according to its own timing. Blocking, obviously. streamer may be NULL; it is otherwise called for each frame, and its return value handled as outlined for streamcb. If streamer() returns non-zero, the stream is aborted, and that value is returned. By convention, return a positive number to indicate intentional abort from within streamer(). ‘timescale’ allows the frame duration time to be scaled. For a visual naturally running at 30FPS, a ‘timescale’ of 0.1 will result in 300FPS, and a ‘timescale’ of 10 will result in 3FPS. It is an error to supply ‘timescale’ less than or equal to 0.
- ncvisual_
subtitle_ ⚠plane - If a subtitle ought be displayed at this time, return a new plane (bound to ‘parent’ containing the subtitle, which might be text or graphics (depending on the input format).
- notcurses_
accountname ⚠ - Returns a heap-allocated copy of the user name under which we are running.
- notcurses_
at_ ⚠yx - Retrieve the contents of the specified cell as last rendered. Returns the EGC or NULL on error. This EGC must be free()d by the caller. The stylemask and channels are written to ‘stylemask’ and ‘channels’, respectively.
- notcurses_
canopen_ ⚠images - Can we load images? This requires being built against FFmpeg/OIIO.
- notcurses_
canopen_ ⚠videos - Can we load videos? This requires being built against FFmpeg.
- notcurses_
capabilities ⚠ - notcurses_
check_ ⚠pixel_ support - Can we blit pixel-accurate bitmaps?
- notcurses_
core_ ⚠init - The same as notcurses_init(), but without any multimedia functionality, allowing for a svelter binary. Link with notcurses-core if this is used.
- notcurses_
cursor_ ⚠disable - Disable the hardware cursor. It is an error to call this while the cursor is already disabled.
- notcurses_
cursor_ ⚠enable - Enable or disable the terminal’s cursor, if supported, placing it at ‘y’, ‘x’. Immediate effect (no need for a call to notcurses_render()). It is an error if ‘y’, ‘x’ lies outside the standard plane. Can be called while already visible to move the cursor.
- notcurses_
cursor_ ⚠yx - Get the current location of the terminal’s cursor, whether visible or not.
- notcurses_
debug ⚠ - Dump selected Notcurses state to the supplied ‘debugfp’. Output is freeform, newline-delimited, and subject to change. It includes geometry of all planes, from all piles. No line has more than 80 columns’ worth of output.
- notcurses_
default_ ⚠background - Get the default background color, if it is known. Returns -1 on error (unknown background). On success, returns 0, writing the RGB value to ‘bg’ (if non-NULL) and setting ‘bgtrans’ high iff the background color is treated as transparent.
- notcurses_
default_ ⚠foreground - Get the default foreground color, if it is known. Returns -1 on error (unknown foreground). On success, returns 0, writing the RGB value to ‘fg’ (if non-NULL)
- notcurses_
detected_ ⚠terminal - Returns the name (and sometimes version) of the terminal, as Notcurses has been best able to determine.
- notcurses_
drop_ ⚠planes - Destroy all ncplanes other than the stdplane.
- notcurses_
enter_ ⚠alternate_ screen - Shift to the alternate screen, if available. If already using the alternate screen, this returns 0 immediately. If the alternate screen is not available, this returns -1 immediately. Entering the alternate screen turns off scrolling for the standard plane.
- notcurses_
get ⚠ - Read a UTF-32-encoded Unicode codepoint from input. This might only be part of a larger EGC. Provide a NULL ‘ts’ to block at length, and otherwise a timespec specifying an absolute deadline calculated using CLOCK_MONOTONIC. Returns a single Unicode code point, or a synthesized special key constant, or (uint32_t)-1 on error. Returns 0 on a timeout. If an event is processed, the return value is the ‘id’ field from that event. ‘ni’ may be NULL.
- notcurses_
getvec ⚠ - Acquire up to ‘vcount’ ncinputs at the vector ‘ni’. The number read will be returned, or -1 on error without any reads, 0 on timeout.
- notcurses_
hostname ⚠ - Returns a heap-allocated copy of the local host name.
- notcurses_
init ⚠ - Initialize a Notcurses context on the connected terminal at ‘fp’. ‘fp’ must be a tty. You’ll usually want stdout. NULL can be supplied for ‘fp’, in which case /dev/tty will be opened. Returns NULL on error, including any failure initializing terminfo.
- notcurses_
inputready_ ⚠fd - Get a file descriptor suitable for input event poll()ing. When this descriptor becomes available, you can call notcurses_get_nblock(), and input ought be ready. This file descriptor is not necessarily the file descriptor associated with stdin (but it might be!).
- notcurses_
leave_ ⚠alternate_ screen - Exit the alternate screen. Immediately returns 0 if not currently using the alternate screen.
- notcurses_
lex_ ⚠blitter - Lex a blitter.
- notcurses_
lex_ ⚠margins - Lex a margin argument according to the standard Notcurses definition. There can be either a single number, which will define all margins equally, or there can be four numbers separated by commas.
- notcurses_
lex_ ⚠scalemode - Lex a scaling mode (one of “none”, “stretch”, “scale”, “hires”, “scalehi”, or “inflate”).
- notcurses_
linesigs_ ⚠disable - Disable signals originating from the terminal’s line discipline, i.e. SIGINT (^C), SIGQUIT (^), and SIGTSTP (^Z). They are enabled by default.
- notcurses_
linesigs_ ⚠enable - Restore signals originating from the terminal’s line discipline, i.e. SIGINT (^C), SIGQUIT (^), and SIGTSTP (^Z), if disabled.
- notcurses_
mice_ ⚠enable - Enable mice events according to ‘eventmask’; an eventmask of 0 will disable all mice tracking. On failure, -1 is returned. On success, 0 is returned, and mouse events will be published to notcurses_get().
- notcurses_
osversion ⚠ - Returns a heap-allocated copy of human-readable OS name and version.
- notcurses_
palette_ ⚠size - Returns the number of simultaneous colors claimed to be supported, or 1 if there is no color support. Note that several terminal emulators advertise more colors than they actually support, downsampling internally.
- notcurses_
refresh ⚠ - Refresh the physical screen to match what was last rendered (i.e., without reflecting any changes since the last call to notcurses_render()). This is primarily useful if the screen is externally corrupted, or if an NCKEY_RESIZE event has been read and you’re not yet ready to render. The current screen geometry is returned in ‘y’ and ‘x’, if they are not NULL.
- notcurses_
stats ⚠ - Acquire an atomic snapshot of the Notcurses object’s stats.
- notcurses_
stats_ ⚠alloc - Allocate an ncstats object. Use this rather than allocating your own, since future versions of Notcurses might enlarge this structure.
- notcurses_
stats_ ⚠reset - Reset all cumulative stats (immediate ones, such as fbbytes, are not reset), first copying them into |*stats| (if |stats| is not NULL).
- notcurses_
stdplane ⚠ - Get a reference to the standard plane (one matching our current idea of the terminal size) for this terminal. The standard plane always exists, and its origin is always at the uppermost, leftmost cell of the terminal.
- notcurses_
stdplane_ ⚠const - notcurses_
stop ⚠ - Destroy a Notcurses context. A NULL ‘nc’ is a no-op.
- notcurses_
str_ ⚠blitter - Get the name of a blitter.
- notcurses_
str_ ⚠scalemode - Get the name of a scaling mode.
- notcurses_
supported_ ⚠styles - Returns a 16-bit bitmask of supported curses-style attributes (NCSTYLE_UNDERLINE, NCSTYLE_BOLD, etc.) The attribute is only indicated as supported if the terminal can support it together with color. For more information, see the “ncv” capability in terminfo(5).
- notcurses_
ucs32_ ⚠to_ utf8 - input functions like notcurses_get() return ucs32-encoded uint32_t. convert a series of uint32_t to utf8. result must be at least 4 bytes per input uint32_t (6 bytes per uint32_t will future-proof against Unicode expansion). the number of bytes used is returned, or -1 if passed illegal ucs32, or too small of a buffer.
- notcurses_
version ⚠ - Get a human-readable string describing the running Notcurses version.
- notcurses_
version_ ⚠components - Cannot be inline, as we want to get the versions of the actual Notcurses library we loaded, not what we compile against.
- pclose⚠
- Close a stream opened by popen and return the status of its child.
- perror⚠
- Print a message describing the meaning of the value of errno.
- popen⚠
- Create a new stream connected to a pipe running the given command.
- printf⚠
- Write formatted output to stdout.
- putc⚠
- putchar⚠
- Write a character to stdout.
- putenv⚠
- The SVID says this is in <stdio.h>, but this seems a better place. / / Put STRING, which is of the form “NAME=VALUE”, in the environment. If there is no `=’, remove NAME from the environment.
- puts⚠
- Write a string, followed by a newline, to stdout.
- putw⚠
- Write a word (int) to STREAM.
- putwchar⚠
- Write a character to stdout.
- qsort⚠
- Sort NMEMB elements of BASE, of SIZE bytes each, using COMPAR to perform the comparisons.
- quick_
exit ⚠ - Call all functions registered with `at_quick_exit’ in the reverse of the order in which they were registered and terminate program execution with STATUS.
- raise⚠
- Raise signal SIG, i.e., send SIG to yourself.
- rand⚠
- Return a random integer between 0 and RAND_MAX inclusive.
- realloc⚠
- Re-allocate the previously allocated block in PTR, making the new block SIZE bytes long. / / attribute_malloc is not used, because if realloc returns the same pointer that was passed to it, aliasing needs to be allowed between objects pointed by the old and new pointers.
- recv⚠
- Read N bytes into BUF from socket FD. Returns the number read or -1 for errors.
- recvfrom⚠
- Read N bytes into BUF through socket FD. If ADDR is not NULL, fill in *ADDR_LEN bytes of it with the address of the sender, and store the actual size of the address in *ADDR_LEN. Returns the number of bytes read or -1 for errors.
- remove⚠
- Remove file FILENAME.
- rename⚠
- Rename file OLD to NEW.
- rewind⚠
- Rewind to the beginning of STREAM.
- sigaction⚠
- Get and/or set the action for signal SIG.
- sigaddset⚠
- Add SIGNO to SET.
- sigdelset⚠
- Remove SIGNO from SET.
- sigemptyset⚠
- Clear all signals from SET.
- sigfillset⚠
- Set all signals in SET.
- sigismember⚠
- Return 1 if SIGNO is in SET, 0 if not.
- sigpending⚠
- Put in SET all signals that are blocked and waiting to be delivered.
- sigprocmask⚠
- Get and/or change the set of blocked signals.
- sigsuspend⚠
- Change the set of blocked signals to SET, wait until a signal arrives, and restore the set of blocked signals.
- tempnam⚠
- Generate a unique temporary filename using up to five characters of PFX if it is not NULL. The directory to put this file in is searched for as follows: First the environment variable “TMPDIR” is checked. If it contains the name of a writable directory, that directory is used. If not and if DIR is not NULL, that value is checked. If that fails, P_tmpdir is tried and finally “/tmp”. The storage for the filename is allocated by `malloc’.
- time⚠
- Return the current time and put it in *TIMER if TIMER is not NULL.
- timespec_
get ⚠ - Set TS to calendar time based in time base BASE.
- tmpfile⚠
- tmpnam⚠
- Generate a temporary filename.
- toascii⚠
- Return the part of C that is in the ASCII set (i.e., the low-order 7 bits of C).
- tolower⚠
- Return the lowercase version of C.
- toupper⚠
- Return the uppercase version of C.
- towlower⚠
- Converts an uppercase letter to the corresponding lowercase letter.
- towupper⚠
- Converts an lowercase letter to the corresponding uppercase letter.
- tzset⚠
- Set time conversion information from the TZ environment variable. If TZ is not defined, a locale-dependent default is used.
- ungetc⚠
- Push a character back onto the input buffer of STREAM.
- vfprintf⚠
- Write formatted output to S from argument list ARG.
- vfscanf⚠
- Read formatted input from S into argument list ARG.
- vfscanf1⚠
- Read formatted input from S into argument list ARG.
- vprintf⚠
- Write formatted output to stdout from argument list ARG.
- vscanf⚠
- Read formatted input from stdin into argument list ARG.
- vscanf1⚠
- Read formatted input from stdin into argument list ARG.
- vsnprintf⚠
- vsprintf⚠
- Write formatted output to S from argument list ARG.
- vsscanf⚠
- Read formatted input from S into argument list ARG.
- vsscanf1⚠
- Read formatted input from S into argument list ARG.
- vswprintf⚠
- Write formatted output of at most N character to S from argument list ARG.
- vswscanf⚠
- Read formatted input from S into argument list ARG.
- vwprintf⚠
- Write formatted output to stdout from argument list ARG.
- vwscanf⚠
- Read formatted input from stdin into argument list ARG.
- wcscat⚠
- Append SRC onto DEST.
- wcschr⚠
- wcscmp⚠
- Compare S1 and S2.
- wcscoll⚠
- Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE category of the current locale.
- wcscpy⚠
- Copy SRC to DEST.
- wcscspn⚠
- Return the length of the initial segmet of WCS which consists entirely of wide characters not in REJECT.
- wcsftime⚠
- Format TP into S according to FORMAT. Write no more than MAXSIZE wide characters and return the number of wide characters written, or 0 if it would exceed MAXSIZE.
- wcslen⚠
- Return the number of wide characters in S.
- wcsncat⚠
- Append no more than N wide-characters of SRC onto DEST.
- wcsncmp⚠
- Compare N wide-characters of S1 and S2.
- wcsncpy⚠
- Copy no more than N wide-characters of SRC to DEST.
- wcspbrk⚠
- wcsrchr⚠
- wcsspn⚠
- Return the length of the initial segmet of WCS which consists entirely of wide characters in ACCEPT.
- wcsstr⚠
- wcstod⚠
- Convert initial portion of the wide string NPTR to `double’ representation.
- wcstof⚠
- Likewise for
float' andlong double’ sizes of floating-point numbers. - wcstok⚠
- Divide WCS into tokens separated by characters in DELIM.
- wcstol⚠
- Convert initial portion of wide string NPTR to `long int’ representation.
- wcstoll⚠
- Convert initial portion of wide string NPTR to `long long int’ representation.
- wcstombs⚠
- Convert a wide char string to multibyte string.
- wcstoul⚠
- Convert initial portion of wide string NPTR to `unsigned long int’ representation.
- wcstoull⚠
- Convert initial portion of wide string NPTR to `unsigned long long int’ representation.
- wcswcs⚠
- wcswidth⚠
- Determine number of column positions required for first N wide characters (or fewer if S ends before this) in S.
- wcsxfrm⚠
- Transform S2 into array pointed to by S1 such that if wcscmp is applied to two transformed strings the result is the as applying `wcscoll’ to the original strings.
- wctob⚠
- Determine whether C corresponds to a member of the extended character set whose multibyte representation is a single byte.
- wctomb⚠
- Put the multibyte character represented by WCHAR in S, returning its length.
- wctype⚠
- Construct value that describes a class of wide characters identified by the string argument PROPERTY.
- wcwidth⚠
- Determine number of column positions required for C.
- wmemchr⚠
- wmemcmp⚠
- Compare N wide characters of S1 and S2.
- wmemcpy⚠
- Copy N wide characters of SRC to DEST.
- wmemmove⚠
- Copy N wide characters of SRC to DEST, guaranteeing correct behavior for overlapping strings.
- wmemset⚠
- Set N wide characters of S to C.
- wprintf⚠
- Write formatted output to stdout.
- wscanf⚠
- Read formatted input from stdin.
- wscanf1⚠
- Read formatted input from stdin.
Type Aliases§
- FILE
- The opaque type of streams. This is the definition used elsewhere.
- _Float32
- _Float64
- _Float32x
- _Float64x
- _IO_
lock_ t - __
blkcnt64_ t - __
blkcnt_ t - __
blksize_ t - __
builtin_ va_ list - __
caddr_ t - __
clock_ t - __
clockid_ t - __
compar_ fn_ t - __
daddr_ t - __dev_t
- __
fpos64_ t - The tag name of this struct is _G_fpos64_t to preserve historic C++ mangled names for functions taking fpos_t and/or fpos64_t arguments. That name should not be used in new code.
- __
fpos_ t - The tag name of this struct is _G_fpos_t to preserve historic C++ mangled names for functions taking fpos_t arguments. That name should not be used in new code.
- __
fsblkcnt64_ t - __
fsblkcnt_ t - __
fsfilcnt64_ t - __
fsfilcnt_ t - __
fsword_ t - __gid_t
- __
gnuc_ va_ list - __id_t
- __
ino64_ t - __ino_t
- __
int8_ t - Fixed-size types, underlying types depend on word size and compiler.
- __
int16_ t - __
int32_ t - __
int64_ t - __
int_ least8_ t - Smallest types with at least a given width.
- __
int_ least16_ t - __
int_ least32_ t - __
int_ least64_ t - __
intmax_ t - __
intptr_ t - __key_t
- __
loff_ t - These few don’t really vary by system, they always correspond to one of the other defined types.
- __
mode_ t - __
nlink_ t - __
off64_ t - __off_t
- __pid_t
- __
quad_ t - __
rlim64_ t - __
rlim_ t - __
sig_ atomic_ t - C99: An integer type that can be accessed as an atomic entity, even in the presence of asynchronous interrupts. It is not currently necessary for this to be machine-specific.
- __
sighandler_ t - Type of a signal handler.
- __
socket_ type - Types of sockets.
- __
socklen_ t - __
ssize_ t - __
suseconds64_ t - __
suseconds_ t - __
syscall_ slong_ t - __
syscall_ ulong_ t - __
time_ t - __
timer_ t - __
u_ char - Convenience types.
- __u_int
- __
u_ long - __
u_ quad_ t - __
u_ short - __uid_t
- __
uint8_ t - __
uint16_ t - __
uint32_ t - __
uint64_ t - __
uint_ least8_ t - __
uint_ least16_ t - __
uint_ least32_ t - __
uint_ least64_ t - __
uintmax_ t - __
useconds_ t - blkcnt_
t - clock_t
- Returned by `clock’.
- clockid_
t - Clock ID used in clock and timer functions.
- dev_t
- fadecb
- Called for each fade iteration on ‘ncp’. If anything but 0 is returned, the fading operation ceases immediately, and that value is propagated out. The recommended absolute display time target is passed in ‘tspec’.
- fpos_t
- The tag name of this struct is _G_fpos_t to preserve historic C++ mangled names for functions taking fpos_t arguments. That name should not be used in new code.
- fsblkcnt_
t - fsfilcnt_
t - gid_t
- id_t
- in_
addr_ t - Internet address.
- in_
port_ t - Type to represent a port.
- ino_t
- int_
fast8_ t - Signed.
- int_
fast16_ t - int_
fast32_ t - int_
fast64_ t - int_
least8_ t - Signed.
- int_
least16_ t - int_
least32_ t - int_
least64_ t - intmax_
t - Largest integral types.
- key_t
- ncalign_
e - Alignment within a plane or terminal. Left/right-justified, or centered.
- ncblitter_
e - we never blit full blocks, but instead spaces (more efficient) with the background set to the desired foreground. these need be kept in the same order as the blitters[] definition in lib/blit.c.
- ncdirectf
- ncdirectv
- ncfdplane_
callback - ncfdplane_
done_ cb - ncintype_
e - ncloglevel_
e - These log levels consciously map cleanly to those of libav; Notcurses itself does not use this full granularity. The log level does not affect the opening and closing banners, which can be disabled via the notcurses_option struct’s ‘suppress_banner’. Note that if stderr is connected to the same terminal on which we’re rendering, any kind of logging will disrupt the output (which is undesirable). The “default” zero value is NCLOGLEVEL_PANIC.
- ncpixelimpl_
e - pixel blitting implementations. informative only; don’t special-case based off any of this information!
- ncscale_
e - How to scale an ncvisual during rendering. NCSCALE_NONE will apply no scaling. NCSCALE_SCALE scales a visual to the plane’s size, maintaining aspect ratio. NCSCALE_STRETCH stretches and scales the image in an attempt to fill the entirety of the plane. NCSCALE_NONE_HIRES and NCSCALE_SCALE_HIRES behave like their counterparts, but admit blitters which don’t preserve aspect ratio.
- ncstreamcb
- Called for each frame rendered from ‘ncv’. If anything but 0 is returned, the streaming operation ceases immediately, and that value is propagated out. The recommended absolute display time target is passed in ‘tspec’.
- nlink_t
- off_t
- pid_t
- register_
t - sa_
family_ t - POSIX.1g specifies this type name for the `sa_family’ member.
- sig_
atomic_ t - An integral type that can be modified atomically, without the possibility of a signal arriving in the middle of the operation.
- sigset_
t - A set of signals to be blocked, unblocked, or waited for.
- socklen_
t - suseconds_
t - tabcb
- Tab content drawing callback. Takes the tab it was associated to, the ncplane on which tab content is to be drawn, and the user pointer of the tab. It is called during nctabbed_redraw().
- tabletcb
- Tablet draw callback, provided a tablet (from which the ncplane and userptr may be extracted), and a bool indicating whether output ought be drawn from the top (true) or bottom (false). Returns non-negative count of output lines, which must be less than or equal to ncplane_dim_y(nctablet_plane(t)).
- time_t
- timer_t
- Timer ID returned by `timer_create’.
- u_
int8_ t - These were defined by ISO C without the first `_’.
- u_
int16_ t - u_
int32_ t - u_
int64_ t - uid_t
- uint_
fast8_ t - Unsigned.
- uint_
fast16_ t - uint_
fast32_ t - uint_
fast64_ t - uint_
least8_ t - Unsigned.
- uint_
least16_ t - uint_
least32_ t - uint_
least64_ t - uintmax_
t - useconds_
t - va_list
- wchar_t
- wctype_
t - Scalar type that can hold values which represent locale-specific character classifications.
- wint_t