Automatically dims your screen when content gets too bright to reduce eye strain and flash blindness. Includes a simple GUI and multi‑monitor support.
- 🛡️ Eye protection: Smooth overlay dimming based on brightness
- 🖥️ GUI: Simple dark UI with logs and status
- 🖲️ Multi‑monitor: Monitor 1, Monitor 2, or both
- ⚙️ Auto‑adjust: Continuously adapts between thresholds
- ⏱️ Fast: Checks brightness every ~50ms
- ⏸ Pause/Resume: Quick control without closing the app
You can run either the locally built EXE or the Python script. We do not ship prebuilt binaries.
- Ensure Python 3.10+ is installed.
- Build the EXE:
./build_exe.bat
- Start the executable: dist/AdaptiveScreenDimmer.exe
- Tip: Right‑click → “Run as administrator” can improve overlay reliability.
- Install requirements:
pip install -r requirements.txt - Start via batch:
or directly:
.\adaptive_dimmer_START.batpythonw adaptive_dimmer.py
This project uses PyInstaller to create a one‑file GUI executable. We do not provide prebuilt EXE files; build it locally on your machine.
./build_exe.batThe build output is placed in dist/AdaptiveScreenDimmer.exe. After building, you can copy this EXE anywhere; it runs without needing Python installed.
- Do not commit build artifacts like
dist/orbuild/– they are ignored via .gitignore. - If you need to share the EXE, build locally and distribute it outside the repository (e.g., attach to a release).
- On launch, the app auto‑starts and begins monitoring.
- Select mode: “Nur Monitor 1”, “Nur Monitor 2”, or “Beide Bildschirme”.
- Use “⏸ Pausieren” / “▶ Fortsetzen” to control dimming.
- Status shows current brightness and dimming percentage; logs display detailed activity.
Adjust parameters in adaptive_dimmer.py:
THRESHOLD_START = 25 # Dimming begins above this brightness
THRESHOLD_MAX = 100 # Maximum dimming reached above this brightness
MAX_OPACITY = 240 # 0–255 alpha (higher = darker)
CHECK_INTERVAL = 0.05 # Seconds between brightness checks- Windows 10/11 recommended (Windows 7+ may work)
- For Python mode: Python 3.10+ recommended
- Administrator mode may be required for reliable top‑most overlays in some setups.
- If overlays do not appear on a monitor, switch the mode and back again.
- Multi‑monitor coordinates are read via
mss; unusual DPI/arrangements may need admin.
PRs and issues are welcome.
MIT License — see LICENSE.