Expand description
Current status: BETA
§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
§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.
Modules§
- Defines the trait for event-sources.
- rat-salsa’s own Terminal trait to hide some details.
- Support for timers.
Structs§
- Application context for event handling.
- Cancel background tasks.
- Application context for rendering.
- Captures some parameters for crate::run_tui().
Enums§
- Result enum for event handling.
Traits§
- AppState packs together the currently supported event-handlers.
- AppWidget mimics StatefulWidget and adds a RenderContext
Functions§
- Run the event-loop