Commit Graph
6 Commits
Author SHA1 Message Date
Hermes Agent dc2f754f86 Optimize startup: show black overlay first, dim brightness in a background thread; switch to one-folder PyInstaller build (no on-launch extraction)
- 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
v1-wmi-only
2026-09-16 16:39:20 +02:00
Hermes Agent 0027ca57fc Fix hint not clearing: InvalidateRect must request background erase (True) so the class brush repaints black 2026-09-16 16:31:34 +02:00
Hermes Agent d6e83565c1 Fix Win32 ctypes issues: wintypes aliases, DrawTextW belongs to user32, drop FillRect (use class brush), NULL ptr for EnumDisplayMonitors
Verified on Windows: module imports and enum_monitor_rects() returns correct
device-coordinate monitor rects.
2026-09-16 16:28:23 +02:00
Hermes Agent 0e88bf62f5 Rewrite overlay on Win32 (one borderless topmost window per monitor) + logging
- 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
2026-09-16 16:21:36 +02:00
Hermes Agent 87bdbd7226 Multi-monitor support: black overlay covers all displays, brightness dim/restore per monitor
- 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
2026-09-16 16:02:34 +02:00
Hermes Agent 1e86958277 Initial import: Black Screen Dim (Pygame + PyInstaller)
Imported from matebook D:\BS (2026-03-11). Source only (no venv/build/dist).
Added requirements.txt, .gitignore, README.md, IDEA.md.
2026-09-16 15:26:14 +02:00