一日一技|巧用 Keyboard Maestro,快速在备忘录中记录窗口的选中内容
内容提要
Matrix推荐使用Keyboard Maestro工具自动记录重要信息的方法,通过Apple Script获取窗口名称、截图和选中内容,并保存在备忘录中,解决了备忘录无内容时的报错问题。
延伸解读
为什么选择备忘录而非其他笔记工具
作者选择备忘录App,主要看重其在Apple生态中的原生体验和多端同步机制。这意味着记录的内容可以在iPhone、iPad和Mac之间自动同步,无需额外配置。对于需要快速捕捉信息的场景,这种无缝集成减少了操作步骤,也降低了学习成本。不过,这也意味着该方案主要适用于深度使用Apple生态的用户。
Apple Script在自动化中的角色
Keyboard Maestro本身不便于直接获取窗口名称和对应软件名称,因此作者借助Apple Script来补全这些信息。Apple Script与macOS深度集成,可以控制系统事件和应用程序。作者还提到,可以利用ChatGPT来辅助编写Apple Script代码,只需提供思路即可。这降低了非专业开发者编写脚本的门槛,但前提是用户需要理解基本逻辑并能描述清楚需求。
一个容易被忽略的报错场景及处理
在实际操作中,作者发现当备忘录已经打开一个新建的、但没有任何输入内容的备忘录时,程序无法执行“新建备忘录”指令,从而导致报错。解决方法是在自动化流程中加入“Try…Catch…”指令:先默认没有新建的备忘录进行操作,如果检测到已存在,则直接粘贴内容。这个细节提醒我们,在设计自动化流程时,需要考虑到应用当前状态可能带来的边界情况。
Q&A
如何用 Keyboard Maestro 自动记录窗口中的选中内容到备忘录?
设置一个快捷键(如 ⌘+⌥+⇧+C),触发 Keyboard Maestro 宏。宏会通过 Apple Script 获取当前窗口名称和应用名称,截取窗口截图,并将选中内容存入自定义剪贴板,然后自动在备忘录中新建笔记,标题为窗口名称+应用名称+时间,正文包含截图、选中文字和应用名称标签。
为什么选择备忘录 App 来保存这些记录?
因为备忘录在 Apple 生态中有原生的体验和优秀的多端同步机制,方便在不同设备上查看和编辑。
这个自动化流程需要哪些工具?
需要 Keyboard Maestro 和 Apple Script。Keyboard Maestro 用于编排自动化流程,Apple Script 用于获取窗口名称和应用名称等 Keyboard Maestro 不易直接获取的信息。
如何获取当前窗口的名称和所属应用名称?
使用 Apple Script 脚本。获取窗口名称的脚本通过 System Events 获取最前端的应用进程,然后获取该进程的前端窗口名称;获取应用名称的脚本则直接获取最前端应用进程的名称,并去除其中的空格。
当备忘录已经打开一个空白新建笔记时,自动化流程会报错吗?如何解决?
会报错,因为此时无法选中“文件——新建备忘录”菜单项。解决方案是使用“Try … Catch …”指令:先尝试新建备忘录,如果失败(即已有空白笔记),则直接粘贴内容到当前笔记。
在哪里可以下载这个 Keyboard Maestro 宏文件?
文章底部提供了 GitHub 链接,可以下载 kmmacros 文件,一键导入使用。