LoginSignup
10
9

More than 5 years have passed since last update.

Mac標準Terminalをもっと使おうぜって話

Posted at

前置き

この記事はお前らのターミナルはダサいという記事を見てiTermHyperを使わずにカッコイイターミナルを模索した結果生まれたもので、

この標準ターミナルを

スクリーンショット 2

こうして見ようという記事です。

スクリーンショット 3.png

標準ターミナルを改造しますので、可能ならバックアップもしくはターミナル.appをコピーしてお試しください。
また標準アプリを改造する都合上、予想外のことが起こるかもしれません。
その際こちらでは責任を取りかねますので、自己責任でお願いいたします。

動機

ShellPromptの変更はお前らのターミナルはダサいにお任せして、

mac標準ターミナルでHyperのようにタイトルバーを消すことを中心に解説していきます。前記事の作業を終えると多分以下のようになっていると思います。

ただ、これだとPureのGitHubに乗っている。

の画像と違いタイトルバーが残っちゃうんですよね。
それでも、サードパーティーのターミナルは使いたくないなぁということで
じゃあ標準のターミナルを弄っちゃおう!
となりました。

実装

macアプリの見た目を改造するのに一番簡単なのは
nibファイルをいじることです。
なので、まずターミナルに割り込んでView構造を把握します。

ふむ、TTWindowController -> TTWindowだな
なら多分TTWindow.nibが存在してそれを弄ればいけるんじゃないか?
と予想を立てます。

そして、ターミナル.app/Contents/Resources/Base.lprojの中身を見るとこんな感じ

確かにTTWindow.nibがありました。
これをNibUnlockerなどを使ってxibに戻します。

スクリーンショット 6.png

すると、こんな感じのXibとして展開されるはずです。
これを改造していきます。

まず、タイトルバーを消すのが目的なので、

スクリーンショット 7.png

Hide Title と Tranceparent Title Barにチェックを入れます。

して、これだとWindowの色がAquaの背景色のままなので、
Runtime Attributesを以下のように設定します。
(色はターミナルで設定した背景色に合わせてください。)
スクリーンショット 8.png

そして、後はダミープロジェクトを作成してコンパイルすると、
ダミーアプリケーションの中にTTWindowというnibがあるはずです。
これでターミナル.app/Contents/Resources/Base.lprojにあるTTWindow.nibを上書きすれば、タイトルバーが消えているはずです。

以上、完!!!

10
9
0

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
10
9