Skip to main content

Module master_layout

Module master_layout 

Source
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
MasterLayout
Master Layout - orchestrates the entire TUI application
NavigationBar
Navigation bar component for displaying tabs
Pane
A pane within a tab
PaneContainer
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§

EventResult
Result of event handling
FooterItem
Item to display in the footer
InteractionMode
Interaction mode - either Layout (navigation) or Focus (interaction)
PaneLayout
Layout strategy for arranging panes within a tab

Traits§

PaneContent
Trait that pane content must implement