From dankwiki
Revision as of 06:49, 20 December 2019 by Dank (talk | contribs)

My library for building complex, vibrant textual user interfaces (TUIs) on modern terminal emulators. It does not use Ncurses (though it does make use of libtinfo from that package), nor is it an X/Open Curses source-compatible replacement. It is written in C, with C++-safe headers.

Source and issue-tracking live at Github.

Contact sheet from Notcurses 0.4.0 demo
Contact sheet from Notcurses 0.4.0 demo


  • Optional use of "alternate screen" where available (smcup/rmcup terminfo capabilities)
  • All APIs use 24-bit 8bpc RGB color natively
    • Color is quantized down for indexed palette terminals
  • Transparency/semi-transparency
    • Lower planes can affect color of higher translucent ones
  • Full support for Unicode, including wide glyphs and bidirectional text
    • Composed keys (number pad, etc.) are mapped into Private Supplementary Area B
  • Image/video support via ffmpeg
  • Subregion fade in/out
  • Linear interpolation for line color


Release Date Key features
0.9.0 2019-12-18 Recognize COLORTERM, damage map, quantized colors, _yx API extensions, alignment
0.4.0 2019-12-05 Cell API, input, resize handling
0.3.0 2019-12-02 Video support, transparent planes, fades
0.2.0 2019-12-02 Panelreels, image support
0.1.0 2019-11-30 Ncplanes, basic output

See Also