mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +01:00
Introduced the `DisplayChangeWatcher` component to detect monitor connect/disconnect events using the WinRT `DeviceWatcher` API. Implemented 1-second debouncing to coalesce rapid changes and trigger a `DisplayChanged` event for refreshing the monitor list. Integrated `DisplayChangeWatcher` into `MainViewModel`, adding lifecycle management methods (`StartDisplayWatching`, `StopDisplayWatching`) and handling the `DisplayChanged` event to refresh monitors dynamically. Updated `Dispose` in `MainViewModel` to ensure proper cleanup of the `DisplayChangeWatcher`. Enhanced logging and added detailed comments for better traceability. Modified `design.md` to document the new component, updated flowcharts, and marked "Monitor Hot-Plug" as implemented. Reflected changes in the `PowerDisplay` directory structure.