8

AppleScript を使用して特定のアプリケーションの特定のウィンドウにフォーカスを設定するにはどうすればよいですか?

異なるディスプレイでいくつかの iTerm2 ウィンドウを実行しています。AppleScript を使用して、指定したウィンドウにフォーカスを設定したいと考えています。

ウィンドウ ID を収集して標準出力に出力する 1 つのスクリプトです。私はこれを持っています:

tell application "iTerm"
  set wins to id of every window
end tell

6 つの整数を出力します: 3034、2528、-1、-1、-1、-1

おまけの質問: 4 つの -1 は何ですか?

それから私は試します:

tell application "System Events"
  activate window 3034
end tell

ID として 3034 を指定するか 2528 を指定するかに関係なく、現在の端末 (これらのコマンドを入力している端末) のフォーカスが失われるだけです。

4

1 に答える 1

2

あなたはほとんどそれを持っています。表示されているウィンドウのみを見ることで、「-1」ウィンドウ ID を除外できます。

tell application "iTerm 2"
  set wins to id of every window whose visible is true
end tell

私はこれを次の結果を見て理解しました。

tell application "iTerm 2" to properties of every window

「-1」ウィンドウにはプロパティがあることに気付きましたvisible:false

次に、システム イベントではなく、ウィンドウ ID を iTerm アプリケーションに直接伝えることができます。

tell application "iTerm 2"
  activate window 13195
end tell
于 2013-02-26T23:33:10.923 に答える