- 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
1.6 KiB
1.6 KiB
Black Screen Dim
Маленькая утилита для Windows: при запуске гасит экран до чёрного (яркость → 0),
показывает чёрный безрамочный полноэкран, скрывает курсор. По ESC — выход,
яркость и курсор возвращаются.
Запуск из исходников (Windows)
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python black_screen_dim.py
Сборка в .exe
pip install pyinstaller
pyinstaller "Black Screen Dim.spec"
Готовый exe — в dist\Black Screen Dim\.
Зависимости
screen-brightness-control— управление яркостью (только Windows)- чёрная заливка экрана — напрямую через Win32 API (ctypes, входит в стандартную библиотеку), pygame больше не нужен
- лог пишется в
%TEMP%\black_screen_dim.log
Управление яркостью работает только на Windows. На других ОС приложение просто покажет чёрный экран без изменения яркости.
При нескольких мониторах чёрный экран накрывает весь виртуальный рабочий стол (все мониторы сразу, включая те, что слева/сверху от основного), а яркость гасится и восстанавливается на каждом мониторе по отдельности.