2017-04-12 87 views
0

在Mac OS上,可以創建運行bash命令的Automator/Bash/Java/ApplieScript來執行某些操作(例如,例如屏幕分辨率可能爲),然後運行應用程序(例如需要的遊戲一個特定的屏幕分辨率)然後等待,直到應用程序被終止,然後做最後一件事(例如再次更改屏幕分辨率)Mac OS:執行某些操作的腳本,然後啓動一個應用程序,然後等待,直到它終止,並最終執行某些操作?

我試圖使用所有的Automator,Bash,Java和ApplieScript。我甚至試圖將它們中的多個組合到一個運行其他事情的鏈中,只是爲了運行其他事情,直到它終止並運行其他事情,但不是那些semms正常工作。

我改變屏幕分辨率的終端命令,我也得到了在運行遊戲的終端命令,但我不能在事情發生的邏輯正確鏈把它一起...

的命令是:

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" 

有人可以幫我嗎?

親切的問候,

凱文

+0

爲此目的 - 監視一個進程 - 你需要一個*運行循環*例如一個輕量級的Cocoa或AppleScriptObjC應用程序,它使用'NSWorkspace'通知監視遊戲應用程序。 – vadian

+0

你能解釋它是如何工作的或給出一個代碼示例? –

+0

輕量級應用程序將是最好的。但你也可以用一個applescript應用程序來做到這一點。使用空閒循環等待您的遊戲結束。 –

回答

1

你需要的是開放的-W參數:

-W導致開放要等到它打開的應用程序(或已經打開)已退出。與-n 標誌一起使用可允許open作爲適用於$ EDITOR環境變量的應用程序。

所以在您的例子我會做這樣的腳本:

#!/bin/bash 

/Volumes/Sierra/Users/xyz/Documents/cscreen -x 1600 -y 900 -r 60 
open -W steam://run/8930 
/Volumes/Sierra/Users/xyz/Documents/cscreen -x 1280 -y 720 -r 60 

現在開不應該到shell返回控制,直到蒸汽退出。

+0

看起來很完美 - 雖然我沒有測試過它。 –

相關問題