OSのどこからでも特定のウィンドウにフォーカスするコマンドを作成する


10

Web向けに開発している間、テキストエディターとブラウザーの間を頻繁に行き来します。毎回特定の定義可能なウィンドウにジャンプできるように、OSレベルでキーボードショートカットを設定したいのですが。そのアプリケーションに何かを実行するように指示を発行する機能はさらに優れていますが、後で使用するために保存します。

これを可能にするテクノロジーはありますか?CとAppleScriptの間には、この種の対話を作成できるものがあるはずです。誰がどこから始めればよいか知っていますか?

ありがとう。

回答:


2

Automatorを試してみてください。Dockからアプリをクリックする新しいサービス(後ですべてのアプリに公開してキーボードショートカットを割り当てることができる)を「記録」することができます。実際、アクションを追加して「そのアプリケーションに何かを実行するように伝える」ことができます。

Dockで[ メール ]をクリックしてから、ツールバーの[ 新着メールを取得 ]アイコンをクリックするもの(比較的役に立たないが機能する)を作成してみました。楽しい;)

添付されているのは、Automatorの結果のショットです。

Automator

右上隅にある[ 録音 ]ボタンを使用して自分で操作しました(メールのドックアイコンをクリックし、ツールバーの[メールの新着メール]アイコンをクリックして、[録音の停止]をクリックしました)。入力には興味がなかったので、最初のコンボボックスで[サービスは[入力なし]を受け取ります]を選択したことに注意してください。

これにより、TextEditorとブラウザーを行き来するいくつかのサービスを利用できるようになります。

Automatorは、Spotlightを使用してAutomatorと入力することで検索されます(/Applications/Automator.appにもあります)

この場合、私は新しい「サービス」を作成しましたが、おそらく「スクリプト」を作成することで回避できます。どちらが速いかわかりません。実験。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でさまざまなキーボードショートカットまたはトラックパッドジェスチャーを設定します。起動できるアクションの1つは、ターミナルコマンドの実行です。

したがって、コマンドの設定で次のように指定します。

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'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.