Available on crate feature
master-layout only.Expand description
Master Layout Framework
A comprehensive TUI framework providing vim-like modal interaction for building terminal applications with tabs, panes, and keyboard/mouse navigation.
§Architecture
- MasterLayout: Top-level container managing tabs, navigation bar, and modes
- Tab: Container for panes within a tab
- PaneContainer: Manages panes, handles selection and focus
- Pane: Individual content area implementing PaneContent trait
§Modes
- Layout Mode (Command Mode): Navigate panes with hjkl, select with Enter
- Focus Mode (Insert Mode): Interact with focused pane, exit with Ctrl-A
Structs§
- Footer
- Footer component for displaying status information
- Master
Layout - Master Layout - orchestrates the entire TUI application
- Master
Layout KeyBindings - Configurable key bindings for MasterLayout
- Navigation
Bar - Navigation bar component for displaying tabs
- Pane
- A pane within a tab
- Pane
Container - Container for managing panes within a tab
- PaneId
- Unique identifier for a pane
- Tab
- A tab containing panes and a footer
- TabButton
- A button in the navigation bar representing a tab
Enums§
- Event
Result - Result of event handling
- Footer
Item - Item to display in the footer
- Interaction
Mode - Interaction mode - either Layout (navigation) or Focus (interaction)
- Pane
Layout - Layout strategy for arranging panes within a tab
Traits§
- Pane
Content - Trait that pane content must implement