Brightness dimmer and blue light filter for Windows.
~5MB native binary · zero lag · GPU-native color control
- Brightness dimming — transparent overlay per-monitor, independent of Windows brightness
- Color temperature — real GPU gamma ramp shift via
SetDeviceGammaRamp, works in fullscreen games - System tray — close to tray, left-click toggle, right-click context menu
- Global hotkeys — toggle, brightness, and temperature control from any application
- Presets — Off, Read, Focus, Night, Dim
- Schedule — sunset/sunrise auto-transition using the NOAA solar algorithm
| Shortcut | Action |
|---|---|
Ctrl+Alt+B |
Toggle filter on/off |
Ctrl+Alt+Up / Ctrl+Alt+Down |
Brightness ±5% |
Ctrl+Alt+Left / Ctrl+Alt+Right |
Temperature ±200K |
| Preset | Brightness | Temperature |
|---|---|---|
| Off | 100% | 6500K |
| Read | 70% | 4500K |
| Focus | 90% | 5500K |
| Night | 30% | 2700K |
| Dim | 5% | 500K |
- Backend: Rust (Tauri 2) + raw Win32 FFI for gamma ramp control
- Frontend: SvelteKit + Svelte 5 + TailwindCSS 4 + shadcn-svelte
- Typography: Geist + Geist Mono
gamma-node (single Rust process)
├── Control Window Svelte UI, tray-hidden on close
├── Overlay Windows per-monitor, transparent, click-through
├── Gamma Ramp Win32 GDI, real GPU output shift
├── System Tray toggle, presets, quit
├── Global Hotkeys brightness, temperature, toggle
└── Scheduler tokio task, sunset/sunrise (NOAA)
Hybrid rendering model:
- Brightness → overlay opacity, works everywhere
- Color temperature →
SetDeviceGammaRamp, real GPU shift that survives fullscreen exclusive
cd gamma-node
npm install
npm run tauri devnpm run tauri buildOutput:
src-tauri/target/release/bundle/nsis/gamma-node_*_x64-setup.exe
MIT © CodaCipher