我想以编程方式在Mac OS X上使用Ruby关闭窗口(即将“COMMAND + W”发送到窗口,或者单击左上角的红色X按钮)。
我认为Windows有这样的东西(例如win32api),但我不知道如何在Mac OS X上这样做。
答案 0 :(得分:1)
经过一些谷歌搜索,答案是:appscript。
使用ruby-gems安装它:
$ sudo gem install rb-appscript
确保您尝试控制的程序supports AppleScripting。我正在尝试控制Google Sketchup,因此我在bash提示符中输入以下内容:
$ defaults write /Applications/Google\ SketchUp\ 8/SketchUp.app/Contents/Info NSAppleScriptEnabled -bool YES
例如,如果您正在控制预览,则应输入以下内容:
$ defaults write /Applications/Preview.app/Contents/Info NSAppleScriptEnabled -bool YES
然后使用适当的appscript标题创建脚本:
#!/usr/bin/ruby
require 'rubygems'
require 'appscript'
include Appscript # note the lack of quotes
app('SketchUp').windows[0].close # closes the window