TotalTerminalが使えなくなってしまって困った。なので、iTerm2でなんとかTotalTerminalにあった機能をつけるお話です。
さよならTotalTerminal。おかえりiTerm2
そろそろYosemiteからEl Capitanへアップグレードしようと思ったら、TotalTerminalが利用不可であることを知った。TotalTerminalはFPSゲームでありがちな上からスルっと降りてくるコンソール(Quake-Like)をOSX標準のTerminal.appで実現するアプリケーションなのだが、El Capitanから導入されたrootlessモード(System Integrity Protection)の餌食になってしまった。しばらくの間はのんきに「TotalTerminalの作者が対応するでしょ」と思ったら開発中止とのこと。
できればシステム標準アプリケーションを利用したいという思いからずっと利用していたけど、目的の動作が出来ないとなれば乗り換えるしか無い。
とりあえずこれが本当ならば仕事に響いてしまうので、メインマシンのEl Capitanへのアップグレードを取りやめてサブマシンのMacをEl Capitanへ。そしてTotalTerminalをためしてみると・・・やはり利用不可であった。さよならTotalTarminal。君のことは忘れない・・・!!
ウィンドウリサイズがキーボードショートカットで出来ない
悲しみにくれていると仕事がはかどらないので代替手段を探しまわったところ、iTerm2にもQuake-Likeなコンソールを実現する方法がある。これを利用すれば今まで通りのコンソールライフを過ごすことが出来るとおもいきや、キーボードショートカットを利用したウィンドウのリサイズが出来ない。正確にはウィンドウの高さを変更することができない。
TotalTerminalでよく利用していたものだったので、こいつぁ困った...。
ショートカットキーでウィンドウを伸ばすには
iTerm2の設定を丁寧に探しまわったけれど、どこにもウィンドウのリサイズをキーボードショートカットで行うための設定がない。AppleScriptを用いてなんとかする方法もあるが、それは正当な答えじゃない。幸いなことにiTerm2はGPLでソースコードが開示されているので、手を入れることが出来る。OSX NativeなのでObj-Cで書かれているので、このソースになんとか
パッチを当ててウィンドウで縦サイズを変更できるようにしてみた。これで [Preferences->Keys] でショートカットを設定すればウィンドウを伸ばしたり縮めたりすることが出来るようになった。
というわけで、iTerm2の本家にこの機能を取り込んでもらうべくPull Requestを投げて取り込んでもらったんだけど、ちょっと紆余曲折があったので箇条書きでメモしておく。
- 最初のPull Requestの段階では縦方向にしか伸ばす必要が無いと思っていたので、横方向に伸ばすものもつけて欲しいとのリクエストがあった
- ExpandRowとShrinkRowではアレなので IncreaseHeightと IncreaseWidthにしてねとのリクエストがあった。減らすのはDecreaseでとのこと。
- それを思いっきりすっ飛ばして「再度チェックよろ」して「Please Fix」と言われ自分のマヌケっぷりに落胆してた
というわけで、最終的に取り込まれたのが#250。これでTotalTerminalと同様なことがiTerm2で出来るようになった!
ダウンロード
現状、NightlyBuildに含まれています。https://iterm2.com/nightly/latestからダウンロード可能になっています。しばらくしたらTestReleaseを経て、Stableビルドに入ってくれると思います。
伸ばし方
- メニューバーの[Window]にある[Increase Row]を選択すれば伸びる(縦1文字文)
- ただし、これじゃ使い物にならないのでショートカットキーを設定しましょう
- メニューバーの[iTerm2]より[Preferences]を選択
- Preferences中より[Keys]のタブを選択する
- 画面中央下辺りにある [+]のボタンをクリックすると、キーボードショートカットを登録するシートがウィンドウに表示されます
- "Action"から"Increase Height"を選びます
- "Keyboard Shortcut:" に好きなキーの組み合わせを入れます (私はOpt+cmd+↑にしています)
- 同様に、Decrease Heightも設定しましょう(私はOpt+cmd+↓にしています)
終わりに
TotalTerminalを利用していて、かつウィンドウを伸ばしたり縮めたりしていた方はぜひご利用ください。また、iTerm2のオーガナイザであるgnachmanさん、僕の拙い英語と理解力にお付き合いいただきありがとうございました。これからもウィンドウを伸ばしたり縮めたりしていきたいと思います。