2

ターミナルアプリケーションの現在のウィンドウを除くすべてを閉じる簡単なスクリプトを作成しようとしています。このスクリプトは、MacRubyとScriptingBridgeを使用しています。これが私がこれまでに持っているものです:

#!/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でうまく機能するようです。ここで失敗する理由を誰かが知っていますか?

4

1 に答える 1

2

ここTerminalWindowでAPIのコピーを見つけました。それを使用して、私がする必要があるのは:

TerminalSaveOptionsNo = 'no  '.unpack('N').first
terminal.windows[1].closeSaving(TerminalSaveOptionsNo, savingIn: nil)
于 2012-10-08T09:28:00.430 に答える