Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

macOS 是个优秀的桌面操作系统,但作为生产力工具而言,却依然有着这样那样的短板。这里的「短板」倒不是说 macOS 系统有缺陷,而是它简洁的面貌下,反而提供了一个广阔的「可能性」—— 我们可以通过工具来对系统功能进行增强,从而定制出完全属于自己的一整套操作习惯。就像是劳动人民掌握了工具一样,生产效率自然也会大大提高。

而在这之中,能称得上「神器」的系统增强工具不多,但 Keyboard Maestro 绝对是顶得上这个名号的。为什么这么说呢?

第一点是它真的强大到让你难以想象。你所想要的许多扩展性功能,都可以通过它来自定义;其次就是它很轻量化,只有 24.4MB 的初始体积,完美诠释了什么叫「浓缩就是精华」;第三点,也是最重要的一点:它还能给你省不少钱。

没错,一个售价高达 36 美元(人民币付款为 267.89 元)的软件,还能给你省钱。因为一个 Keyboard Maestro 能做的可不是简单地改改键位,或者做一些复杂的流程的自动化,它更可以替代多款收费的效率 / 工具软件,一个顶几个。

改键工具(如 Karabiner)

Karabiner 是一款在 macOS 上进行键盘映射的工具。而有了 Keyboard Maestro 之后,我们就可以通过 Macro 来对键盘进行映射和更改,实现和 Magic Keyboard 完全一样甚至是超越原生键盘的第三方键盘体验。

关联阅读:让键盘变成你想要的样子:改键利器 Karabiner-Elements

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

例如,我目前就将自己的 IKBC DC108 机械键盘的键位改成了下面这样:

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

修改方法也很简单。创建一个「hot key」为触发项的 Marco,然后在 Actions 中找到「Simulate Hardware Key」拖到右侧的「No Action」中,并在下面选择你想要映射的按键即可。

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

窗口管理工具(如 Mosaic / Magnet / Moom)

众所周知,macOS 的窗口管理功能一直都不尽如人意,因而诞生了大量的窗口排列软件,如 Mosaic / Magnet / Moom 这些。但实际上,Keyboard Maestro 同样提供了一套窗口管理的 Action,而且还可以精确到屏幕像素的级别。

关联阅读:为什么 Mosaic 是窗口管理的理想选择

在 Keyboard Maestro 中,你可以通过一个简单的 Marcos 来实现窗口管理。它默认提供了左右分屏、上下分屏、最大化、全屏和四角分屏,基本能涵盖绝大部分的需求。

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

如果你觉得这些还不能够满足,你也可以通过「SCREEN / SCREENVISIBLE」函数来对窗口进行精确的缩放和移动控制。

音频切换工具(如 AudioSwitcher)

如果你像我一样,有多个音频播放设备,那么如何进行音频切换就是一个麻烦事。好在现在 macOS 已经可以实现点击右上角的音量按钮来选择音频输出设备,不像以前一样还要按住 option 键。但不管怎样,这些操作都显得不够「优雅」。试想,只要你在键盘上按下一个按键,音频播放设备就会自动切换,原本在扬声器播放的音乐立刻就变成了从耳机输出,是不是很爽?

App Store 中,有一款叫售价 6 元的 AudioSwitcher app 虽然可以实现这个功能,但它的操作方式并不友好,还偶尔有失灵的问题。而且它还有一个最大的问题,就是它还会创建一个难以删除的音频输出选项,令强迫症无法忍受……

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

而 Keyboard Maestro 的实现方式则要有效且优雅许多。借助 Keyboard Maestro 中的「Execute an AppleScript」,它便可以让你在触发某项条件时快速运行一个 AppleScript 脚本,从而达到目的。

首先,我们需要设置一个以快捷键为触发选项的 Macro,并在 Action 中拖入「Execute an AppleScript」,然后复制以下的音频输出切换脚本(记得删除代码里的「-- XXXX」注释文字):

tell application "System Events" to tell process "SystemUIServer"
tell (menu bar item 1 of menu bar 1 whose description contains "volume")
click
set target to "LG HDR 4K" -- 修改为要切换设备的名称
set alternative to "MacBook Pro 扬声器" -- 修改为要切换设备的名称
set retry to 1 -- 重试次数,可为 0
set interval to 1 -- 重试间隔(秒),可为小数
if exists (menu item 1 of menu 1 whose title is target and value of attribute "AXMenuItemMarkChar" is "✓") then
set target to alternative
end if
repeat with counter from 0 to retry
try
click (menu item target of menu 1)
exit repeat
end try
if counter < retry then
delay (interval)
else
key code 53
end if
end repeat
end tell
end tell

设置完成后,当你按下对应的按键,就可以立刻切换到另一个音频输出设备上进行播放了。

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

