- black screen now appears immediately (window creation), while the slow
screen-brightness-control WMI queries (get+set) run in a daemon thread and
are invisible behind the black overlay
- one-folder COLLECT build removes the ~2-3s one-file archive extraction
- fixes second monitor not fully covered (gap at top): each monitor now gets its
own window sized exactly to its rcMonitor in device coords, with per-monitor V2
DPI awareness, so it covers the full screen regardless of layout/DPI
- dropped pygame; black fill + 'ESC - exit' hint drawn via GDI
- global ESC via low-level keyboard hook (works without window focus)
- logging to %TEMP%\black_screen_dim.log (start, monitor rects, brightness, errors)
- requirements.txt: pygame removed
- get_virtual_screen_rect(): bounds of the whole virtual desktop (negative x/y OK)
- window pinned topmost across every monitor via SetWindowPos + SetForegroundWindow
- brightness saved/restored as a per-monitor list (was only first monitor)
- resource_path() so icon.ico is found in the frozen exe; spec now bundles it