A terminal toolkit library for RustBuild terminal UIs,
Build terminal UIs,
without the curses
A modern, VT100/xterm-compatible terminal toolkit library.
You own the event loop; uncurses keeps the bytes correct and minimal.
Layered, not a framework
Start with Screen, or grab TextBuffer, EventSource, and Terminal directly. Nothing is hidden.
Cell-diffing renderer
Screen diffs frames against the terminal and writes only the cells that changed.
Typed events
Keys, mouse, paste, focus, resize, and query replies decoded from raw terminal input.
Degrades gracefully
Write true color once; uncurses maps it to 256-color, ANSI, or plain text when needed.
Inline or fullscreen
Run in the normal buffer by default; switch to the alternate screen when you want it.
Async when you want it
Enable the async feature for a runtime-agnostic futures Stream of events.