Commit Graph
5 Commits
Author SHA1 Message Date
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