我为什么需要使用 Tab Finder
对于标签页的管理工具的依赖主要源于两个方面:
- 各个浏览器厂家都完善了标签记忆功能,浏览器退出后再次打开,上次所打开的标签页会被保留,一来二去我们浏览器的标签页很容易越积越多。比如这样。
- Web2.0 或者说现代化的网页不仅仅提供浏览功能,也可以给用户带来一些工具能力,如百度翻译或者在线 XXX 系列,这样就会使我们对于网页的依赖度提高,因此我们对浏览器的使用频率也越来越高。
基于这两方面,至少对于我来说其实是需要一款标签页的管理工具来提高我使用浏览器查看网页的效率,而 Tab Finder 正是为数不多的可以满足我这一需求的应用。
开箱 Tab Finder
Tab Finder 的使用很简单,启动应用后 Tab Finder 将会自动扫描你的浏览器应用(目前支持的浏览器有 Safari,Chrome,Brave,Edge,Opera,Vivaldi,Yandex ),并且将所有打开的 Tab 标题收集过来。下一步你就可以在搜索框中搜索你打开过的标签页的关键字(或者是网站的地址),回车跳转到相应的浏览器 Tab 页,非常方便。
其实 macOS 自带的 Spotlight 也带有 Tab 标签页的搜索功能,不过 Spotlight 只能够检索出苹果自家的 Safari 的标签,并且回车后会重新加载该标签页。而 Tab Finder 相对于提高 Tab 标签页的查找和使用效率显然会更出色些。
Tab Finder 实现原理猜想与解析
首先我们可以通过 MachOView 等软件来查看在 Tab Finder 的二进制包,通过他所需要加载的动态库来简单定位下应用可能使用的技术方案。MachO 文件解码后如下:
ScriptingBridge 这个是苹果的 OSA ( Open Scripting Architecture )框架,用它我们可以让我们的程序执行 Apple script 。然后通过查看 Tab Finder 所使用的权限,我们可以看到在 Automatic 中 Tab Finder 也申请了相应的权限。
到此我们大致的方向是 Apple Script,查阅一下资料,通过下面的 Apple Script,我们可以获取到 Chrome 浏览器所有打开 Tab 的标题。
当然这只是对于 Tab Finder 实现形式的一种猜想,权当抛砖引玉,欢迎大家来一起讨论。
如果大家对各种效率工具或者提升效率的经验方法有兴趣可以搜索效率先生公众号来参与哟。