【发布时间】:2017-09-08 18:15:28
【问题描述】:
在 Mac OS 上,是否可以创建一个 Automator/Bash/Java/ApplieScript 来运行 bash-command 来执行某些操作(例如屏幕分辨率) 然后运行应用程序(例如需要特定屏幕分辨率的游戏)然后等到应用程序终止,然后再做最后一件事(例如再次更改屏幕分辨率)?
我尝试使用所有 Automator、Bash、Java 和 ApplieScript。我什至尝试将它们中的多个组合成一个运行其他东西的东西链,只是为了运行其他东西,直到它终止然后运行其他东西,但这些东西都不能正常工作。
我得到了改变屏幕分辨率的终端命令,也得到了运行游戏的终端命令,但我无法将它们组合成一个逻辑正确的事件链......
命令是:
do shell script "/Volumes/Sierra/Users/xyz/Documents/cscreen -x 1600 -y 900 -r 60"
do shell script "open steam://run/8930"
do shell script "/Volumes/Sierra/Users/xyz/Documents/cscreen -x 1280 -y 720 -r 60"
【问题讨论】:
-
为此目的——监控进程——你需要一个运行循环,例如一个轻量级的Cocoa或AppleScriptObjC应用程序,它使用
NSWorkspace通知来监控游戏应用程序。 -
你能解释一下它是如何工作的或者给出一个代码示例吗?
-
轻量级的应用程序是最好的。但您也可以使用 applescript 应用程序来完成。使用空闲循环等待游戏结束。
-
我的意思是在 Xcode 中创建的一个小应用程序。另一种选择——AppleScript 应用程序轮询更改,即使使用
idle处理程序——在 CPU 方面要昂贵得多 -
从 shell 脚本运行 3 个命令时会发生什么?例如没有任何
do shell script- 只是顺序的3个终端命令......它有效吗?如果是,你不需要任何 Xcode 事件编程废话..
标签: bash macos shell applescript automator