43 lines
2.5 KiB
Markdown
43 lines
2.5 KiB
Markdown
# Black Screen Dim
|
|
|
|
Маленькая утилита для Windows: при запуске гасит экран до чёрного (яркость → 0),
|
|
показывает чёрный безрамочный полноэкран, скрывает курсор. По `ESC` — выход,
|
|
яркость и курсор возвращаются.
|
|
|
|
## Запуск из исходников (Windows)
|
|
```bat
|
|
python -m venv venv
|
|
venv\Scripts\activate
|
|
pip install -r requirements.txt
|
|
python black_screen_dim.py
|
|
```
|
|
|
|
## Сборка в .exe
|
|
```bat
|
|
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` указывает на последний стабильный коммит до гибрида).
|