18 releases (7 breaking)
new 0.28.1 | Dec 12, 2024 |
---|---|
0.28.0 | Nov 1, 2024 |
0.27.1 | Oct 18, 2024 |
0.22.2 | Jul 3, 2024 |
#526 in Command-line interface
107 downloads per month
92KB
929 lines
rat-salsa
An application event-loop with ratatui and crossterm.
rat-salsa provides
- application event loop [run_tui]
- background tasks
- timers
- crossterm
- messages
- focus
- control-flow
- traits for
- [AppWidget]
- [AppState]
Changes
Book
For a start you can have a look at the book.
Companion Crates
-
rat-widget widget library. Incorporates everything below, but each crate can be used on its own too.
Foundational crates:
- rat-event Defines the primitives for event-handling.
- rat-cursor Defines just one trait to propagate the required screen cursor position.
- rat-focus Primitives for focus-handling.
- rat-reloc Relocate widgets after rendering. Needed support for view-like widgets.
- rat-scrolled Utility widgets for scrolling.
- rat-popup Utility widget to help with popups.
Crates that deal with specific categories of widgets.
- rat-ftable table. uses traits to render your data, and renders only the visible cells. this makes rendering effectively O(1) in regard to the number of rows.
- rat-menu Menu widgets.
- rat-text Text/Value input widgets.
And my 10ct on theming.
- rat-theme Color-palettes and widget styles.
-
rat-window Stopped for now. Implement windows in the tui. Can work with dyn StatefulWidgets too. The groundwork is done, but it's missing a lot of implementation.
Example
The examples directory contains some examples
There are some starters too
- minimal.rs: Minimal application with a menubar and statusbar.
- ultra.rs: Absolute minimum setup.
Dependencies
~13–22MB
~312K SLoC