做内容、写文档、写代码的时候,截图是高频动作。macOS自带的截图功能不全,微信截图够用,但得把微信开着。其它工具如PixPin、Snipaste功能又太重,很多用不上,图床上传还得额外开一个App。

开发者直接做了一个叫capcap的菜单栏截图应用。它只做一件事:双击⌘,截取一张已经标好注、可以直接粘出去的图到剪贴板,同时支持在编辑栏里直接上传到图床,并把URL自动复制到剪贴板

打开网易新闻 查看精彩图片

应用已在GitHub基于MIT协议免费开源。

打开网易新闻 查看精彩图片

capcap的核心交互只有一个:双击⌘。这个灵感来自Claude App,它可以在任意App里双击⌘直接把图送进会话窗口。不喜欢这个快捷键,也可以在设置里录一个自己的全局快捷键

触发后进入选区模式:悬停任意窗口,自动识别窗口边界,点一下贴边截取;拖一个区域,像素级精准,Retina原生分辨率;多显示器环境下,所有屏幕同时进入选区状态,拖到哪截到哪。不需要凭眼力对齐窗口边,鼠标移到窗口上,绿色虚线就贴上去,按一下完事。

很多截图工具的标注是一次性栅格化,画完箭头想挪一下、改个颜色,只能撤销重画。capcap的标注都是对象化的,全程可改:箭头放完后还能拖端点、把直箭头掰成曲线;序号标注自动递增数字圆点,拖出来可以带引线;文本内容双击直接改文案,10–100pt字号、颜色随便切;矩形、椭圆、画笔、高亮笔,颜色和线宽都能事后改;马赛克刷一下糊掉敏感信息,块大小可调。撤销、重做和文档编辑器一样自然。选中已有标注后,还会出现旋转手柄、端点手柄、曲线手柄,截完图不满意不用全部重来。

写文档经常要截一整页表格、一整段聊天记录。capcap内置长截图功能:框出要滚动的区域,在选区里用触控板或鼠标滚轮往下滚,实时拼接的预览图显示在旁边,觉得够了就合并回主编辑器继续标注。长截图的结果不是一张"最终图",会带回到编辑器,可以继续画箭头、加序号、上马赛克。

写公众号、做Twitter配图时,光秃秃的截图总差点意思。capcap内置轻量美化模式,支持渐变背景、桌面壁纸背景、圆角、柔和阴影和可调内边距。不用打开PS,也不用上一堆"截图美化"网站,在编辑器里一个tab就切过去。

还有一些功能用起来很顺手。可以直接编辑Finder里的图片:在桌面或Finder中点选一张图片后,按下设定的截图快捷键,capcap会跳过截图直接把这张图载入编辑器,原文件不会被改动。最近的截图缩略图和取色记录都在菜单栏,再次复制只需要一次点击,完全本地存储(~/Library/Application Support/capcap/History),数量可配置5–20张。

capcap支持调用macOS原生取色器,吸到的颜色#RRGGBB直接进剪贴板,也写进历史记录。可以把当前截图作为浮动窗口钉在所有App之上做对照参考,抄设计稿、对比改版时特别有用。

打开网易新闻 查看精彩图片

图床功能是开发者个人最离不开的功能。配置一次后,编辑器里的上传按钮会被点亮。capcap目前支持三家国内主流对象存储:腾讯云COS、七牛云Kodo、阿里云OSS。点一下上传按钮,公网URL直接写到剪贴板,同时和缩略图一起进历史。下次写Markdown直接⌘+V,图片链接就贴出来。

图床密钥只保存在本机的UserDefaults里,不走任何中间服务器。这不是一个"capcap图床",是用户自己的图床——出问题、被封号、想搬家,都是用户自己的事;安全和隐私也只取决于用户自己。

对于macOS开发者,capcap有几个技术细节值得注意:纯AppKit,没有SwiftUI,理由是"像macOS该有的样子"——精确的窗口控制、流畅的命中测试、可预测的事件循环,SwiftUI在14.0上还做不到这些。零第三方依赖,Package.swift里只有标准库和系统框架,包体很小、启动很快、维护成本低。

技术实现上:ScreenCaptureKit做屏幕捕获,Retina原生分辨率;Carbon Hotkey API注册自定义全局快捷键(macOS至今没给出更现代的API);双击⌘监听走CGEventTap,权限是辅助功能权限。capcap要求macOS 14.0+,universal binary,Apple Silicon和Intel都能跑。

安装有两种方式:一是Homebrew,brew tap realskyrin/capcap https://github.com/realskyrin/capcap,brew install --cask capcap(仓库名是capcap不是homebrew-capcap,要显式指定URL);二是直接去GitHub Release页面下载最新的DMG,拖进Applications。

如果遇到"Apple无法验证capcap是否包含恶意软件"的提示,是因为还没做Apple公证(一年99美元开发者暂时不想交),可以运行xattr -dr com.apple.quarantine /Applications/capcap.app,只对你信任的来源做这个操作。

capcap是开发者自己每天在用的工具,不会塞一堆没人用的功能,有bug应该也比用户更先发现。它不会收一分钱,也没有任何遥测和数据上报。