Online / 6 & 7 February 2021



Making terminals do things that were never intended

Notcurses is a C library (with C++, Python, and Rust wrappers) facilitating complex TUIs on modern terminal emulators. Notcurses supports vivid colors, multimedia via FFmpeg or OIIO, sane multithreading, and complex Unicode. Things can be done with Notcurses that simply can't be done with NCURSES or any other implementation of the X/Open Curses specification. I will present Notcurses's design goals, API, and some details of its implementation, which ought serve as a sufficient grounding for any potential Notcurses developers. Your terminal emulator is more powerful than you have ever dreamed.

Notcurses 2.1.0 was released in December 2020, about thirteen months after the repository's first commit. It is available from many Linux distributions, as well as the FreeBSD Ports Collection. It is used by the author's "Growlight" block device manager and "Omphalos" network discover tool, as well as other projects. It aims to be a superset of existing TUI libraries' functionality, while achieving and enabling higher performance. A comprehensive reference, "Hacking the Planet with Notcurses", is available for paperback purchase or free download (Apache-licensed XeLaTeX source is also available). Notcurses has been featured on LWN and at the Debian Gaming Miniconf.


Photo of nick black nick black