Mac用户的常态,就是屏幕上堆满了重重叠叠的窗口。
@Minja在UNTAG Premium 第二十五期吐槽了这一点,并提出了一种不打开文件夹的文件浏览思路。方式转变后,用LaunchBar重命名、新建文件夹等都不在话下,“非必要不开Finder”成为现实。
但相比成熟的Finder,LaunchBar总有未及之处,获取当前窗口文件并展示在Bar中就是一例。若实现这一步,进可通过Instant Send实现便捷地“用另一应用打开”,退可通过LaunchBar的导航逻辑快速打开其同一文件夹(甚至是相邻文件夹)下的关联文件,还可以与重命名、移动文件位置等衔接,创造的可能性不可谓不大。
思路和方法
发现需求后,技术上的实现反而没有什么难度:@Minja的“Ctrl Go”动作早就提供了用一个通用按键实现“在Finder中显示”的思路,Keyboard Maestro 11更新后新增的 %FrontDocumentPath%
Token更是使得获取当前窗口文件路径不必再逐个App调整。整个动作的核心,仅两步而已:
第一步是用Token获取当前窗口文件路径,第二步是用LaunchBar打开。就这么简单。
长尾问题
本来事情到这里就结束了。但偏偏有些软件的当前窗口文件路径无法读取。Keyboard Maestro官方对%FrontDocumentPath% Token的介绍是:“若应用支持此属性(if the Application supports this property )”则可用,但未明确支持与否的简单判断方法或列举出不支持的应用。我自己试用下来,微软办公三件套都可以支持,暂时只遇到PDF Expert、FSNotes、Obsidian的窗口文件无法读取。
好在PDF Expert、FSNotes的菜单栏都有“在访达中显示”的选项,Obsidian也可以通过在应用内设置快捷键来实现“在访达中显示”,算是留了一条GUI操作的小径。我据此补全了这些“长尾”,步骤稍显冗长,但思路很简单,无非是经由访达获取文件路径,无需赘述。有需要的读者可以下载以下动作。
如遇新的不支持 %FrontDocumentPath%
Token的应用,在Switch模块中新增对应应用的专属Finder方案即可,可以是模拟菜单栏选择或者快捷键。
小结
LaunchBar的Instant Send、不生成主应用窗口等特性提供了很好的交互方式,在大多数时候可以比Finder更好地承担枢纽的职能。相比于我原先所使用的“在Finder中显示后用Keyboard Maestro选择App打开”,新方案无论在便捷性还是通用性上都更上了一个台阶。
可见,踏上前往远方的火车之前,不妨先看看周围有没有传送门。