Understand the Termdash architecture
masterTermdash is organized into three distinct layers:
- Terminal Layer: An abstraction over terminal implementations (e.g., real terminal, fake terminal for testing, or image export). This layer is private and not intended for direct user interaction.
- Infrastructure Layer: Manages container hierarchy, keyboard/mouse focus, and external events like terminal resizing. It handles the Event Distribution System (EDS) and decides when to flush the back buffer to the terminal.
- Widgets Layer: Contains individual widget implementations. Widgets receive a
Canvasfrom their parent container to draw content and can optionally register for input events (keyboard/mouse) which are forwarded by the infrastructure layer.
Users interact primarily with the Widget API to construct components and the Container API to arrange them on the dashboard.