Skip to content

Repository files navigation

💡 ScreenLight

A lightweight virtual ring light for Windows

Turn the edges of your monitor into a soft, customizable light source for video calls, streaming, webcam recordings, and low-light setups.

Windows C# WPF Platform Release


✨ About ScreenLight

ScreenLight is a lightweight Windows desktop utility that turns the edges of your display into a configurable virtual ring light.

It is designed to improve face illumination in dark or low-light environments without requiring external lighting hardware. The center of your screen remains usable, and the lighting overlay is click-through so it does not interfere with normal Windows interaction.

ScreenLight runs entirely on your computer — no account, cloud service, or internet connection is required.

🚀 Features

  • Adjustable brightness
  • Adjustable color temperature
  • Adjustable softness
  • Adjustable light thickness from 20 to 100
  • Warm, neutral, and cool lighting
  • Soft glow with rounded corners
  • Transparent, borderless overlay
  • Click-through lighting layer
  • Minimal floating control widget
  • Expand-on-hover controls
  • Drag-and-drop widget positioning
  • Automatic screen-edge snapping
  • Dynamic dock orientation
  • Quick light On / Off
  • Dedicated Exit button
  • Dynamic primary-display resolution support
  • Fully local and offline

📸 Preview

Screenshots and a short demo will be added soon.

📦 Download

Download the latest portable Windows build from the Releases section:

Download the latest ScreenLight release

The self-contained build does not require a separate .NET Runtime installation.

Note

ScreenLight currently targets Windows x64 and is primarily developed for Windows 11.

🖱️ Usage

  1. Launch ScreenLight.exe.
  2. Move your pointer over the floating widget to expand it.
  3. Adjust brightness, color temperature, softness, and thickness.
  4. Drag the widget to reposition it.
  5. Move it near a supported screen edge to snap it into place.
  6. Use the power control to toggle the light without closing ScreenLight.
  7. Click × to exit.

⚙️ How It Works

ScreenLight uses two WPF windows with separate responsibilities:

ScreenLight
│
├── RingOverlayWindow
│   └── Renders the virtual screen-edge light
│
└── ControlWidgetWindow
    └── Controls brightness, temperature,
        softness, thickness and power

The ring overlay is transparent, borderless, always on top, and uses Win32 extended window styles to remain click-through. This allows normal interaction with applications underneath the lighting layer.

The separate control widget receives user input and updates the overlay immediately.

🛠️ Technology Stack

Component Technology
Language C#
Framework .NET 10
Desktop UI WPF
Markup XAML
Native integration Win32 Interop
Target Windows x64
IDE Visual Studio

📁 Project Structure

ScreenLight/
│
├── Assets/
│   └── ScreenLight.ico
│
├── Helpers/
│   └── ColorTemperatureHelper.cs
│
├── Properties/
│   └── ...                         # Visual Studio / publish settings
│
├── App.xaml
├── App.xaml.cs
├── AssemblyInfo.cs
│
├── ControlWidgetWindow.xaml
├── ControlWidgetWindow.xaml.cs
│
├── RingOverlayWindow.xaml
├── RingOverlayWindow.xaml.cs
│
├── ScreenLight.csproj
├── ScreenLight.sln                 # if present
│
├── README.md
├── LICENSE
└── .gitignore

🔨 Build From Source

Requirements

  • Windows
  • .NET 10 SDK
  • Visual Studio with the .NET desktop development workload, or the .NET CLI

Clone

git clone https://github.com/TrXiNo/ScreenLight.git
cd ScreenLight

Restore and Build

dotnet restore
dotnet build -c Release

Run

dotnet run

Publish a Portable x64 Build

dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true

Package the resulting application as:

ScreenLight-v0.1.0-win-x64.zip

Compiled binaries should be distributed through GitHub Releases, not committed to the source repository.

🔒 Privacy

ScreenLight is intentionally local and non-intrusive.

It does not:

  • Access or record your webcam
  • Record your screen
  • Record audio
  • Analyze your face
  • Monitor Zoom, Discord, Teams, OBS, browsers, or other applications
  • Automatically detect webcam usage
  • Require an account
  • Require an internet connection

⚠️ Current Limitations

  • Currently uses the primary monitor
  • Multi-monitor selection is not implemented yet
  • Per-monitor DPI handling is not implemented yet
  • Settings currently reset when ScreenLight is restarted
  • Early public builds may not be code-signed

🗺️ Roadmap

  • Multi-monitor support
  • System tray integration
  • Global keyboard shortcut
  • Lighting presets
  • Optional settings persistence
  • Start with Windows
  • Per-monitor configuration
  • Installer / MSIX packaging

🤝 Contributing

Bug reports, feature suggestions, and pull requests are welcome.

When reporting a bug, including your Windows version, display configuration, and steps to reproduce the problem will make troubleshooting easier.

📄 License

This project is licensed under the MIT License. See LICENSE for details.

👤 Author

Created by Arda Takeş@TrXiNo


ScreenLight — simple, distraction-free desktop lighting.

About

A lightweight virtual ring light for Windows that illuminates your face with a customizable screen-edge glow.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages