![macOS:如何使用键盘快捷键调出特定程序?](https://linux22.com/image/1623071/macOS%EF%BC%9A%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E9%94%AE%E7%9B%98%E5%BF%AB%E6%8D%B7%E9%94%AE%E8%B0%83%E5%87%BA%E7%89%B9%E5%AE%9A%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
如何使用单个键盘快捷键将特定窗口或程序移到前方(并“激活”)?
我编写了一个 AHK 脚本来在 Windows 上执行此操作:例如,我会将一个窗口热键设为Win
+ 1
,然后每当我按下Win
+ 时1
,我就会激活该窗口。
我现在想在 MacOS 中做同样的事情。我有几个常用的窗口,我想确定性地访问它们:“每次按下 X 热键,都会出现 Y 窗口。”
例如:Slack。Slack 只有一个窗口,所以应该很简单。
在 Windows 上,我有点想当然,因为有时我想要一个 Chrome 窗口,所以我会让Ctrl
+ 1
“设置”当前活动窗口,使其在按下Ctrl
+时升起1
,但对于第一次迭代,我只想做单窗口应用程序(或应用程序的每个窗口 - 无论哪个更容易)。
详细信息:当我将窗口“移到前面”时,我希望能够在该窗口中键入内容,而无需单击它。它应该完全“活跃”,就像我单击它一样。
我知道Alt
+Tab
和其他 Apple 热键,但它们不是确定性的。没有办法按下某个键盘组合键,然后总是获取相同的窗口。我不想滚动浏览打开的窗口列表或任何其他内容。我想要 X 应用程序,现在,立即。
答案1
我找到了一种有效的方法(适用于特定程序的所有窗口)。
- 按如下方式创建 AppleScript(例如
/Users/<username>/activate_chrome.scpt
:
tell application "Google Chrome"
reopen
activate
end tell
抓住https://github.com/deseven/icanhazshortcut(我目前正在跑步
1.1.0
)创建您选择的快捷方式并指向它运行
osascript /Users/<username>/activate_chrome.scpt
我在 Automator 应用程序中尝试了同样的事情,但是存在很多权限问题,并且只有当我激活某些应用程序时才会激活快捷方式,而其他应用程序则不会。
答案2
我制作了一个开源工具,可以在 Windows 和 Linux 上实现这一点。有不久前我们发布了一个可以运行的 MacOS 版本,但由于缺乏 MacOS 生态系统经验而停止了该版本。
如果您具备这些技能,请看一下这个:https://github.com/xurei/hyperkeys/
就像我说的,它不能在开箱即用的 MacOS 上运行,但我之前让它运行过,所以我想它可以恢复。
如果您需要我的帮助,请随时填写 Github 问题 ;-)