是否有快捷方式或类似的方法可以将当前活动的窗口发送到屏幕背面,同时仍保持其打开状态(以便使其最终位于所有其他打开的窗口下方)?
是否有快捷方式或类似的方法可以将当前活动的窗口发送到屏幕背面,同时仍保持其打开状态(以便使其最终位于所有其他打开的窗口下方)?
Answers:
简短答案:不,Apple除了提供将窗口置于最前面(索引1)之外,没有提供允许您更改应用程序窗口索引的API 。没有优雅的解决方案。但:
龙回答:是的,你可以使用的AppleScript来有效地移动窗口到后面的AppleScript的能够窗户栈通过收集窗口的列表,然后迅速移动的每一个(除了最前端)到前面,让所选择的窗口在后面。
这是一个AppleScript的示例,该示例将最前面的Finder窗口发送到后面。
tell application "Finder"
set winList to every window whose visible is true
if not winList = {} then
repeat with oWin in (items 1 through -2 of reverse of winList)
set index of oWin to 1
end repeat
end if
end tell
该脚本基于JMichaelTX在KeyboardMaestro论坛上讨论的解决方案。
改组非常快,但是在脚本编辑器中,您可以检查其工作方式,在底部保留“ 506”,并以保留其顺序的方式弹出“ 502-505”:
get every window whose visible = true
--> {Finder window id 506, Finder window id 505, Finder window id 504, Finder window id 503, Finder window id 502}
set index of Finder window id 502 to 1
--> 1
set index of Finder window id 503 to 1
--> 1
set index of Finder window id 504 to 1
--> 1
set index of Finder window id 505 to 1
--> 1
您可以通过以下方式将此AppleScript映射到服务或键盘快捷方式:a)将脚本放入Automator服务中的“运行AppleScript”操作中,或b)使用启动器(Alfred,Keyboard Maestro等)。有关Applescript键盘分配的详细信息,请参见:如何为我编写的AppleScript分配键盘快捷键?
这可能满足OP的需求-从原始帖子尚不清楚。该解决方案还可以扩展到多个支持AppleScript的应用程序。但是,由于在AppleScript中,非脚本化应用程序的可寻址窗口不具有动词/属性,因此我不知道一种解决方案,无法使其与可脚本化窗口和不可脚本化窗口混合使用。辅助设备/辅助功能打开时,某些窗口存在“ AXRaise”操作,但这并不适用于所有窗口。存在精心设计的黑客程序,其中涉及遍历每个活动的应用程序以及显示/隐藏或最小化/还原窗口,但这是一团糟。System Events
set index
相关讨论:
您的问题不是很清楚,但是如果您想要的是在当前活动应用程序的所有窗口中循环显示的快捷方式,则应该可以使用Command~键盘快捷键来执行此操作。
该~密钥通常位于左边的1键。
为了明确起见,Command~键盘快捷键的作用是在您当前所在应用程序的所有窗口之间循环。例如,如果您使用的是MS Word,并且打开了三个文档,它将在这三个文档之间循环。
但是,Command~键盘快捷键不会在选项卡之间循环。例如,如果您使用三个窗口打开了Safari,并且每个窗口都打开了五个选项卡,则使用此快捷方式将在三个窗口之间循环,而不是单个选项卡。
可能会实现所需功能的另一个选项是CommandM键盘快捷键。但是,这最小化了当前Dock的活动窗口,因此我怀疑这不是您想要的。
如果我完全误解了您的问题,请澄清。