はじめにお読みください
TerminalCommander とは
ターミナルでのシェルコマンドの実行を支援する AppleScript ライブラリです。ターミナルでシェル コマンドは「do script」コマンドで簡単に実行できますが、次のような、より複雑な処理を行いたいときにこのライブラリは役に立ちます。
- シェルコマンドを実行するターミナルの設定を細かく制御したい。
- シェルコマンドの終了を待ってから、次の処理に移りたい。
- ターミナルウィンドウを追跡して、同じターミナルで何度もシェルコマンドを実行したい。
- TerminalCommander のインスタンスは、開いたターミナルを記録しており、二回目以降の do, do_with の実行時に使用されます。
- ターミナルへの参照が記録されていない、もしくは見つからない場合、カスタムタイトルもしくは working directory でターミナルウインドウを探します。
- working directory でターミナルウインドウを探すには、付属の cwd-tty.sh をシェルの起動時に source コマンドで実行するように、.zprofile もしくは .bash_profile の設定が必要です。
動作条件
システム
- OS X 10.9 以降
- macOS 10.14.6 で開発/テストをしています。
依存ライブラリ
TerminalCommander とあわせてインストールしてください。
ヘルプの表示の仕方
TerminalCommander の詳細なマニュアルは、TerminalCommander.scptd のバンドル内に Help Book として収められています。
OpenHelpBook.scptd をインストール後、スクリプトメニューから TerminalCommander を実行してください。ヘルプビューアでマニュアルが表示されます。
なお、Help Book は AppleScriptDoc で生成およびセットアップをしています。
インストール
TerminalCommander.scptd は、
ホームフォルダ/ライブラリ/Script Libraries/
もしくは、
/ライブラリ/Script Libraries/
にコピーしてください。
更新履歴
- 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 でも動作するようにした。
- 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
- 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
- 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