feat: add system tray and __main__ entry point

Add pystray-based system tray icon with Open UI / Restart / Quit
actions. Add __main__.py for `python -m wled_controller` support.
Update start-hidden.vbs with embedded Python fallback for both
installed and dev environments.
This commit is contained in:
2026-03-24 13:58:19 +03:00
parent c26aec916e
commit 6a881f8fdd
9 changed files with 204 additions and 6 deletions

View File

@@ -32,6 +32,7 @@ from wled_controller.storage.automation_store import AutomationStore
from wled_controller.storage.scene_preset_store import ScenePresetStore
from wled_controller.storage.sync_clock_store import SyncClockStore
from wled_controller.storage.color_strip_processing_template_store import ColorStripProcessingTemplateStore
from wled_controller.storage.gradient_store import GradientStore
from wled_controller.core.processing.sync_clock_manager import SyncClockManager
from wled_controller.core.automations.automation_engine import AutomationEngine
from wled_controller.core.mqtt.mqtt_service import MQTTService
@@ -69,6 +70,8 @@ automation_store = AutomationStore(config.storage.automations_file)
scene_preset_store = ScenePresetStore(config.storage.scene_presets_file)
sync_clock_store = SyncClockStore(config.storage.sync_clocks_file)
cspt_store = ColorStripProcessingTemplateStore(config.storage.color_strip_processing_templates_file)
gradient_store = GradientStore(config.storage.gradients_file)
gradient_store.migrate_palette_references(color_strip_store)
sync_clock_manager = SyncClockManager(sync_clock_store)
processor_manager = ProcessorManager(
@@ -84,6 +87,7 @@ processor_manager = ProcessorManager(
audio_template_store=audio_template_store,
sync_clock_manager=sync_clock_manager,
cspt_store=cspt_store,
gradient_store=gradient_store,
)
)
@@ -167,6 +171,7 @@ async def lifespan(app: FastAPI):
sync_clock_store=sync_clock_store,
sync_clock_manager=sync_clock_manager,
cspt_store=cspt_store,
gradient_store=gradient_store,
)
# Register devices in processor manager for health monitoring