Keyboard Maestro 11 更新,这些功能值得关注
2023 年 10 月 24 日,Stairways Software 发布了 Keyboard Maestro 的大版本更新——Keyboard Maestro 11。
经过一年多的打磨,除了修复常规的 bug 以外,Stairways Software 团队为 Keyboard Maestro 本次大版本更新带来了诸多新功能。这其中包括了全新的宏向导(New Macro Wizard)、安全偏好设置面板(Security preference pane)、keyboardmaestro
命令行工具,以及全新支持的 Apple 文本识别功能等等。
价格方面,Keyboard Maestro 11 沿袭了一贯的买断制,售价依然是 36 美元,今年 3 月 1 日之后购买的用户可以免费升级,Keyboard Maestro 10 老用户在 2023 年 12 月 15 日之前可以以 18 美元的优惠价格升级,之后的常规升级价格将为 25 美元。
值得注意的是,由于 Keyboard Maestro 采用的是老式软件的销售方式(old-fashioned),只需一次性付款,想升级时再升级。因此如果你在使用 Keyboard Maestro 10.x 或之前的版本,出于各种原因不想升级 Keyboard Maestro 11,也可以继续使用老版本,完全没有问题。
尽管如此,对于 Keyboard Maestro 这样一款相当优秀的软件来说,还是非常建议升级到最新版本的,因为这既是支持软件开发者的一种方式,让后续开发良性发展下去,同时也能让我们在第一时间体验到 bug 修复和全新推出的功能。在 Hacker News 上,针对 Keyboard Maestro 11 发布的消息,不少网友都给出了极高的评价。
在下文中,我们将介绍 Keyboard Maestro 11 中值得关注的新功能。无论你是 Keyboard Maestro 的老用户,还是刚刚接触这款软件,相信都能对你有所帮助。
给自己打个小广告——作为一款超过 20 年历史的老牌 macOS 自动化应用,Keyboard Maestro 的功能非常复杂,能够实现的功能也相当丰富,无聊是文本扩展、窗口管理,还是处理 PDF、控制浏览器操作,它都能应对自如,可以说 Keyboard Maestro 的功能上限仅仅受限于我们的 创造力。
但对于 Keyboard Maestro 新手来说,首次打开 Keyboard Maestro,面对陌生繁杂的界面,往往不知所措。如果你想要系统学习如何使用这款 macOS 顶级自动化应用,欢迎购买我撰写的专栏《Keyboard Maestro 拯救效率——完全上手顶级 Mac 自动化工具》(少数派年度会员可以免费阅读)。
尽管 Keyboard Maestro 11 的更新日志将全新的宏向导(New Macro Wizard)作为第一个更新功能,但这个功能实际上非常简单。如下图所示,New Macro Wizard 就是左下角红色箭头所在位置的图标,点击之后会弹出如图所示的窗口,用于快速创建 macro。比如在下图中,我们将 trigger 设置为快捷键 ⌃ + ⌥ + D
,action 设置为「Activate an application」。
可以发现,新增加的向导功能对于新手非常友好,可以通过这种方式快速创建简单的 macro。不过,在熟悉了如何使用 Keyboard Maestro 创建 macro 之后,New Macro Wizard 的作用就不是太大了。
在 Keyboard Maestro 11 之前,Keyboard Maestro 使用的是开源 OCR 引擎 Tesseract,需要在使用前下载特定的语言包。遗憾的是,Tesseract 对中文字符的识别效果不佳,而目前的 macOS 已经原生支持 OCR 框架。因此,Keyboard Maestro 11 更新带来了支持调用 macOS 内置 OCR 的功能。
在上图中,我们制作了一个用于识别选定屏幕区域文字的 macro,首先执行 Shell 脚本 screencapture -ic
,在交互式模式下获取屏幕截图,并保存到剪贴板中,然后使用「OCR Image」action 对上一步系统剪贴板中的图片进行 OCR,选择的语言为「Apple Text Recognition」,最后将识别得到的文字保存到系统剪贴板中。
在 Keyboard Maestro 中,内置的剪贴板历史记录面板叫做「Activate Clipboard History Switcher」,快捷键为 ⌘ + ⌃ + ⇧ + V
,激活之后会出现下图所示的窗口。
在 Keyboard Maestro 11 中,我们可以点击右上角的搜索框,在左侧点击下拉菜单,勾选「Images Only」或「Favorite Only」,只显示剪贴板历史记录中的图片或收藏过的条目。
关于剪贴板,Keyboard Maestro 11 还增加了一个名为「Remove Clipboard Flavors」的 action,用于从剪贴板中移除特定类型的数据,可以是系统剪贴板、Trigger Clipboard 或 Named Clipboard,如下图所示。
Keyboard Maestro 11 引入了一个名为「Prompt For Snippet」的全新 action,可以用来实现更加灵活的文本扩展。
在上图中,我们在添加的「Prompt For Snippet」action 中填写了一封预设的邮件模板,内容如下:
Hello %Ask20=curr_folder_name%,
Can you please contact me on %Ask10:Tuesday% at %Ask5:7:50% to discuss:
%Ask4%
Thanks!
在这段文字中,一个有 4 个占位符,也就是 Keyboard Maestro 中的 %Ask% token:
%Ask20=curr_folder_name%
:20 个字符宽的文本字段,初始值来自变量 curr_folder_name
%Ask10:Tuesday%
:12 个字符宽的文本字段,初始值为 Tuesday
%Ask5:7:50%
:5 个字符宽的文本字段,初始值为 7:50
%Ask4%
:4 个字符宽的文本字段容易发现,%Ask%
token 的写法形如 %Ask<Size><=Variable Name>
或 <:Default Value>%
。其中,size
是字符数或行数,默认为 20。因此,键入 se/
激活上面这个 macro,就会弹出如下图所示的窗口,我们只需修改或填写其中的文本框,最后点击「OK」,就可以快速插入一个邮件模板。
Keyboard Maestro 11 带来了多项与脚本执行相关的改进。例如,现在支持在 AppleScript 的 smart groups 中使用 macros
,以及在 AppleScript 脚本字段中通过 option-Return
插入 ¬
字符,此外,AppleScript 的 do script
现在可以从 Return 操作中返回结果。默认情况下,新的「Execute a JavaScript」actions 使用现代语法,并且不包含任何变量,这是为了避免对网页内容产生不必要的干扰。此外,此次更新还新增了对限制传递给脚本的变量的支持,以及在变量标记数组项目分隔符中用 \
转义换行符。
除了以上这些脚本执行方面的更新,Keyboard Maestro 11 还提供了一个全新的命令行工具 keyboardmaestro
,用于触发或编辑 macros。你可以打开终端,粘贴下面这行命令查看 keyboardmaestro
的帮助说明:
/Applications/Keyboard\ Maestro.app/Contents/MacOS/keyboardmaestro --help
其中 /Applications/Keyboard\ Maestro.app/Contents/MacOS/keyboardmaestro
是可执行文件 keyboardmaestro
的绝对路径,点击回车之后的输出结果如下:
从 keyboardmaestro
的使用说明来看,我们可以使用它来触发或编辑 macros,支持通过 macro 名称、UUID 或要执行的操作的 XML 来指定。
由于 macOS 越来越收紧的 系统权限,如今的 Mac 应用程序基本上都会把系统授权的功能列在一起并且提供文字说明,方便用户排查。在 Keyboard Maestro 11 中,设置面板(Preferences)中新增加了「Security」选项。
在「Security」选项下,包括下列这些可能需要用到的系统权限,你可以点击右侧的「Ask for Permission」授予权限,或者点击「Open System Settings」打开系统设置:
如下图中的「Disable On All Macs」所示,这是一个关于同步的设置,可以在所有 Mac 上禁用 macro group,它也会将该 macro group 在新添加的 Mac 默认设置为禁用。
对于同时使用 Intel 和 Apple Silicon 芯片的 Mac 用户来说,这个功能非常实用,你可以默认勾选它,之后如果你需要在指定的 Mac 上启用,可以取消勾选这个选项。
由于 Keyboard Maestro 一个 macro 中可以执行另一个 macro,因此删除被执行的 macro 会导致 macro 执行失败,此次更新新增的删除提醒功能可以有效避免这个问题。
如果 Mac 上正在运行的应用程序被移动或重命名,可能会导致 应用崩溃 或出现意外的状况。为了避免这个操作可能导致的问题,Keyboard Maestro 11 会在它被移动后弹出一个警告窗口,提示用户重启应用程序,如下图所示。
除了以上两项更新,Keyboard Maestro 11 还改进了浏览器相关操作中的错误检测,查找和定位操作浏览器相关 macro 的错误更加可靠,总的来说,此次更新对安全性和用户数据保护更加完善。
Keyboard Maestro 11 新增了在菜单栏选项(Keyboard Maestro Engine)中显示 macro 的图标的选项,macro 之间的视觉差异更加明显,可以让用户更加快速地找到对应的 macro,提高点击速度。你可以在「Setting…… -> General」中打开,如下图所示。
如果你想要查看哪些 Macro Group 处于激活状态,在 Keyboard Maestro 11 中,可以点击菜单栏选项「Help -> Show Active Macro Groups」,如下图所示。
如果 Keyboard Maestro Editor 处于未打开的状态,那么可以点击菜单栏中的 Keyboard Maestro Engine 图标中的「Show Active Macro Groups」,如下图所示。
在 Keyboard Maestro 的设置中,一共有 4 种面板类型(Palette):
你可以双击上图中对应的面板,打开下图所示的「Theme Editor」,自定义面板主题样式,例如在下图中,我将「Default Palette Style」设置为 Keyboard Maestro 11 新增的「Blue Topaz」主题。值得一提的是,Keyboard Maestro 11 中的「Blue Topaz」主题 来源于 颇受欢迎的同名 Obsidian 主题。
在 Keyboard Maestro 10.x 中,点击「For Each」action 右上角的齿轮按钮,可以开启「Display Progress」选项。然而,在此前的版本中,即使用户将该 action 重命名,进度条窗口中仍然只会显示「Keyboard Maestro For Each Progress」,用户往往难以弄清楚究竟是哪个「For Each」action。
Keyboard Maestro 11 改进了这个进度条显示功能。在上图所示的 macro 中,我将「For Each」action 的标题修改为「Dump PDF Metadata」,并开启「Display Progress」。通过这样的设置,在运行该 macro 导出 PDF 元数据时,会弹出下图所示的一个窗口,显示 macro 的运行进度,标题为自定义的「Dump PDF Metadata Progress」,起到的提示效果更加明显。
The text is
在此前的版本中,如果在某些 action 中选择「Display text in a window」,那么运行 macro 之时弹出的窗口中,会在上方显示 The text is
,如下图所示。
Keyboard Maestro 11 改进了这个窗口的样式,更新后的显示效果如下图所示。可以看到,窗口上方的 The text is
被移除了,整个界面显得更加简洁,看上去更加现代。
除了以上这些更新外,Keyboard Maestro 11 还有很多其他值得关注的更新亮点。主要包括 triggers、actions 和 tokens 这 3 个方面。
e + m + ⇧
来输入一段替换文本。以上介绍了 Keyboard Maestro 11 的新功能,总的来说,操作逻辑没有大的变化,主要更新内容是增加了部分全新功能,以及针对现有功能的优化和改善。
由于篇幅和时间的限制,本文无法对所有新功能一一介绍,如果你想要了解 Keyboard Maestro 11 的所有更新内容,可以前往 Keyboard Maestro Wiki 或 Keyboard Maestro 论坛 查看完整的更新日志。
最后,如果你想要系统学习如何使用 Keyboard Maestro,欢迎购买我撰写的专栏《Keyboard Maestro 拯救效率——完全上手顶级 Mac 自动化工具》(少数派年度会员可以免费阅读)。