Repository navigation
v0.3.0
Windows:双击安装(推荐)
下载 ClipSift-setup.exe 双击,一路下一步就行。
装完直接能用,卸载去「设置 → 应用 → 已安装的应用」找 ClipSift。
- 装到当前用户目录,不需要管理员权限,不弹 UAC
- 安装时可勾选「开机自动启动」「创建桌面快捷方式」
- 卸载干净:程序文件、开始菜单、桌面图标、自启项一起清掉
- 卸载时问一句要不要保留你的规则设置
0.3.0 新增:系统托盘
点 × 不再只是最小化——窗口收进右下角托盘,任务栏上也不留按钮,剪贴板守护继续跑。
- 右键托盘图标:唤回窗口 / 开始守护 / 停止守护 / 立刻净化一次剪贴板 / 退出
- 悬停提示:
ClipSift · 守护中 · 已净化 N 次,跟着界面状态实时更新 - 单击或双击图标都能唤回窗口(Win11 的溢出面板会吃掉单击,所以两个都认)
- 非 Windows 平台、或者托盘建不出来时,自动退回「收进任务栏」的老行为,
界面上会显示「(托盘不可用)」,不会让人找不到程序
托盘图标是专门重绘的 32×32 版本(强调色圆角方块 + 斜放的扫帚 + 三颗被扫走的白点),
缩到 16px 还认得出轮廓——窗口那枚 256 的图标直接塞进去会糊成一团。
实现上值得记的两个坑:
- 心跳线程而不是
request_repaint_after:窗口被Visible(false)藏掉之后,
eframe 会直接跳过排定的重绘帧(Windows 上只有非 0 尺寸的窗口才给发重绘),
表现就是「点托盘图标没反应」。所以另起一个线程每 120ms 调request_repaint——
它走PostMessage那条路,不依赖窗口可见。 - 必须在主线程建托盘:菜单要绑定窗口的消息循环,换线程建出来的菜单点了没反应。
其他方式
| 平台 | 文件 | 说明 |
|---|---|---|
| Windows x64 | clipsift-windows-x86_64.zip |
免安装版,解压即用 |
| Linux x64 | clipsift-linux-x86_64.tar.gz |
命令行 |
| macOS Apple Silicon | clipsift-macos-aarch64.tar.gz |
命令行 |
命令行用法
clipsift watch # 常驻后台,每次复制自动净化
clipsift once # 只净化一次剪贴板
clipsift --list-rules # 看有哪些规则详见 README。
验证过什么
cargo test59 个测试全过(core 30 / cli 9 / gui 13 / 属性测试 7)cargo clippy --all-targets -- -D warnings无警告,cargo fmt --check干净- 三个平台 CI 构建
- 端到端:一万条随机脏文本验证净化幂等(
apply(apply(x)) == apply(x))