【问题标题】:How to change space with applescript如何用applescript改变空间
【发布时间】:2011-08-05 04:03:22
【问题描述】:

我有以下 applescript 可以跳过 spotify 中的歌曲。如果我在全屏应用程序位于最前面时调用脚本,则脚本完成后应用程序将不可见。它将在不同的空间。有没有一种方法可以让最前面的应用程序再次使用 applescript 可见?

将 front_app 设置为(最前面的应用程序的路径为 Unicode 文本) 告诉应用程序“Spotify” 下一首曲目 结束告诉 告诉应用程序 front_app 激活

【问题讨论】:

标签: applescript


【解决方案1】:

这可能不会让您到任何地方,但您可以使用此脚本循环遍历所有空间,直到看到您的目标应用程序...

set front_application to current application
tell application "Spotify" to next track
tell application "Finder" to set collapsed of front_application to false --makes sure the app isn't minimized
repeat
    tell application "System Events" to keystroke (ASCII character 29) using {control down}
    display dialog "Correct space?" buttons{"OK"} default button 1 giving up after 4 --don't click 'OK' if the current space isn't showing the target application
    if gave up of the result is false then exit repeat
end repeat

【讨论】:

  • 感谢您的回答,但我正在寻找一种不显眼的方式跳过一首歌曲,所以弹出对话框不是我想做的事情。
  • 你可以在repeat循环之前tell application "System Events" to key code 53
【解决方案2】:
set front_app to current application

tell application "Spotify"
   next track
end tell

tell front_app to activate

【讨论】:

  • 代码看起来好多了,但行为相同。如果 front_app 是一个全屏应用程序,它在脚本执行后仍然不可见。
  • @Kim:啊,好的。我没有安装 Lion,因此无法使用全屏应用程序进行检查。顺便说一句,你是如何启动脚本的?例如。内置脚本菜单、Quicksilver、FastScripts 还是什么?我想知道也许是启动器而不是脚本正在从前面的应用程序中窃取焦点而不是返回它。话又说回来,这可能只是 Lion 的全屏应用程序的问题。
  • 我从 Alfred 启动脚本。我有下一首歌曲、上一首歌曲、暂停等的脚本。只要当前应用程序不是全屏应用程序,它就可以发挥作用。
  • @kim:奇怪。尽管 Apple 忘记了 AppleScript 支持并不是什么新鲜事。但是这样怎么样:不是获取应用程序,而是获取应用程序的前窗口,并在调用 Spotify 后告诉 那个 激活?同样,我无法检查自己,但值得一试。或者,从火影的答案中获取提示,您可以查看系统事件是否具有“当前空间”,并可能切换回该空间。也许?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-22
  • 2014-02-18
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
相关资源
最近更新 更多