Applescript移动取景器窗口或屏幕回到第一个屏幕

时间:2015-03-16 03:52:58

标签: applescript

我正在编写一个脚本,希望将来可以从错误中解决用户问题。我现在正在做的最重要的一点是,Finder或AppleScript的“选择文件”命令框(无关紧要)不包含“放弃后”选项。因此,虽然我可以将超时设置为非常大的秒数(例如5000),但是如果没有Apple Events超时,我无法关闭并重新打开该框。

所以这是我尝试过的一个选项。但我遇到的问题是,如果我刷到另一个屏幕,即使我激活了查找器,也会说它找不到窗口“选择文件”

有没有办法让窗口跟随滑动或带有激活的命令,即使我在Safari中工作,也会将取景器窗口带到当前屏幕?

当我滑动到另一个屏幕时发生错误;看到下面的错误:

错误“系统事件出错:无法获取窗口\”选择进程\“Finder \”的文件。“编号-1728来自窗口“选择文件”的过程“Finder”

脚本:

试     超时为5秒         告诉应用程序“Finder”             将theFilestoChoose设置为每个项目(选择带有提示的文件“请选择要移动的文件并重命名:”,允许多个选项)作为列表         结束告诉     结束超时 错误errStr number errorNumber     如果errorNumber是-1712则--timeout错误         我的closeWindow() - 关闭窗口的调用处理程序     万一 结束尝试

closeWindow()上的

    告诉应用程序“系统事件”         延迟2 - 用于观察测试目的
        将最前面的进程“Finder”设置为true         延迟2 - 用于观察测试目的         点击进程“Finder”窗口“选择文件”的“取消”按钮     结束告诉 结束closeWindow

1 个答案:

答案 0 :(得分:0)

您必须查看默认设置AutoSwoosh = true; defaults write com.apple.Dock workspaces-auto-swoosh -bool YES ; KillAll Dock这会让你转到活动应用,如果它不在当前空间,应用本身(在这种情况下是Finder?),不应该被分配到空间。< / p>

如果这是您的基本配置,那么之前的简单activate应该直接带您进入选择文件对话框,如果它在另一个空间中。

以下是使用tell应用程序(最前面的应用程序的路径作为文本)嵌入选择文件的充实示例:

  tell application (path to frontmost application as text)
      set theF to (choose file)
  end tell