This repository has been archived on 2026-10-08 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
c534cee7cc5b9f420ab026d59af8885fb872911e
Every colour the TUI painted on its own chrome was a named ratatui colour spelled out at the use site, so nothing could be themed and the selected card had broken contrast: the highlighted card's black-on-cyan base was patched with an activity colour chosen for the dark card background, leaving AwaitingInput yellow on light blue. Roles now live in `palette.rs`, named for meaning. A palette holds one role set per surface — card and selection — plus the panel border in its focused and unfocused forms, a focus accent, a group-row style for the sidebar grouping, the status-bar mode indicators and error text. Each surface carries its own activity colours, so the selected card's dot keeps carrying state without wearing a colour picked for another background. Values are `Color::Rgb`, so contrast is asserted rather than left to the terminal theme: every role clears WCAG AA on its own surface, and a sidebar test fails if a card-surface state colour is painted onto the selection background. PTY cell colours stay a passthrough of what the program in the pane emits — they are not chrome and not a palette role.
Description
No description provided
13 MiB
Languages
Rust
62.2%
TypeScript
22.6%
Kotlin
9.7%
CSS
4.4%
Nix
0.5%
Other
0.5%