2019-11-17 02:38:25 +00:00
|
|
|
# notcurses
|
|
|
|
cleanroom TUI library for modern terminal emulators. definitely not curses.
|
2019-11-17 10:04:41 +00:00
|
|
|
|
|
|
|
[![Build Status](https://drone.dsscaw.com:4443/api/badges/dankamongmen/notcurses/status.svg)](https://drone.dsscaw.com:4443/dankamongmen/notcurses)
|
2019-11-18 04:09:06 +00:00
|
|
|
|
2019-11-18 05:05:32 +00:00
|
|
|
* **What it is**: a library facilitating complex TUIs on modern terminal
|
2019-11-18 04:09:06 +00:00
|
|
|
emulators, supporting vivid colors and wide characters to the
|
|
|
|
maximum degree possible. Many tasks delegated to Curses can be
|
|
|
|
achieved using notcurses (and vice versa).
|
|
|
|
|
2019-11-18 05:05:32 +00:00
|
|
|
* **What it is not**: a source-compatible X/Open Curses implementation, nor a
|
2019-11-18 04:09:06 +00:00
|
|
|
replacement for NCURSES on existing systems, nor a widely-ported and -tested
|
|
|
|
bedrock of Open Source, nor a battle-proven, veteran library.
|
|
|
|
|
|
|
|
notcurses abandons the X/Open Curses API bundled as part of the Single UNIX
|
2019-11-18 05:05:32 +00:00
|
|
|
Specification. The latter shows its age, seems not capable of making use of
|
|
|
|
terminal functionality such as unindexed 24-bit color ("DirectColor", not to be
|
|
|
|
confused with 8-bit indexed 24-bit color, aka "TrueColor"). For some necessary
|
|
|
|
background, consult Thomas E. Dickey's superb and authoritative [NCURSES
|
|
|
|
FAQ](https://invisible-island.net/ncurses/ncurses.faq.html#xterm_16MegaColors).
|
2019-11-18 04:09:06 +00:00
|
|
|
As such, it is not a drop-in Curses replacement. notcurses furthermore makes
|
|
|
|
use of the Terminfo library shipped with NCURSES. It is almost certainly less
|
|
|
|
portable, and definitely tested on less hardware.
|
|
|
|
|
|
|
|
notcurses opens up advanced functionality for the interactive user on
|
|
|
|
workstations, phones, laptops, and tablets, at the expense of e.g.
|
|
|
|
industrial and retail terminals (or even the Linux virtual console,
|
|
|
|
which offers only 8+8 colors and limited glyphs).
|
|
|
|
|
|
|
|
Why use this non-standard library?
|
|
|
|
|
|
|
|
* A svelter design than that codified in X/Open. All exported identifiers
|
|
|
|
are prefixed with `notcurses_` to avoid namespace pollution. Fewer
|
|
|
|
identifiers overall. All APIs natively suport wide characters and
|
|
|
|
24-bit RGB color.
|
|
|
|
|
|
|
|
* Visual features not directly available via NCURSES, including images,
|
|
|
|
fonts, and video.
|
|
|
|
|
|
|
|
On the other hand, if you're targeting industrial or critical applications,
|
|
|
|
or wish to benefit from the time-tested reliability and portability of Curses,
|
|
|
|
you should by all means use that fine library.
|