Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 19:22
· 10 commits to main since this release

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 test 59 个测试全过(core 30 / cli 9 / gui 13 / 属性测试 7)
  • cargo clippy --all-targets -- -D warnings 无警告,cargo fmt --check 干净
  • 三个平台 CI 构建
  • 端到端:一万条随机脏文本验证净化幂等(apply(apply(x)) == apply(x))