Screen Light is a lightweight and straightforward Windows application designed to give you quick and easy control over your screen's brightness.
Screen Light is a lightweight Windows utility designed to provide quick and easy control over your screen's brightness. It transforms your monitor into an adjustable light source, perfect for illuminating faces during video conferences while preventing the system from sleeping.
Key Features:
Video Conference Lighting: Creates a bright, full-screen white display to act as a key light, improving video quality in low-light environments.
Adjustable Brightness: Use the Up and Down arrow keys to fine-tune brightness levels for optimal lighting conditions.
System Awake Prevention: Utilizes the Windows Power Management API to keep the system active during use.
Minimalist Design: Features a fullscreen, borderless window with optional mouse cursor toggling for distraction-free operation.
Standalone Executable: A single, portable .exe file with no external dependencies, ensuring easy installation and portability.
Ideal for professionals needing consistent lighting during video calls or anyone seeking a reliable screen brightness adjustment tool. Its straightforward controls and silent operation make it a practical utility for everyday use.
Installation via winget is available, making setup quick and seamless.
README
Screen Lighteer
Look your best on video calls and keep your computer awake with one simple tool that turns your monitor into a soft, adjustable light source.
Screen Lighteer turns your monitor into a soft, adjustable light source to illuminate your face during video conferences. It also prevents your system from sleeping or locking—perfect for long meetings, presentations, or when you need your machine to stay active.
It's a minimalist, powerful utility for the modern remote professional.
Features
Video Conference Lighting: Provides a bright, full-screen white display to act as a key light, improving video quality in low-light environments.
Adjustable Brightness: Use the Up and Down arrow keys to change the brightness of the screen light.
Keeps System Awake: Uses the Windows Power Management API to robustly prevent the system from sleeping.
Adjustable Frame: Use the Left and Right arrow keys to adjust the thickness of the surrounding light frame, creating a transparent "hole" in the center of the screen. This allows you to work on other tasks while being illuminated.
Minimalist Design: Creates a fullscreen, ligth frame around a transparent window for a well illuminated digital life.
Silent Operation: Runs as a true background application without a console window by default.
Verbose Logging: An optional --verbose flag can be used to open a console window for diagnostic messages.
Easy Controls: Adjust brightness coarsely or finely and quit the application with simple keyboard commands.
Installation
The easiest way to install Screen Lighteer is via the Windows Package Manager (winget). Open a Command Prompt or PowerShell and run:
winget install CosmicDNA.ScreenLighteer
> [!NOTE]
> Alternatively, you can download the latest release from the GitHub Releases page. Download the ScreenLighteer-windows-x64.zip file, extract it, and run ScreenLighteer.exe.
Usage
Copy ScreenLighteer.exe to any Windows machine and run it.
Standard Mode:
ScreenLighteer.exe
This will launch the fullscreen light window. Press to quit.
This will launch the application and also open a separate console window to display log messages. Press ESC to quit, or Ctrl+C in the console window.
> [!TIP]
> Use the Up and Down arrow keys to change the brightness of the screen light.
> Use the Left and Right arrow keys to adjust the size of the central transparent area.
> To achieve finer control, hold Shift when pressing any of the arrow keys.
Building From Source
Requisites
This project is set up for cross-compilation from a Linux environment to Windows. You will need the following tools installed:
CMake (version 3.20 or newer)
Ninja Build System
MinGW-w64 Toolchain (specifically the x86_64-w64-mingw32 target)
On Debian/Ubuntu-based systems, you can install these with:
The project uses CMake Presets for a simplified and reproducible build process.
Configure the project (for a release build):
cmake --preset mingw-release
Build the executable:
cmake --build --preset release
The final executable, ScreenLighteer.exe, will be located in the build/mingw-release/ directory.
Architecture Diagrams
The project's architecture and runtime behavior are visualized in the diagrams below. The PlantUML source files for these diagrams can be found in the diagrams directory and can be viewed or edited using a PlantUML-compatible tool, such as the PlantUML extension for VS Code.
Figure 1 provides a high-level component diagram, illustrating how ScreenLighteer.exe interacts with essential Windows system libraries like user32.dll, gdi32.dll, and shell32.dll.
Figure 1: Component Diagram showing high-level components and dependencies.
The application's startup process is detailed in the sequence diagram in Figure 2. It shows the flow from the user executing the program to the main message loop being ready to handle events.
Figure 2: Startup Sequence detailing the application's initialization process.
Figure 3 is a state diagram that illustrates the application's primary states—Initializing, Running, and Terminating—and the events that trigger transitions between them.
Figure 3: Main State Diagram illustrating the application's lifecycle.
The logic for handling user keyboard input, such as adjusting brightness and frame size, is described in the activity diagram in Figure 4.
Figure 4: Input Handling Activity describing the logic for keyboard input.