EyeZen v2 · rewritten from the ground up.
A Windows screen-color-filter tray app — the same idea as v1, rebuilt in Rust after the Python original hit a wall: a 67 MB executable, one blocking window instead of a tray icon, and a hardcoded file path that crashed on every machine but mine. v2 is 3.5 MB, portable, and lives in the tray from the first launch.
The original, in Python, is at EyeZen v1 →
Comfort isn't one slider.
Windows Night Light and f.lux both treat visual comfort as a single problem: color temperature, warmer at night. That's one variable in a system with several — contrast, saturation, relative brightness between interface elements, flicker fatigue, screen-to-room luminance ratio. A programmer reading dark-mode code at 3pm on a cloudy day needs something different from someone watching video in the dark at midnight.
v1 tried to answer that with full color matrices per filter, running in a Python/tkinter window. It worked, but the interaction model was wrong: a tool that's supposed to live in the background was a window you had to remember to minimize, with no tray integration and no global hotkeys — and PyInstaller's bundled runtime made the executable 67 MB for what amounts to a color filter.
v2 keeps the composable-filter idea but fixes the architecture: Rust compiles to a single small binary, starts hidden in the tray with no window at all, and adds what the interaction model was missing — global hotkeys that work from any window, a filter assigned per foreground app, and a schedule by time of day.
What v2 adds over v1
- 24 composable filters — color-matrix and linear-gain visual-comfort presets, plus 8 creative/experimental ones added in v2.1.0 (hue-cycling, noise overlay, strobe, spotlight, paper-grain, among others)
- A filter assigned automatically per foreground app — one profile for the browser, another for a code editor, another for video calls
- Scheduling by time-of-day window, independent of the per-app rules
- Global hotkeys (Ctrl+Alt+1–6 for the first six filters, Ctrl+Alt+0 to disable, Ctrl+Alt+9 for inverted grayscale) that work from any window, panel open or closed
- Starts hidden in the system tray — no window ever appears unless you open the panel yourself
- Smooth 1.4s ease-out transition between filters, intensity slider from 0–150%
First run
- Download and run
EyeZen.exe— no installer. It opens straight to the system tray; no window appears. - Click the tray icon to open the filter panel, or right-click for the quick menu (pick a filter, toggle inverted grayscale, open the panel, or quit).
- In the panel, the Schedule tab turns filters on/off by time of day, and the Apps tab assigns a filter to each foreground program.
Stack
Core
Rust · egui
System integration
Windows gamma-ramp API · global-hotkey · system tray
Distribution
Single portable .exe · MIT license