iTerm を Ruby から操作する。terminitor もどき、iTerminitor を作った。

iTerminitor とは?

iTerminitor

iTerm の定型作業を設定ファイルに基づいて自動で行うソフト。
※ terminitor ぽいことを iTerm でもやりたかった。
DSL の形式はまるまる terminitor をパクってます。
GNU Screen を使っている人は、そもそもこういうソフトは不要だと思う。

出来ること

iTerm の Window、Tab の作成、各タブへ名前をつける。
各タブでコマンドを実行する。
実行するコマンド群をファイルから読み込んで実行する。

やってること

AppleScript で iTerm を自動操作。
AppleScript については直接 AppleScript を使わず、RubyAppleScript の bridge である、rb-appscript を使用している。

動作環境(僕の)

Mac OS X / Ruby 1.8.7
iTerm 0.10
iTerm 2 ※ これも動いた。

その他

Leopard 標準の Terminal.app を使っている人は terminitor を使った方がいいです。
他に似たプロジェクトとして godo があります。こちらは iTerm も操作できます。

インストール〜使うまで

  1. ダウンロード
  2. 実行権限付与
  3. iTerminitor.rb init でサンプル設定作成
  4. 実行して動作確認
  5. サンプル設定を変更、コピーして使っていく。

使い方

help

### Usage:
# Start iTerminitor session for CONF
  /Users/taqumd/Dropbox/script_bin/iTerminitor.rb start 'CONF'

# Show CONF list
  /Users/taqumd/Dropbox/script_bin/iTerminitor.rb list

# This command create sample CONF for iTerminitor
  /Users/taqumd/Dropbox/script_bin/iTerminitor.rb init

初期ファイル作成。

~% 
~% iTerminitor.rb init
~% 

[created] /Users/taqumd/.iterminitor/sample.rb
[created] /Users/taqumd/.iterminitor/run_file_sample

Check setting DSL
 $ cat /Users/taqumd/.iterminitor/sample.rb

Try sample config
 $ /Users/taqumd/Dropbox/script_bin/iTerminitor.rb start sample.rb

   Thanks.

~%

できあがる sample.rb はこんな感じ
:session で指定するのは Bookmark 名。

起動

~% iTerminitor.rb start sample.rb
~% 

左上の Window 2つは自動的に出来上る。