插个故事:一键切换音频的这个想法是在看到了王自如的 Office Tour 之后诞生的,大概是 2016 年初。当时用了 Automator(俗称「扛炮机器人」)+ Karabiner 来实现,还在 Zealer+ 论坛写了一篇很长的文章,但是后来 Zealer+ 关闭了,文章也找不回来了。现在的这个脚本是我派作者 JayQi 所写,实现的方式和数量都比我初改的要好,因此要特别感谢一下他。

防误退出工具(如 SlowQuitApps)

误触 Command + Q,确实是一件让人头大的事情。比如当你想要用 Command + W 关闭一个 Safari 窗口时,一不小心手抖按到了旁边的 Q,就把所有窗口都给关掉了,这种体验真的是很难受……

而且,「手抖党」似乎也不是只有我一个人,看来大家都对 Command + Q 这个按键感到了无奈,不然就不会有这么多防止误按 Command + Q 的 app 出现了吧……

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

不过有了 Keyboard Maestro,这些 app 你统统都不需要了。不仅如此,你还可以根据自己的需求,设置哪个 app 需要退出确认,哪一些则可以直接退出。

这里需要使用的就是 Keyboard Maestro 里的「IF」条件判断。创建一个叫「防手抖」的 Macro,在上面的「New Trigger」中选择「Hot Key Trigger」,并将快捷键设为 Command + Q。

然后,拖一个「If Then Else」的 Action 到右边,在下面的「New Condition」中选择「Application Condition」。接着,选择需要退出提醒的 app,并按照下图所示,在下方加入一个 Alert 给予提示,然后再在下面用「Type a Keystroke」Action 来模拟按下 Command + Q。

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

这样一来,在你按下 Command + Q 之后,Keyboard Maestro 就会运行一次「防手抖」,如果是你选中的 app,就会提醒你确认之后再退出,而不需要确认的则会正常立刻退出。

应用切换工具(如 Manico)

macOS 也提供了一种类似 Windows 的 app 切换快捷键:Command + Tab。但是一旦 app 开启的数量较多,切换起来就变得异常麻烦,需要不停地按 Tab,不仅繁琐,效率也大打折扣。而 Manico 这类软件就是为了解决这个问题诞生的。它不仅可以快速地在打开的 app 间进行切换,如果你没有打开对应的应用,Manico 还可以帮你打开。

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

不过,有了 Keyboard Maestro 之后,Manico 大概率就要失业了……除了有个好看的界面之外,前者在功能上基本可以替代后者。

创建一个 Marco,选择触发行为为「Hot Key Trigger」,然后输入你想要启动对应 app 的快捷键,接着在左边找到「Activate a Specific Application」并拖到右边进行设置,在「Activate」旁选择你需要切换到前台的 app,并勾选下面的两个选项,就可以通过指定的快捷键快速切换窗口。

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

剪贴板工具(如 Paste)

Paste 是一款 macOS 上颜值相当高的剪贴板软件,但它对空间的占用却「令人发指」。其实和上面一样,Keyboard Maestro 也有一套剪贴板记录工具,除了没 Paste 好看之外,其他啥都不差。

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

这里的设置相当简单,只需要创建一个 Marco 并设定快捷键,然后在 Action 中选择「Activate Clipboard History Switcher」即可。用法和 Paste 类似,复制时自动记录,双击即可粘贴。

Mac 上的自动化「神器」,用了之后这些 App 再也不用单独装

OCR 工具(如 iText)

是的……你没看错,Keyboard Maestro 甚至还能替代 iText 进行 OCR 文字识别。当然了,识别的工作它干不了,但通过调用百度的 OCR API,便可以让 Keyboard Maestro 获得此等「神功」。

而且对比与 iText 免费版只有每月 20 次的限制,Keyboard Maestro + 百度 OCR API 每天可以免费调用 5 万次……

具体的操作方式和过程这里就不多在复述,大家可以按照 这篇文章,相信也能理解。不过要运行这个 Marco,需要两个前提条件:一是需要安装 Python 3,二是要注册百度云的 API。好在这两个并不麻烦,而且教程也写得很详细。

结语

其实,借助 AppleScript 和 Shell Script,Keyboard Maestro 可以替代的可不仅仅只是上面这些 app。例如使用 exiftool 或 mogrify 就可以做成一个一件清除照片 exif 的工具,干掉 Photo Zapper 这一类的 app。但限于篇幅长度,这里就不再举例,可以爬一爬 Keyboard Maestro Wiki 和对应的命令 Wiki 自己鼓捣。

总之,270 元的 Keyboard Maestro,给你换来的是无尽的想象力,毕竟「Maestro」这个名字可不是白叫的。


分享到:


相關文章: