This document defines the UI standards, terminology, and style guidelines for the ThreadPilot application to ensure consistency across all components and future development.
- Title: "ThreadPilot - Process & Power Plan Manager"
- Layout: Grid with TabControl for main content and StatusBar at bottom
- Tabs: Organized with emoji icons for visual clarity
- π§ Process Management
- β‘ Power Plans
- π Process Associations
- βοΈ Settings
- Left: General status messages
- Right: Game Boost status with visual indicators (π‘οΈ when active)
- Standard Padding:
10,5for main action buttons - Small Buttons:
5,2for utility buttons withFontSize="10" - Icons: Use emoji prefixes for visual clarity (π Refresh, βοΈ Settings)
- Colors:
- Update/Save:
#007ACCbackground, white foreground - Remove/Delete:
#D13438background, white foreground - Default: System colors
- Update/Save:
- Use emoji prefixes for visual organization
- Examples:
- π Process Search & Control
- β‘ Available Power Plans
- π Current Associations
- βοΈ Configuration
- Search boxes: Width="200" with descriptive tooltips
- Background:
#3C3C3Cfor dark theme areas - Foreground: White for dark theme areas
- Border:
#404040for dark theme areas
- Selection: Single selection mode
- Headers: Column headers visible
- Grid Lines: Horizontal only
- Resizing: Allow column resizing and sorting
- Background: System default (white/light gray)
- Foreground: System default (black/dark gray)
- Accent:
#007ACC(blue) - Error:
#D13438(red) - Success: System green
- Background:
#1E1E1E(main),#3C3C3C(controls) - Foreground: White,
#CCCCCC(secondary text) - Border:
#404040
- Default: System default
- Small Controls:
FontSize="10"for utility buttons - Secondary Text:
FontSize="12"for descriptions - Headers: Default with bold weight when active
- Active Items: Bold (using BoolToFontWeightConverter)
- Normal Items: Normal weight
- Secondary Text: Normal weight
- π§ Process/System Management
- β‘ Power/Energy related
- π Connections/Associations
- π Lists/Logs/Data
- βοΈ Settings/Configuration
- π Search functionality
- π Refresh/Reload
- π‘οΈ Game Boost/Protection
- β Success/Enabled
- β Error/Disabled
- Game Boost Active: Bold text + π‘οΈ icon
- Monitoring Active: System tray icon changes
- Error States: Red text/background
- Success States: Green text/background
- Buttons: Describe the action clearly
- "Refresh the process list"
- "Apply the selected CPU core affinity to the process"
- Input Fields: Describe expected input
- "Search processes by name"
- "Enter the executable name (e.g., game.exe)"
- Checkboxes: Explain the behavior
- "Match processes by full path instead of just executable name"
- Use clear, concise language
- Avoid technical jargon where possible
- Provide examples when helpful
- Use consistent terminology (see Terminology section)
- Main Container:
Margin="10" - GroupBox Content:
Margin="5" - Control Spacing:
Margin="0,0,10,0"for horizontal spacing - Section Spacing:
Margin="0,0,0,10"for vertical spacing
- Use GroupBox for logical sections
- Separate related controls visually
- Maintain consistent spacing between elements
- Use separators in context menus
- Allow column resizing in data grids
- Use appropriate width constraints
- Ensure controls scale properly
- Process: Running application/executable
- Executable: The .exe file name
- Process Name: Display name of the process
- CPU Affinity: Which CPU cores a process can use
- Priority: Process execution priority level
- Power Plan: Windows power configuration scheme
- Active Power Plan: Currently selected power plan
- Default Power Plan: Fallback power plan when no processes are running
- Power Plan Association: Link between process and power plan
- Game Boost: High-performance mode for games
- Game Detection: Automatic identification of game processes
- Known Games: Pre-configured list of game executables
- Event-based Monitoring: Real-time WMI process monitoring
- Fallback Polling: Backup monitoring method
- Process Association: Configured process-to-power plan mapping
- Ensure all controls are keyboard accessible
- Provide logical tab order
- Support standard keyboard shortcuts
- Use descriptive control names
- Provide appropriate ARIA labels where needed
- Ensure status information is announced
- Maintain sufficient color contrast
- Don't rely solely on color for information
- Provide text alternatives for visual indicators
- Follow existing naming conventions
- Use consistent spacing and layout patterns
- Add appropriate tooltips and help text
- Update this style guide with new patterns
- Test with both light and dark theme areas
- Keep XAML clean and well-commented
- Use consistent indentation (4 spaces)
- Group related controls logically
- Use meaningful names for controls that need code-behind access
- Test all UI changes with different screen sizes
- Verify tooltip text is helpful and accurate
- Ensure consistent behavior across all tabs
- Test keyboard navigation paths
- v1.0 (2025-01-28): Initial style guide creation
- Covers current UI implementation with logging, game boost, and process monitoring features