You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Resolution is now resolved exclusively from the USB handshake and stored
per-device in config['devices']['X']['w'/'h']. FBL_PROFILES in core/models.py
is the single source of truth for all resolution constants.
Key changes:
- settings._width/_height default to 0,0; _resolve_paths() skipped until
a real resolution is known from the handshake
- app._wire_bus() dispatches InitializeDeviceCommand after building the LCD
bus, so CLI/API paths get settings.resolution set from the handshake (the
GUI already did this via lcd_handler.apply_device_config)
- cli/resume: calls lcd.set_resolution(*dev.resolution) before loading theme
- ThemeService.discover_local/load_local_themes: resolution now optional (0,0)
- services/media: set_target_size() required before load(); _make_service()
fixture pre-wires it via FBL_PROFILES[100]
- services/overlay: OverlayRenderer defaults to 0,0; tests use _ov() helper
- test_conf: updated to reflect in-memory-only set_resolution semantics
- conftest: settings_with_resolution fixture for widget tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments