MulmoTerminal の自動 favicon 検出 — 20 個のプロジェクトに設定を書き込まずにアイコンを付ける

MulmoTerminal の自動 favicon 検出 — 20 個のプロジェクトに設定を書き込まずにアイコンを付ける

課題:20 個のプロジェクトに "icon": "..." を書くのが面倒

ターミナルで動く AI エージェントを並列に見張っていると、セルを色だけで見分けるのは限界があります。プロジェクトのロゴが出ていれば、文字を読む前に絵で分かります。

MulmoTerminal には、ディレクトリごとに .mulmoterminal.json を置いて "icon": "docs/logo.png" のように指定する機能があります。

{ "icon": "docs/logo.png" }

ここで手が止まります。プロジェクトが 20 個あります。

20 回フォルダを開いて、ロゴのパスを調べて、1 行書く。やる気になるまで半年かかります。

さらに悪いのは、仕事中は忘れることです。新しいクローンを作ったときに毎回設定を書く習慣は、2 週目に消えます。

既存のやり方とそのコスト

20 回手で書く

丁寧ですが続きません。半年後にクローンが 25 個に増えたとき、追従できません。

テンプレート化する

.mulmoterminal.json を各リポジトリに commit しておけば、clone した時点でアイコンが付きます。ただし、

公開リポジトリでは採用しにくいアプローチです。

MulmoTerminal の解決:未設定のディレクトリは favicon を自動で拾う

MulmoTerminal では、.mulmoterminal.json に icon を書いていないディレクトリに対して、そのリポジトリがすでに持っている favicon を自動で探して使います。

Web 系のプロジェクトなら、ブラウザのタブに出す小さなアイコンがもう置かれています。それを拝借します。「表札がすでに掛かっている家」はそのまま使い、「掛かっていない家」だけ新しく札を作る、という分担です。

20 個のうちウェブ系のものは、何もしなくてもアイコンが付きます。

詳細

探す順序は「よくある順」ではなく「14 ピクセルで崩れない順」

探索は次の順で行われます。

  1. public/favicon.svg(なければ favicon.svg)
  2. public/apple-touch-icon.png(なければ apple-touch-icon.png)
  3. public/favicon.png(なければ favicon.png)
  4. public/favicon.ico(なければ favicon.ico)
  5. アプリの設定ファイル(manifest.json 等)に書かれた一番大きいアイコン

この並びは「よくある順」ではなく、小さく描いたときに崩れない順です。セルのヘッダーに出るアイコンは 14 ピクセルほどなので、そのサイズで意味をなすかが唯一の基準になります。

docs/logo.png はあえて探さない

これも意図的です。docs/logo.png や assets/logo.* は探しません。

「ロゴ」という語は、実は 2 つの別のものを指しています。README の先頭に置く横長のバナーと、favicon にする正方形のマークです。ファイル名では区別できません。

横長のバナーを 14 ピクセル四方に押し込むと、ただの染みになります。だから favicon として置かれたものだけを信用する、という判断です。

横長でないロゴを明示したいなら、設定で書きます。

{ "icon": "docs/logo.png" }

書き間違えたら、何も出ない(favicon にフォールバックしない)

気づきにくい仕様があります。書き間違えたキー("icon": "logo.png" の指す先が無い等)は、favicon に落ちません。

意図的な設計です。壊れた設定が壊れて見えないと、設定が効いているのか、設定が壊れて別のものが出ているのかが分かりません。何も出ないほうが分かります。

落ちた設定は、設定画面に一覧で出ます。

パスは、そのフォルダの中だけ

絶対パスや ../ で外に出るものは断られます。開いたプロジェクトが、パソコン上の別の場所を指せないようにするためです。

他人のプロジェクトを clone して開くことは普通にあります。もし取ってきた設定ファイルが /Users/you/private/secret.png を読めてしまうと、それは「そのファイルの存在を確認する手段」になります。そこが閉じているのは安心できる部分です。

同じアイコンが 6 か所に出る

同じ絵が、起動前のフォルダボタン、セルのヘッダー、拡大時の一覧、下に並ぶサムネイル、スマホの一覧、スマホの画面に出ます。

起動する前も、起動したあとも、パソコンでもスマホでも、同じ絵で見分けられます。特に「起動前のボタン」に出るのが地味に効きます。起動する前に「このプロジェクトだ」と分かるので、パスを読み間違えて別のプロジェクトで起動する事故が減ります。

切り方が 2 つあって意味が違う

アイコンを出したくない場合、

20 個全部に "icon": false を書いて回るのは違います。挙動そのものが不要なら全体で切ります。

使ってみる

既存の MulmoTerminal インストールがあれば、追加設定なしに動きます。初めての方は MulmoTerminal 完全ガイド の「使い方 3 ステップ」から。

動作確認の最小シナリオ

  1. Web 系のリポジトリ(public/favicon.svg などを持つもの)を MulmoTerminal のグリッドで開く
  2. セルのヘッダーの名札の隣に、そのリポジトリの favicon が自動で出れば成功
  3. 明示したいプロジェクトでは、そのフォルダの一番上に .mulmoterminal.json を置く
{ "icon": "docs/logo.png" }

AI にファイルを書かせたときは即座に反映されます。エディタで手で書いたときは、タブを再読み込みします。

やめるときは、そのプロジェクトだけなら "icon": false、仕組みごと要らなければ Settings → Directory appearance のチェックを外します。

まとめ

関連: MulmoTerminal 公式ガイドの設定ページ / MulmoTerminal の git worktree 隔離 / Cursor の代替としての MulmoTerminal

この記事をシェア

関連記事

記事一覧に戻る