在此前《Spotlight 能做的 8 件事》一文中,笔者向读者介绍了 OS X Yosemite 的 Spotlight 可以实现的诸多特性,它们分别是:启动应用、计算、单位换算、建立对话、文档预览、搜索地理位置、搜索某个系统偏好设置、搜索 iTunes 的一切等。

毋庸置疑,相比较老版本 OS X,全新的 Spotlight 功能确实丰富了许多,(可能)是为了考虑第三方 Launch Apps 的开发商,Spotlight 在很多方面也「放了不少水」,也许是为了保证第三方软件生态圈的稳定发展。可问题来了:若想拥有更多功能(更高的效率),用户不得不为此支付一定费用,而高昂的价格换来的可能只是自己想要的那一两个功能而已(俗称性价比太低),那么针对这种情况,有没有相对廉价的解决方案呢?有,而且还免费。

什么是 Flashlight

解决方案就是它:Flashlight ,一款由 Github 用户 Nate Parrott 发布,众多开发者参与的 Spotlight 插件(虽然它是以 Bundle App 的形式安装的...)。我们可以在其 官网 上找到大部分现有的插件,或者如果你觉得自己有能力参与到开发中去,也可以 点击这里 查看新插件的制作方法。

从普通用户的角度去看,Flashlight 的概念存在于软件与插件之间,因为它虽然可以根据第三方语言进行开发,却又离不开 Spotlight 这个母体。其好处是,用户无需担心它的兼容性(Spotlight 不会毫无预兆地重写);但缺点是,纯义务劳动的「寿命」一般都很短,影响到更新频率。可这些都不是重点。

Flashlight 能做什么

说说它的功能吧。首先,同为大陆用户,我想到的是 Flashlight 能支持多少「本地化」的功能?在资源库(首页)中仔细挑选后,我选择了 Baidu Search(百度搜索)、Taobao Search(淘宝搜索)、V2EX、知乎日报和豆瓣电影。还是非常丰富的。

激活操作的关键词都默认以灰色字体显示在粗体标题下,可能是一个,也可能是多个。例如:Baidu Search 的关键词为「baidu xxx」以及「bd xxx」、Google Search 的关键词为「google xxx」和「g xxx」。用过 Alfred 的小伙伴应该都深有体会。

除了与 URL 相关的操作,Flashlight 还能捆绑本地应用行为,例如:Open with Text Mate(通过 TextMate 打开)、Dash(搜索 Dash 代码库)、Spotify(音乐流媒体播放)、Send Email(发送电子邮件)等。

当然,也能直接执行少量的系统功能,例如:Shutdown(关机)、Restart(重启)、Logout(登出)、Sleep(睡眠)、Screen saver(屏幕保护程序)、Terminal(执行终端命令)等。

总之,无论是哪个操作,都可以在左侧列表的分类中找到。且慢,还要注意:由于某些「操作」的类别存在叠加,所以实际「操作」数量一定没有库的总和多。(望开发者有空能加加班...)

管理

有人说,像 Flashlight 这样的插件,对于 Spotlight 来说,是非常不稳定的,而笔者实际体验下来也确实发生过崩溃、卡死的现象,可能是由 Flashlight 本身导致的,也有可能是某个「操作」引起的。不管怎么样,只要你能找出其根源,就得有对应的策略。(建议以反馈至开发者为主)

因此就要有简单易用的管理系统。好在 Flashlight 对于这方面的优化还是相当可观的。用户只需取消开启不需要的「操作」(美其名曰:滑白),那么对象就会自动关闭并删除;若有需求,再次下载即可。

制作

在本文的开头,笔者给出了 Flashlight 插件开发的 帮助文档 地址。作为程序开发小白,至少我是不指望自己能为了区区一个 Extension 就去掌握深奥的 Python 语言。这么说来,本节还有写的意义吗?有,因为 Flashlight 允许用户直接通过 Automator 新建「操作」(位于菜单栏-File-新建 Automator 插件),简单很多了吧?了解更多 Automator 相关的工作流程


受限于 OS X 系统的框架,开发者很难制作一款经久耐用的优秀插件,所以即使 Flashlight 的稳定性仍有待提高,作为使用者,笔者认为我们应该更多地给予鼓励和建议,而不是批评!

不排除极端的反感(这在部分群体眼里,被看作是「破坏」系统稳定性的行为),文末再推荐一款我个人自始至终都推荐第三方同类工具:LaunchBar 6。感兴趣的读者可以从以下两篇介绍开始了解: