TerminalCommander
              ターミナルでのシェルコマンドの実行を支援する AppleScript ライブラリです。ターミナルでシェル コマンドは「do script」コマンドで簡単に実行できますが、次のような、より複雑な処理を行いたいときにこのライブラリは役に立ちます。
- シェルコマンドを実行するターミナルの設定を細かく制御したい。
        
- タイトル
 - 設定セット
 
 - シェルコマンドの終了を待ってから、次の処理に移りたい。
 - ターミナルウィンドウを追跡して、同じターミナルで何度もシェルコマンドを実行したい。
        
- TerminalCommander のインスタンスは、開いたターミナルを記録しており、二回目以降の do, do_with の実行時に使用されます。
 - ターミナルへの参照が記録されていない、もしくは見つからない場合、カスタムタイトルもしくは working directory でターミナルウインドウを探します。
 - working directory でターミナルウインドウを探すには、付属の cwd-tty.sh をシェルの起動時に source コマンドで実行するように、.zprofile もしくは .bash_profile の設定が必要です。
 
 
use TerminalCommander : script "TerminalCommander"
tell TerminalCommander's make_with_settings("Ocean")
set_custom_title("* Sample Terminal *")
set_execution_string("echo 'This is a new terminal.'")
do("ls -l")
wait_termination(300)
do_with({command:"echo 'You can execute command in the same terminal'", with_activation:false})
end tell
更新履歴
- 3.0.7 -- 2020-05-19
        
- working directory の設定 (set_working_directory) が無視される不具合を修正
 
 - 3.0.6 -- 2020-04-11
        
- XList と XText への依存性を無くした。
 - ターミナル.app が起動していない時に do コマンドを実行すると、二つのウインドウが開かれることがある不具合を修正。
 
 - 3.0.5 -- 2020-02-12
        
- 英語のマニュアルを追加。
 - cwd-tty.sh をバンドル内の Resources フォルダに入れた。
 - do_in_newterm を非公開にした。
            
- do_with({command:a_command, with_activation:should_activate, in_newterm:true}) を使ってください。
 
 - set_visible_when_launching(false) の効果がなかった不具合を修正。
 
 - 3.0.4 -- 2020-02-06
        
- ヘルプブック表示に、HelpBook.osax ではなく OpenHelpBook.scpt を使うようにした。
            
- macOS 10.14 からスクリプティング機能追加が動作しなくなったため。
 
 - cwd-tty.sh を zsh でも動作するようにした。
 
 - ヘルプブック表示に、HelpBook.osax ではなく OpenHelpBook.scpt を使うようにした。
            
 - 3.0.3 -- 2017-11-07
        
- 「新規リモート接続」ウインドウを表示させるとエラーが発生する不具合を修正。
 - ヘルプブックを更新。
 
 - 3.0.2 -- 2016-12-21
        
- カスタムタイトルが設定されていた場合、ttyデバイス名だけでなくカスタムタイトルの一致もターミナルウインドウの同定に用いるようにした。
 - ModuleLoader.osax を不要にした。
 
 - 3.0.1 -- 2016-05-27
        
- ターミナルが起動していない状態で、do, dow_with コマンドを実行して開いたターミナルに、再度コマンドを送ることができない不具合を修正。
 - AppleScript の object specifer ではなく、ttyデバイス名でターミナルウインドウを同定するようにした。
 
 - 3.0 -- 2016-04-12
        
- TerminalColors を削除した。
 - SmartActivate.osax を不要にした。
 - TerminalControl.osax を不要にした。
 - do_command for を非推奨とし、代わりに、do および do_with を追加した。
 - OS X 10.9 以降が必要です。
 
 - 2.3 -- 2016-02-19
        
- Mac OS X 10.6 のサポートを外して、コードをクリーアップ。
 - Mac OS X 10.7 以降が必要です。
 
 - 2.2.4 -- 2015-10-08
        
- OS X 10.10 でターミナルが起動していないと動作しない不具合を修正(梶野さん、ありがとうございました)。
 
 - 2.2.3 -- 2015-09-04
        
