- 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
32 lines
1.4 KiB
Markdown
32 lines
1.4 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\`.
|
|
|
|
## Зависимости
|
|
- `pygame` — окно и отрисовка
|
|
- `screen-brightness-control` — управление яркостью (только Windows)
|
|
|
|
> Управление яркостью работает только на Windows. На других ОС приложение
|
|
> просто покажет чёрный экран без изменения яркости.
|
|
|
|
> При нескольких мониторах чёрный экран накрывает **весь виртуальный рабочий стол**
|
|
> (все мониторы сразу, включая те, что слева/сверху от основного), а яркость
|
|
> гасится и восстанавливается **на каждом** мониторе по отдельности.
|