Expand description
Custom widget implementations following Ratatui best practices
This module contains reusable widget components that implement the Widget and WidgetRef traits. These widgets enable better composition, testability, and separation of concerns.
§Layout System
The UI is organized into a responsive panel-based layout:
- Header: Session identity and status (model, git, tokens)
- Main: Transcript area with optional sidebar (wide mode)
- Footer: Status line and contextual hints
The LayoutMode enum determines the layout variant based on terminal size:
Compact: Minimal chrome for small terminals (< 80 cols)Standard: Default layout with borders and titlesWide: Enhanced layout with sidebar (>= 120 cols)
§Visual Hierarchy
Panels use consistent styling via the Panel wrapper:
- Active panels have highlighted borders
- Inactive panels have dimmed borders
- Titles are shown in Standard/Wide modes only
Modules§
- hints
- Default keybind hints for different contexts
Structs§
- Footer
Widget - Widget for rendering the footer area with status and hints