5.1.0 — キーボードでグリッドを歩く

5.1.0 時点(2026-09-18 リリース)のスナップショットです。 アプリが進むにつれて内容は古くなり ます。それは想定どおりで、常に最新なのは各節からリンクしているガイド本体です。

このリリースは2つ。1つ目はキー割り当てをしないと使えません。2つ目は設定不要です。


1. タイル表示のグリッドをカーソルで移動する

これまで、拡大していないグリッドで隣のターミナルに移るにはマウスしかありませんでした。 zoom-next / zoom-prev はグリッドを歩きますが、拡大中しか効きません(動かすのは拡大対象 です)。タイルそのものの上をカーソルで移動する手段が無かったわけです。

focus-next と focus-prev がその欠けていた対です。

割り当てる

ショートカットは opt-in で、既定値はありません。割り当てたキーはターミナル内のプログラムに 届かなくなるので、勝手に奪うことはしない方針です。~/.mulmoterminal/config.json に keymap ブロックを追加します:

{
  "keymap": {
    "focus-next": "Alt+ArrowRight",
    "focus-prev": "Alt+ArrowLeft"
  }
}

サーバを再起動(Ctrl+C のあと npx mulmoterminal@latest)し、ブラウザのタブをリロードします。

ターミナルが使っていないキーを選ぶこと。 macOS では Alt+ArrowLeft/Right は多くのシェルや エディタで単語単位の移動なので、ここに割り当てるとそれを失います。ターミナル中心で作業するなら Ctrl+Alt+ArrowRight やファンクションキーが無難です。書式と実例は keymap リファレンスにあります。

何をするか

  • 画面上の並び順で、キーボードカーソルを隣のターミナルへ1つ動かします。レイアウトは動きません。 フォーカス中のセルが少し浮き上がる、既存の表示がそのまま目印です。
  • 端ではページを切り替えます。next-attention と同じく、そのセルのページを表示します。
  • 端で折り返さず止まります。
  • 空の起動セルは飛ばします。フォーカスしても見た目に何も起きず、キーが効かないように見えるためです。
  • 拡大中は何もしません。 その状態は zoom-next / zoom-prev の領分です。同じキーに send を 割り当てている場合は、そちらが発火します。

両方の対を同じキーに割り当てないこと。 zoom-next と focus-next を同じキーに割り当てると zoom-next だけが解決されます(リゾルバは最も順位の低い1つを採ってそこで止まります)。設定の バリデータも focus-next が発火しない旨を警告します。これは意図的な挙動で、理由は keymap リファレンスにあります。

効いているかの確認

  1. ターミナルを2つ以上開き、どれも拡大していない状態にします。
  2. どれか1つをクリックしてカーソルを置きます。
  3. focus-next に割り当てたキーを押します。浮き上がりが隣のターミナルへ移り、入力もそちらへ行きます。

2. cockpit roster が codex / cursor のセルでも埋まる

設定は不要です。

cockpit roster(グリッドでセルを拡大したときに出るテキスト行)は、セルごとに summary / prompt / reply を表示します。codex のセルではこの3行すべてが空のままで、 隣の Claude のセルは埋まっている、という状態でした。

この行を供給しているルートが、セルが何を動かしていようと Claude のトランスクリプトしか読んで いなかったためです。codex は自分でセッション id を採番し、まったく別の場所に rollout を書くので、 読みにいくファイルが存在せず空で返っていました。各セッション自身のログを読むようになりました。

  • codex と cursor のセルで prompt と reply が出るようになります。
  • grok / muse / Antigravity / Copilot は引き続きどちらも出ません。これらのログを読むのは別の 作業で、#1822 で追跡しています。
  • summary 行は Claude 以外では空のままです。これは意図的で、この値は Claude Code が自分の トランスクリプトに書くタイトルであり、他のエージェントは同等のものをどこにも書きません。代わりに 何を出すかは #2123 で検討中です。

修正が入っているかの確認

  1. codex でセルを起動し、1ターン以上やり取りします。
  2. どれかのセルを拡大して roster を開きます。
  3. その codex の行に prompt と reply が出ています。5.1.0 より前は両方とも空でした。

このリリースのその他

codex セルの監視が軽くなりました。これまで roster のポーリングのたびに ~/.codex/sessions 配下を 丸ごと走査してそのセルの rollout を探しており、しかもセルごとに2回、同期的に、すべてのターミナルを 動かしているスレッド上で行われていました。この解決結果を記憶するようにしたので、codex セルが並んだ グリッドでも更新のたびにその代金を払わなくなります。


5.1.0 には #2120(対応 issue: #2106)と #2122(対応 issue: #2121)が入っています。


This site uses Just the Docs, a documentation theme for Jekyll.