如何使用applescript将焦点设置到给定应用程序的特定窗口?
我在不同的显示器上运行了几个iTerm2窗口.我想使用applescript将焦点设置到指定的窗口.
我需要两件事,一个收集窗口ID的脚本并将它们打印到stdout.我有这个:
tell application "iTerm"
set wins to id of every window
end tell
Run Code Online (Sandbox Code Playgroud)
它打印6个整数:3034,2528,-1,-1,-1,-1
奖金问题:四个-1是什么?
然后我尝试:
tell application "System Events"
activate window 3034
end tell
Run Code Online (Sandbox Code Playgroud)
唯一发生的事情就是我失去了当前终端的焦点(我正在键入这些命令),无论我是指定3034还是2528作为ID.
你几乎已经拥有了。您可以通过仅查看可见窗口来过滤掉“-1”窗口 ID:
tell application "iTerm 2"
set wins to id of every window whose visible is true
end tell
Run Code Online (Sandbox Code Playgroud)
我通过查看以下结果发现了这一点:
tell application "iTerm 2" to properties of every window
Run Code Online (Sandbox Code Playgroud)
我注意到“-1”窗口具有以下属性visible:false
然后你可以直接将窗口 ID 告诉 iTerm 应用程序,而不是系统事件:
tell application "iTerm 2"
activate window 13195
end tell
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9416 次 |
| 最近记录: |