EyeRest 是一个基于 Rust + Tauri 2 的桌面护眼工具,提供亮度调节、蓝光过滤与定时休息提醒。
- 亮度调节:通过软件覆盖层降低视觉亮度
- 蓝光过滤:通过暖色覆盖层减少蓝光刺激
- 定时提醒:按设定间隔弹出全屏休息遮罩与建议
- 界面风格:主界面与提醒页采用 iOS Liquid Glass 视觉风格
- 托盘常驻:关闭主界面后驻留系统托盘
- 配置持久化:用户调整实时保存,重启后自动恢复
- 外接显示器:每个显示器都会创建独立覆盖层窗口,亮度与蓝光效果同步应用
- 分屏使用:覆盖层按显示器全屏显示,因此分屏中的所有窗口都会同步生效
- 休息提醒:休息遮罩会在所有显示器上同时显示
本项目的亮度与蓝光过滤采用软件覆盖层,而不是依赖显示器硬件接口。
原因:
- 硬件亮度接口(例如 Windows 下 WMI)依赖显示器型号与驱动支持
- 在 Windows/macOS + 各类内置/外接显示器之间不存在统一且稳定的硬件级 API
因此软件覆盖层是当前跨设备一致性更高、可控性更强的方案。
src/main.rs:主进程、托盘、覆盖层窗口、提醒调度、Tauri 命令src/config.rs:配置读取、保存、默认值与清洗src/reminder.rs:不同连续使用时长下的提醒文案ui/index.html+ui/app.js+ui/style.css:主界面与交互ui/effect.*:亮度/蓝光覆盖层ui/break.*:全屏休息提醒层
- Windows:
%APPDATA%/eyerest/config.json - macOS:
~/Library/Application Support/eyerest/config.json - Linux:
~/.config/eyerest/config.json
cargo check cargo tauri dev
cargo tauri build
MIT