Home > XModules >

必要なシステム

  • OS X 10.9 以降
    • macOS 10.14.6 で開発/テストをしています。

ダウンロード

Version 3.0.7 -- 2020-05-19

古いバージョン

依存モジュール

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 でも動作するようにした。
  • 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
  • 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
    • 公開