2

我正在尝试编写一个快速脚本,该脚本将关闭终端应用程序的当前窗口以外的所有窗口。该脚本使用 MacRuby 和 Scripting Bridge。这是我到目前为止所拥有的:

#!/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

我在这里找到了TerminalWindowAPI的副本。使用它,我需要做的就是:

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