- OS X 10.8 でターミナルが activate されないことがある不具合を修正。
 
 - 2.2.2 -- 2013-09-20
        
- 設定セットの指定が Mac OS X 10.6.8 で動作しない不具合を修正。
 
 - 2.2.1 -- 2012-06-14
        
- check_osax を追加
 
 - 2.2 -- 2012-06-05
        
- Mac OS X 10.6 でエラーが起きる不具合に対応。
 - set_working_directory を追加。
            
- Mac OS X 10.7 で、プロキシアイコンに表示されている working dirctory のターミナルでコマンドを実行します。
 
 
 - 2.1.2 -- 2011-12-19
        
- 「設定」ウインドウや「サーバーに接続」ウインドウを表示している時にエラーが発生する不具合を修正。
 - Mac OS X 10.6 で、make_with_settings 生成したインスタンスに対して、do_command を実行すると、エラーが発生する不具合を修正。
 
 - 2.1.1 -- 2010-12-21
        
- bring_to_front が Mac OS X 10.5 で動作しない不具合を修正。
 
 - 2.1 -- 2010-03-26
        
- ロードに ModuleLoader.osax が必要になりました。
 - ShowHelpBook を使わないようにした。
 - Mac OS X 10.6 では、カスタムタイトルの設定に TerminalControl.osax が必要になります。
 - set_use_osax_for_customtitle() を追加。
            
- デフォルトの設定では、TerminalControl.osax が必要になります。
 
 - settings set のサイズ設定が適用されないことがある不具合を修正。
 
 - 2.0.2 -- 2009-06-23
        
- Mac OS X 10.5.7 が必要。
 - カスタムタイトルの設定に TerminalControl.osax を使わないようにした。
            
- Mac OS X 10.5.7 でターミナル.app のバグが修正された為です。
 
 - TerminalColors で background color の透明度を設定するときだけ、TerminalControl.osax が必要になります。
 - TerminalCommander に ttyname を追加。
 - タブを別のウインドウに分離したとき、対象とするウインドウを正しく追跡できない不具合を修正。
 
 - 2.0.1 -- 2009-04-10
        
- ターミナル.app が起動していない時、without activation で do_command を実行すると、ターミナルが隠れたままになる不具合を修正。
 - set_visible_when_launching, visible_when_launching を追加。
 
 - 2.0 -- 2009-01-06
        
- Mac OS X 10.5 に対応
            
- Mac OS X 10.5 のターミナルの仕様変更及び機能不足を補う為に、スクリプティング機能追加 TerminalControl.osax が必要になりました。
 
 - TerminalCommander から以下の method を削除
            
- set_use_ctrlv_escapes, use_ctrlv_escapes
 - set_shell_path, shell_pash
 - set_string_encoding, string_encoding
 
 - TerminalCommander に以下の method を追加
            
- make_with_settings
 - set_settings_name, settings_name
 
 - TerminalColors から、以下の method を削除
            
- set_selection, selection_color
 - set_change_selection, is_change_selection
 
 
 - Mac OS X 10.5 に対応
            
 - 1.6.2 -- 2008-10-03
        
- TerminalCommander を継承できない不具合を修正。
 
 - 1.6.1 -- 2008-09-01
        
- do_in_new_term, resove_terminal をマニュアルに追加
 
 - 1.6 -- 2008-04-07
        
- 全面的に書き換えた。
 - 色設定に関する部分を TerminalColors として分離
 
 - 1.5 -- 2006-04-27
        
- property を直接書き換えることなく、インターフェースはすべて handler(method)で統一した。
 - 新規ターミナルウィンドウの取得の確実性が増した。
 - スクリプトバンドルにし、マニュアルを内蔵するようにした。
 
 - 1.4 -- 2005-11-21
        
- SmartActivate を使用して Terminal.app をactivate するときは、最前面のウィンドウだけにするようにした。
 
 - 1.3.4 -- 2005-02-18
        
- useLoginShell の解釈が逆になっていた不具合を修正
 
 - 1.3.3 -- 2004-12-17
        
- executionString が設定されていない場合の動作を修正
 - 内部コードの改良
 
 - 1.3 -- 2004-04-15
        
- 公開