灵剪 Cliperx:做了一个把剪贴板历史塞进灵动岛的 macOS 工具,聊聊踩过的坑
灵剪 Cliperx:做了一个把剪贴板历史塞进灵动岛的 macOS 工具,聊聊踩过的坑
起因
我自己是重度剪贴板工具用户,Mac 上 Paste、Maccy 都用过很久。它们都很好,但有个我个人一直觉得别扭的点:唤出历史的方式太「重」了——按个快捷键,一个独立窗口「啪」地弹在屏幕中央,挡住我正在看的内容。一天几十次复制粘贴,这个「打断感」累积下来挺烦。
后来 MacBook 都带了刘海,我就在想:这块地方平时是浪费掉的,能不能把剪贴板的交互做到顶部这一块去,做成类似 iPhone 灵动岛那种「轻提示、不打断」的感觉?这就是 CliperX(灵剪)最初的想法。

第一个坑:Mac 根本没有「灵动岛」
iPhone 的灵动岛是系统级的硬件 + 软件特性,Mac 上压根没有这个东西。所谓「Mac 灵动岛」,本质是在刘海周围那块区域,自己画一个能展开 / 收起的视图,去模拟那种交互感。
这里踩的第一个坑是定位刘海的位置和尺寸。不同型号 MacBook 的刘海宽高不一样,外接显示器又没有刘海。我的处理方式是【这里简单写一句你实际怎么拿到屏幕安全区域 / 刘海尺寸的,比如用了 safeAreaInsets 还是读取屏幕参数,一句话即可,不用展开】。这部分调试花了不少时间,多屏场景到现在也还有些边缘情况没打磨好(后面会说)。
第二个坑:剪贴板监听与性能
macOS 没有剪贴板变化的「通知」机制,NSPasteboard 不会主动告诉你内容变了,常规做法是轮询 changeCount。轮询就有个矛盾:太频繁费电费性能,太慢又会漏掉快速复制。
我最后采用的策略是【这里写你实际的轮询间隔或优化思路,比如多少毫秒一次、或者结合了什么事件,简短一句】。目标是把后台占用压到几乎感觉不到,这块我自己比较满意,常驻一天 CPU 占用很低。

关于隐私的取舍
剪贴板这东西很敏感——大家会复制密码、验证码、私密信息。所以从一开始我就定了两条原则:历史只存本地,不上云;以及支持忽略规则,比如从密码管理器复制出来的内容直接不记录。

这也带来一个代价:因为不上云,所以目前没有跨设备同步。这是当前最大的功能缺口,下面一起说。
现在做得还不够好的地方
写到这必须诚实,免得大家下载下来期望落空:
第一,没有跨设备同步。单台 Mac 用没问题,多台机器或想和 iPhone 接力的,目前满足不了。这是隐私优先带来的取舍,后面会考虑做端到端加密的同步方案,但还没动工。
第二,进阶的片段管理偏弱。置顶常用片段、分组、snippet 模板这些,目前还比较简陋,重度用户会觉得不够。
第三,多显示器 / 外接屏下的唤出位置偶尔不跟手,就是前面说的那个刘海定位的坑,还在优化。
用法 & 现状
用法很简单:装好常驻菜单栏,自动记录复制内容,按快捷键从顶部唤出,方向键选中回车粘贴,支持按类型筛选和搜索。

目前是免费的,做这个一开始纯粹是为了解决自己的痛点,后来想着干脆放出来。官网在 cliperx.com,欢迎用过的朋友给点反馈,尤其是同步和片段管理这块,想听听大家的需求再决定下一步做什么。
如果你也受够了剪贴板工具那个「打断感」,可以试试这个思路对不对你胃口。

浙公网安备 33010602011771号