Improve StatusBar, eliminate hardcoded dimensions, add tab state indicators#9
Improve StatusBar, eliminate hardcoded dimensions, add tab state indicators#9
Conversation
…cators This commit implements three interconnected UI improvements: 1. **Constants Module (Phase 1)**: - Created constants.py with DEFAULT_TERMINAL_WIDTH and DEFAULT_TERMINAL_HEIGHT - Updated all 7 hardcoded 80x24 references across client.py and terminal_widget.py - Follows DRY principle and makes future changes easier 2. **Enhanced StatusBar (Phase 2)**: - Replaced basic StatusBar with EnhancedStatusBar using reactive properties - Added reactive properties: session_name, session_id, connected - Automatic UI updates via watch methods - Displays session ID alongside session name - Shows connection state with visual indicator - Updated CSS styling for status bar states 3. **Tab State Indicators (Phase 3)**: - Added reactive state tracking to SessionTabs widget - Implemented methods: mark_activity(), clear_activity(), mark_disconnected(), mark_connected() - Added CSS classes for visual states: .has-activity and .disconnected - Activity indicator automatically clears when switching to a tab - State initialization for new sessions These changes improve code maintainability (constants), user experience (status indicators), and follow Textual best practices (reactive properties, CSS classes for state management). Fixes #4 Co-authored-by: OhadRubin <[email protected]>
Code ReviewThis PR introduces well-structured improvements to the UI with clean code changes. However, the CLAUDE.md documentation needs to be updated to reflect the changes made in this PR. Issues Found1. Missing
|
Implements three interconnected UI improvements to txtmux:
Phase 1: Constants Module
Created
constants.pywithDEFAULT_TERMINAL_WIDTHandDEFAULT_TERMINAL_HEIGHT, eliminating 7 hardcoded 80x24 references.Phase 2: Enhanced StatusBar
Replaced basic StatusBar with
EnhancedStatusBarusing reactive properties for automatic UI updates. Shows session ID and connection state.Phase 3: Tab State Indicators
Added visual state indicators to
SessionTabswith methods for marking activity and connection status.These changes improve code maintainability, user experience, and follow Textual best practices.
Fixes #4
Generated with Claude Code