使用Applescript激活桌面


1

基本上,我有这个简短的脚本来“清理”桌面。这是代码:

tell application "System Events"
    tell application "Finder" to activate desktop
    delay 0.1
    tell process "Finder" to click menu item "Clean Up" of menu "View" of menu bar item "View" of front menu bar
end tell

没有Finder窗口打开时,脚本工作正常。但是,如果至少有一个Finder窗口,那么该行 tell application "Finder" to activate desktop 运行时,它会使该窗口处于活动状态,而不是桌面。

这是什么原因?将焦点放在桌面上的正确方法是什么(与点击桌面图像相同的效果)?

(在El Capitan上这样做)

Answers:


0

这是我可以在我的“Capitan”上工作的一些代码:

tell application "System Events"
  tell application "Finder" to activate
  repeat while (value of attribute "AXfocused" of group 1 of scroll area of ¬
     process "Finder" is {false})
        keystroke "<" using command down
  end repeat
end tell

重复循环检查是否“滚动区域的组1” - 这让我感到惊讶 “是”桌面 - 是“AXFocused”(意思是发现者活跃的“窗口”)。
如果不 所以,它击键“cmd&lt;” (在德语键盘上),与finder的相同:
&lt; menu:“Windows”/“Next window”&gt;菜单项。
您将看到部分或全部窗户 带到了前面

(我尝试了各种“点击”,“选择”等之前无济于事...)


谢谢!这是迄今为止我见过的最佳解决方案。我命令让它适用于任何键盘,我更换了 keystroke "<" using command downtell process "Finder" to click menu item "Cycle Through Windows" of menu "Window" of menu bar item "Window" of front menu bar
CrazyJony

0

您可以通过以下方式告诉Finder最小化所有窗口:

tell every window
    set collapsed to true
end tell

然后 activate desktop 和通常的。

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.