A simple Windows app to control brightness on built-in and external monitors from one place.
- All monitors — one master slider plus quick presets (
5%–100%) and ±10% steps - Per-monitor control — adjust each display independently
- Built-in displays — via Windows WMI brightness
- External displays — via DDC/CI when the monitor supports it
- Themes — Match system, Light, or Dark
- Tray app — closing the window hides to the system tray; right-click the tray icon to Open or Exit
- Remembers settings — brightness and theme are saved between launches
- Windows 10 or 11
- .NET 8 SDK (to build from source)
External monitors need DDC/CI enabled in the monitor’s on-screen menu. Some displays (or docks/adapters) do not expose DDC/CI — LightMaster will list them as unavailable.
git clone https://github.com/rodonguyen/LightMaster.git
cd LightMaster
dotnet runOr build a release binary:
dotnet publish -c Release -o publish
.\publish\LightMaster.exe- Launch LightMaster — detected monitors appear in the list.
- Drag All monitors (or tap a preset) to set every controllable display at once.
- Drag an individual slider to fine-tune one monitor.
- Use Refresh after plugging in or unplugging a display.
- Change Theme anytime; the choice is saved automatically.
Closing the window keeps the app running in the tray. Double-click the tray icon to reopen it, or choose Exit to quit fully.
| Symptom | What to try |
|---|---|
| External monitor shows “DDC/CI brightness is unavailable” | Enable DDC/CI (sometimes labeled “DDC”, “HDMI Control”, or “PC Control”) in the monitor OSD. Try a different cable or port. USB docks often block DDC/CI. |
Slider is disabled / shows -- |
That display cannot be controlled by software right now. |
| Brightness didn’t apply after reconnecting | Click Refresh, then set brightness again. |
| No monitors listed | Confirm displays are connected and powered on, then click Refresh. |
Settings are stored at:
%AppData%\LightMaster\settings.json
Use freely for personal or commercial projects. Contributions welcome.
