48 releases (21 stable)

Uses new Rust 2024

new 4.0.1 Dec 27, 2025
3.1.0 Dec 27, 2025
2.6.4 Dec 11, 2025
2.6.0 Nov 27, 2025
0.22.2 Jul 3, 2024

#227 in Command-line interface

Download history 20/week @ 2025-08-30 421/week @ 2025-09-06 67/week @ 2025-09-13 14/week @ 2025-09-20 136/week @ 2025-09-27 35/week @ 2025-10-04 17/week @ 2025-10-11 260/week @ 2025-10-18 17/week @ 2025-10-25 62/week @ 2025-11-08 75/week @ 2025-11-15 38/week @ 2025-11-22 15/week @ 2025-11-29 28/week @ 2025-12-06

86 downloads per month
Used in 5 crates

MIT/Apache

495KB
10K SLoC

semver stable crates.io Documentation License License

rat-salsa 2

Runs an application event-loop for ratatui and crossterm.

It can

All incoming events are converted to an application defined event-type, and are distributed by calling an event-handler function. This function returns a control-flow which dictates further actions.

Changes

Changes

Book

link

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 Focus-handling for widgets.
    • rat-reloc Relocate a widgets state after rendering. This is needed to support view-like widgets.
    • rat-scrolled Utility widgets for scrolling.
    • rat-popup Utility widget to help with popups.
    • rat-dialog Stacks windows/dialogs above the main application.

    Crates for specific 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.
    • rat-markdown Extension for TextArea for markdown. experimental

    And my 10ct on theming.

    • rat-theme2 Color-palettes and widget styles.
    • rat-theme4 Latest iteration. Move to a map of things.
      • better text-color support
      • support for deriving themes by modifying existing ones.

Example

The examples directory contains some examples

There are some templates too

  • minimal.rs: Minimal application with a menubar and statusbar.
  • nominal.rs: Minimal application, but using subcomponents.
  • dialog.rs: Minimal application, using dialog windows.

image image

Dependencies

~11–19MB
~366K SLoC