v0.0.2
uncurses is a Rust library for building terminal user interfaces. It gives you a direct, framework-free way to draw to the terminal and read input — you own every cell and your own event loop, whether you run inline, take over the full screen, or mix the two.
A diffing renderer that redraws only what changed, Unicode-aware width, truecolor styling with automatic downsampling, hyperlinks, and typed keyboard, mouse, and paste input. It asks the terminal what it supports instead of looking it up in a terminfo database, so the same code runs on Linux, macOS, and Windows.
[dependencies]
uncurses = "0.0.2"Using ratatui? uncurses-ratatui provides a backend.
Guides, concepts, and API reference: uncurses.org
Changelog
Bug Fixes
- Point Examples nav at the GitHub examples directory
- Skip the website deploy for pull requests from forks
- Apply raw mode to each half of a split terminal
- Restore the terminal even when teardown fails
- Accept EINVAL for a non-terminal descriptor on Solaris
- Require a libc that implements Debug for its structs
- Reset LNM on every raw-mode entry
- Build the delay checks on platforms without TABDLY/BSDLY
- Gate apply_line_discipline to unix/windows
- Truncate per row instead of ending the whole paint
- Treat CRLF as a line break in the literal paint path
- Return early when the start row is below the clip
- Repaint after color profile changes (#21)
- Make resize a no-op when the size is unchanged (#24)
Documentation
- Clarify how uncurses replaces terminfo
- Report task_picker progress to the terminal
Features
- Expose the saved state and re-export libc
- Report progress with OSC 9;4
- Derive TABS/BS/ONLCR from the host line discipline
Miscellaneous Tasks
- Lead release notes with an intro and fold the changelog
- Publish the workspace in one pass
Refactor
- Name the Windows state halves like the Unix ones
- Grant TABS/BS on raw-mode entry instead of deriving them
Testing
- Prime pty attributes instead of assuming a platform default
- Skip the pty helper where the slave is not a terminal