課題:拡大した瞬間、どのプロジェクトを触っていたのか分からなくなる
AI を九枚のマスに並べてプロジェクトごとにヘッダーの色を付けておきます。格子で見ているあいだは、どのマスがどのプロジェクトか一目で分かります。
一体を拡大します。長い出力を読みたいので。
三十分たって、ふと手が止まります。いま触っているのは、どのプロジェクトだったか。
上端に細い帯があって、そこに色は付いています。でも三十分ずっと画面の中央を見ていたので、視界に入っていませんでした。
格子と拡大で、面積の比率が変わる
格子で見ているときは、ヘッダーがマスの上の三分の一くらいを占めます。拡大すると、ヘッダーは画面の上端の細い帯になります。視界のほとんどはターミナルの中身です。
色分けが効かなくなります。色が付いている場所を見ていないからです。
これは AI 並列化の実運用で、ほぼ必ず起きます。マスの枠や名札、アイコンは「外から見分ける印」なので、中に入って集中しているときには働きません。
既存の回避策とそのコスト
ターミナルの前景色を変える(配色の全体を書き換える)
iTerm2 や Windows Terminal は、プロファイルごとに前景・背景・ANSI 16 色を全部書き換えられます。確かにプロジェクトごとに雰囲気が変わりますが、
- 赤がエラー、緑が成功、黄色が警告、というターミナルの既定の意味まで書き換える
lsのフォルダの色、git diffの+と-の色が変わる- 三週間後、「このプロジェクトだけエラーが青で出る」理由を忘れている
道具の意味まで変えてしまうので、見分けのために使うのは割に合いません。
背景色だけ変える(素朴な解)
背景色だけ別の値にして、十六色は触らない。これは正しい方向です。ただし背景「色」なので、一色の面積になります。隣のプロジェクトも背景を変えていると、青と青、紫と紫を見分けることになります。
もう一段違う情報が欲しくなります。
デスクトップの壁紙を変える
Mac で Space を分ける人がよくやります。背景が違えば、ウインドウを間違えない。
ただしブラウザはウインドウの中身なので、Space を切り替えてもブラウザは同じ画面のままです。MulmoTerminal は 1 枚のブラウザタブに九枚のマスを並べる仕組みなので、デスクトップの壁紙では区別できません。
MulmoTerminal の解決:ターミナルの中に、文字が読めたまま絵を重ねる
MulmoTerminal は、ターミナルセルの背景に画像を敷けます。古くからある趣味機能(Eterm の壁紙)に見えますが、九枚のマスを並べる画面では拡大しても効く最後の手がかりとして働きます。
書き方
プロジェクトのフォルダの一番上に置く .mulmoterminal.json に 1 行書きます。
{
"backgroundImage": "art/wallpaper.jpg"
}
これで、そのプロジェクトのターミナルの背後に art/wallpaper.jpg がうっすら出ます。不透明度は 15%、全体を覆う(cover)設定が既定です。
細かく指定するならこう書きます。
{
"backgroundImage": {
"image": "art/wallpaper.jpg",
"opacity": 0.25,
"fit": "contain"
}
}
合成で重ねるので、文字が読める
普通にブラウザの背景として画像を敷くと、明るい部分に重なった文字が読めなくなります。背景画像が実用にならないと言われる理由は、ほぼこれです。
MulmoTerminal は合成で重ねます。暗い配色のときは背景より明るい部分だけが、明るい配色のときは暗い部分だけが透けます。画像のうち、配色とコントラストがつく側だけが出る、という挙動です。
文字の色は残るので、読めなくなりません。写真をそのまま敷いたときに、空の部分だけがぼんやり見えるような出方になります。
詳細
不透明度は、まず低めから
調整する値は不透明度(opacity、0〜1)です。写真なら 0.1 から 0.2 で背景らしく見えて、それより上げるとターミナルの文字と張り合い始めます。
張り合うというのが正確な表現です。読めなくなるわけではありません。ただ視線が画像に取られるようになり、ターミナルは一日見るものなので、これが疲れに直結します。
既定の 0.15 は、張り合わない範囲の真ん中です。見分ける印として使うなら 0.1〜0.2、絵として楽しみたいなら 0.25 までが実用的な範囲です。
fit は画像の性質で選ぶ
| 値 | 挙動 | 向いている画像 |
|---|---|---|
cover(既定) |
全体を覆う。切れることがある | 写真、テクスチャ、パターン |
contain |
全体を収める。切れない | ロゴ、マーク、意味のある図 |
写真は切れても困らないので cover。ロゴは切れると意味が変わるので contain。選び方はこれで足ります。
パスの扱いはアイコンと同じ
書ける値は 3 通りです。
- プロジェクト内の相対パス —
art/wallpaper.jpgのようにそのフォルダからの相対 - URL —
https://example.com/wallpaper.jpg - data URI — 画像を Base64 で埋め込んだ
data:image/png;base64,...
プロジェクトの外のローカルパス(~/Pictures/foo.jpg、../bar.jpg など)は断られます。開いたプロジェクトがパソコン上の別の場所を指せないようにするためで、他の設定項目と同じ扱いです。
形式は PNG、JPEG、GIF、WebP、AVIF、SVG。ブラウザが表示できるものなら使えます。
使えない値は、黙って何もしない
ファイルが無い、opacity が範囲外、fit が未知の値。このどれでも何も描かない挙動です。設定画面に「無視された項目」として並び、理由も表示されます。
丸めない理由は、うっすら出す機能だからです。間違った値で中途半端に出すより、出ないほうが「書き方が違う」と気づけます。
作業用の worktree にも引き継がれる
MulmoTerminal は AI に作業させるとき、git worktree で隔離した作業フォルダ を使えます。この作業フォルダには、プロジェクトの設定がそのまま引き継がれます。
つまり、backgroundImage に相対パスを書いて画像をプロジェクトに入れておけば、作業フォルダのマスにも同じ絵が出ます。見分ける印が、作業フォルダに移っても消えない。
画像をリポジトリに入れたくないなら、art/ を .gitignore に入れておきます。その場合、作業フォルダ側では画像が無いので背景は出ません(上の「使えない値は黙って何もしない」の挙動)。
使ってみる
既存の MulmoTerminal の設定ファイルを編集するだけで動きます。はじめての方は、MulmoTerminal 完全ガイド の「使い方 3 ステップ」から。
- プロジェクトのフォルダ内に画像を入れる(例:
art/wallpaper.jpg) - そのフォルダの
.mulmoterminal.jsonに"backgroundImage": "art/wallpaper.jpg"を書く - AI にファイルを書かせたときは即座に反映。エディタで手で書いたときは、タブを再読み込み
- 濃すぎたら
opacityを 0.1 に下げる
動作確認の最小シナリオ
二つのプロジェクトを立ち上げて、片方だけに画像を設定します。両方を拡大して並べると、設定したほうは中央部分にうっすら絵が出て、していないほうは真っ黒(または既定の背景色)のままです。その差が、拡大時に見分けの手がかりになっている分です。
やめるときは .mulmoterminal.json からその項目を消すか、ファイルごと消せば戻ります。
まとめ
- ヘッダーや名札、アイコンは「格子で外から見分ける印」。拡大すると視界の外に出て効かなくなる
- 背景画像は面積が大きいので、拡大しても分かる最後の手がかりになる
- 合成で重ねるので、文字は読めたまま
- 不透明度は 0.15 を基準に、張り合わないところまで下げる
- 作業用の worktree にもそのまま引き継がれる
関連: MulmoTerminal 公式ガイドの背景画像設定 / MulmoTerminal の xterm カラー — 中身まで染めて見分ける / git worktree で並列 AI を隔離する / Cursor の代替としての MulmoTerminal
