创建命令以在OS中的任何位置聚焦特定窗口


10

在开发Web时,我倾向于在文本编辑器和浏览器之间来回切换。我想在操作系统级别设置一个键盘快捷方式,该快捷方式使我每次都能跳转到一个特定的,可定义的窗口。更好的能力是发出一个告诉该应用程序执行某项功能的能力,但我将其保存以备后用。

是否有可用的技术能让我做到这一点?在C和AppleScript之间必须有某种东西可以让我创建这种交互。有人知道从哪里开始吗?

谢谢。

Answers:


2

您应该尝试一下Automator。您可以“记录”一项新服务(您可以稍后为所有应用发布该服务并分配一个键盘快捷键),该服务会从Dock中单击该应用。实际上,您可以添加更多操作并执行“告诉该应用程序执行某些操作”。

我尝试创建一个(相对来说没什么用,但是可以工作)单击我的Dock中的Mail,然后单击工具栏中的获取新邮件图标。好玩;)

随附的是Automator结果的快照:

自动化器

我使用了右上角的“ 记录”按钮,然后自己进行了操作(单击“邮件”的停靠图标,然后单击工具栏中的“邮件”的“获取新邮件”图标,然后单击“停止记录”)。请注意,由于我对任何输入都不感兴趣,因此在第一个组合框中选择了“服务接收[无输入]”。

这为您提供了多种服务,它们可以往返于TextEditor和浏览器。

通过使用Spotlight并键入Automator(也位于/Applications/Automator.app中)来定位Automator。

在这种情况下,我创建了一个新的“服务”,但是您可能可以通过创建“脚本”来摆脱困境。不知道哪一个会更快。实验。Automator是您的朋友。


5

您可能会使用AppleScript执行以下操作:

tell application "Terminal"
    activate
    windows where name contains "bash"
    if result is not {} then set index of item 1 of result to 1
end tell

或使用系统事件:

tell application "System Events" to tell process "Terminal"
    set frontmost to true
    windows where title contains "bash"
    if result is not {} then perform action "AXRaise" of item 1 of result
end tell

1

我使用BetterTouchTool在Mac OS X上设置不同的键盘快捷键或触控板手势。它可以启动的操作之一是执行终端命令。

因此,在命令的设置中,我提供了以下内容:

osascript -e 'tell application "NameOfTheApplicationHere" to activate'

这是来自BetterTouchTool首选项的示例:

在此处输入图片说明


1

我很难将其与iTerm2一起使用。这是单个命令解决方案:

  osascript -e 'tell application "System Events" to tell process "iTerm2"' \
            -e 'set frontmost to true' \
            -e 'if windows is not {} then perform action "AXRaise" of item 1 of windows' \
            -e 'end tell'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.