2012-10-08 96 views
2

我正在嘗試編寫一個快速腳本,它將關閉除當前窗口以外的所有終端應用程序。該腳本使用MacRuby和腳本橋。繼承人我到目前爲止有:用MacRuby和腳本橋關閉窗口

#!/usr/local/bin/macruby 

framework "Foundation" 
framework "ScriptingBridge" 

terminal = SBApplication.applicationWithBundleIdentifier("com.apple.Terminal") 
terminal.windows[2].close while terminal.windows.count > 1 

當我嘗試運行它,我得到以下錯誤:

undefined method `close' for #<TerminalWindow:0x40033b0e0> (NoMethodError) 

這種做法似乎正常工作使用AppleScript。有人知道爲什麼它在這裏失敗嗎?

回答

2

我發現了TerminalWindow API here的副本。利用這一點,我需要做的只是:

TerminalSaveOptionsNo = 'no '.unpack('N').first 
terminal.windows[1].closeSaving(TerminalSaveOptionsNo, savingIn: nil)