Build a full-screen terminal dashboard that displays live metrics with 24-bit color gradients and embedded images.
Create a terminal-based image or media viewer that renders bitmapped graphics using the Sixel or Kitty protocol.
Add rich visual output to a CLI tool, colored text, animated sprites, progress indicators, that degrades gracefully on older terminals.
Requires CMake, a C17 compiler, and NCURSES terminal info libraries, a Sixel-capable terminal is needed for image rendering.
Notcurses is a C library for building rich, visually complex programs that run inside a terminal window. Terminal programs are the text-based apps you open in a command-line shell. Most such programs are built on an older standard called Curses (or NCURSES), which was designed for older hardware and assumes the minimum capabilities of a display. Notcurses takes the opposite approach: it assumes a modern terminal and steps down gracefully for older ones, rather than starting at the floor. The library supports 24-bit color, images, video, animated sprites, transparent regions, and bitmapped graphics using standards called Sixel and Kitty. All of its APIs handle Unicode text natively, including complex characters made from multiple code points. Thread safety was a design goal from the start, so it works in programs that do several things at once. It runs on Linux, FreeBSD, DragonFly BSD, Windows, and macOS. There are two main usage modes. TUI mode is for full-screen applications that stay in place on screen, similar to a text editor or a dashboard. CLI mode is for scrolling output in a shell, like a normal command-line tool, but with access to the full visual feature set. The library is not compatible with the existing NCURSES API, so it is not a drop-in replacement for programs already built on NCURSES. Language bindings are available for C++, Python, Rust, Ada, Dart, Julia, and others. Some are included directly in this repository and others are maintained externally. The Python bindings are on PyPI and the Rust bindings are on crates.io. Building from source requires CMake, a C17-capable compiler, and a few libraries from the NCURSES project for terminal information. The project includes a demo program called notcurses-demo that shows most of the library's functionality. The author has also written a full guidebook available as a free PDF download. The code is licensed under Apache 2. The full README is longer than what was shown.
← dankamongmen on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.