The tray icon was blocking the main UI thread because:
1. QTimer was updating menu state every second
2. Complex stylesheet on menu may cause blocking
3. Emojis in menu items might cause encoding issues
Simplified:
- Removed update timer (no longer needed)
- Removed complex stylesheet (use default)
- Removed emojis from menu items
- Made TrayIcon inherit QWidget for proper parent
- Simplified signal connections
1. System Tray Icon (replaces floating button):
- Right-click menu with: Dashboard, Activity Bar, Settings, Quit
- Orange 'EU' icon
- Double-click to open dashboard
- Notifications support
2. Removed Floating Icon:
- No more floating button on desktop
- All interaction through tray icon
3. EU Window Focus Detection:
- Activity bar auto-shows when EU is focused
- Activity bar auto-hides when EU loses focus
- Checks every 500ms for focus changes
- Tray icon checkbox reflects activity bar state
New Files:
- core/tray_icon.py: System tray implementation
Modified:
- core/main.py: Use tray instead of floating icon, add focus detection
Usage:
- Start EU-Utility: Tray icon appears in system tray
- Open EU game: Activity bar appears automatically
- Alt-tab away from EU: Activity bar hides
- Right-click tray icon: Access settings, toggle bar, quit