LoginSignup
9
4

More than 3 years have passed since last update.

macOS CatalinaでGo2Shellが使えなくなっても絶望しない方法 (Finderから現在いるディレクトリを1クリックでiTerm 2で開く方法)

Last updated at Posted at 2019-10-30

前置き

自分はmacOS MojaveでFinderで現在いるディレクトリをワンクリックでiTerm 2で開けるGo2Shellを愛用しています。
しかしGo2Shellは32bitアプリケーションかつ最終更新が4年前であるためmacOS Catalinaでは使えず、アップデートも期待出来ない状況でした。

そんな時に@ryuta69さんが下記の素晴らしい記事を投稿してくださいました。

AppleScriptで「Finderでボタンポチるだけで、そのディレクトリでターミナル開く」(cloneしてドラッグ&ドロップするだけで利用可能)

この記事ではターミナル.appを主題に他のアプリケーションでも活用可能なコードを複数掲載しており大変参考になりました。
また、本投稿を行う事についても快諾していただき大変感謝しています。

記事内にiTerm 2を開くコードを発見

記事内にiTerm 2を開くコードを発見し「お、これは!」となりました。
挙動としては下記のようになっていました。

  1. 現在のディレクトリパスを取得
  2. iTerm 2のセッションからウィンドウを取得
  3. ウィンドウに新規タブを作成
  4. cd [現在のディレクトリパス]を入力

次にGo2Shellの挙動は下記。

  1. 現在のディレクトリパスを取得
  2. 新規ウィンドウを作成
  3. cd [現在のディレクトリパス]; clear; pwdを入力

挙動の差としては下記。

  • 前者はアクティブなウィンドウがない場合に実行が失敗してしまう
  • 新規ウィンドウか既存ウィンドウへの新規タブか
  • 実行されるコマンド

ここで「これは少し調整すればGo2Shellになれるぞ?」と思いました。

Go2Shellの動作を再現するコード

tell application "Finder"
    -- set _dir to POSIX path of ((folder of (front window)) as alias)
    if exists Finder window 1 then
        set currentDir to target of Finder window 1 as Unicode text
        set posixPath to get POSIX path of currentDir
    end if
end tell

tell application "iTerm"
    activate
    create window with default profile
    set _current_session to current session of current window
    tell current window
        tell current session of current tab
            write text "cd " & posixPath
            write text "clear; pwd"
        end tell
    end tell
end tell

元コードとの違いとしては以下。

  • 新規ウィンドウを作成している
  • 新規タブの作成は行わない
  • write text "clear; pwd"を実行している

作成からFinderに追加するまで

  1. Automator.app を開く
  2. 新規書類 > アプリケーション
  3. 「AppleScriptを実行」を右にドラッグドロップ
  4. 上記のコードをコピペして任意の名前で保存 (ここではOpeniTerm2.app)
  5. OpeniTerm2.app をCommand押しながらFinderのツールバーにドラッグドロップ
  6. セキュリティ警告が出たら システム環境設定 > セキュリティとプライバシー > 一般 > 下部から許可

詳細な手順は@ryuta69さんが投稿してくださった記事に丁寧にまとまっています。

終わりに

今現在自分はmacOS Catalinaへのアップグレードを行っていません。
しかしこれでアップグレード後の環境への懸念が1つ解消されました。
バグ修正などが更にリリースされ、安定した環境となった頃にアップグレードを試みたいと思います。

9
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4