Files
black-screen/README.md
T

2.5 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\.

Зависимости

  • Яркость — гибрид: сначала быстрый нативный DDC/CI (dxva2.dll, суб-миллисекунды), при отсутствии DDC/CI на мониторе (например, встроенный экран ноутбука) — откат на screen-brightness-control (WMI) для этого монитора.
  • чёрная заливка экрана — напрямую через Win32 API (ctypes, входит в стандартную библиотеку), pygame больше не нужен
  • лог пишется в %TEMP%\black_screen_dim.log

Управление яркостью работает только на Windows. На других ОС приложение просто покажет чёрный экран без изменения яркости.

При нескольких мониторах чёрный экран накрывает весь виртуальный рабочий стол (все мониторы сразу, включая те, что слева/сверху от основного), а яркость гасится и восстанавливается на каждом мониторе по отдельности.

Откат на WMI-только версию

Если гибридная яркость работает некорректно, есть два варианта вернуться к проверенной версии (только WMI):

  • Быстрый (на ноуте): переименуй black_screen_dim.py.bak обратно в black_screen_dim.py и пересобери exe.
  • Через git: git -C <repo> checkout v1-wmi-only -- black_screen_dim.py (тег v1-wmi-only указывает на последний стабильный коммит до гибрида).