Terminal User Interface
VirtualLanes provides a rich Terminal User Interface (TUI) built with the Textual library, offering an interactive, dashboard-like experience directly in your terminal.
Starting the TUI
You can start the TUI in several ways:
Via Command Line
Via Python API
Direct Module Execution
Interface Overview
The TUI provides a dashboard-style interface with three main panels:
- Bowlers - Displays and manages bowler information
- Games - Tracks and displays game records
- Leagues - Shows league information

Navigation
- Use Tab to navigate between panels
- Use Arrow keys to move within panels
- Use Enter to select items
- Press q to quit the application
- Press ? to show help
Bowler Management
The Bowlers panel displays a table with: - Bowler names - Average scores
Adding a Bowler
- Navigate to the Bowlers panel
- Click the "Add Bowler" button
- Fill in the required information in the form that appears
- Press Enter to save
Game Management
The Games panel shows: - Date of games - Bowler names - Scores
Adding a Game
- Navigate to the Games panel
- Click the "Add Game" button
- Select a bowler from the dropdown
- Enter the score
- Press Enter to save
League Management
The Leagues panel displays: - League names - Number of members
Adding a League
- Navigate to the Leagues panel
- Click the "Add League" button
- Enter the league name
- Add members using the interface
- Press Enter to save
Keyboard Shortcuts
| Key | Action |
|---|---|
| Tab | Next panel |
| Shift+Tab | Previous panel |
| Q | Quit |
| ? | Show help |
| F1 | Help screen |
| Enter | Select/Confirm |
| Esc | Close popup/Cancel action |
Customization
The TUI interface is styled using Textual CSS. You can modify the look and feel by editing the CSS string in the VirtualLanesApp class in virtual_lanes.tui.app.
Error Handling
The TUI provides visual feedback for errors, such as: - Invalid input validation - Database connection issues - Missing data
Error messages appear as popups that can be dismissed by pressing Escape.
System Requirements
The TUI works on most modern terminal emulators that support: - 256 colors - Unicode characters - Modern terminal features
For the best experience, we recommend: - On Windows: Windows Terminal - On macOS: iTerm2 - On Linux: Any modern terminal emulator