4.10.1 — 実体のないスクロールバーと、コピーできるプロンプト
4.10.1(2026-08-20 リリース)時点のスナップショットです。 アプリが進めば内容は古くなります。 それは想定どおりで、常に最新なのは各節からリンクしている本編のガイドです。
npx mulmoterminal@latest
設定は要りません。 下の 2 つは、このバージョンにした時点でそのまま効きます。切り替える項目も、 いつもの再起動以上の手順もありません。
ズームしたセルに、何もスクロールしないスクロールバーが出ていた
これまで。 セルを拡大すると(特にロスターから別のセッションを選んで拡大したとき)、 ターミナルの脇に実体のないスクロールバーが出ることがありました。
- つまみをドラッグしても動くのはつまみだけで、ターミナルは動きません(エージェントには 0 バイト)
- ホイールはエージェントに届くので、2 つが別々の位置を指します
- 消えません。 セルを切り替えても、描き直しても、次のリサイズが来るまで残ります
なぜ。 xterm は画面外にあるセルの描画を止めます。停止中にリサイズが届くと、行数はその場で 更新される一方で、レンダラの寸法の更新は先送りされます。ビューポートはその両方からスクロール 範囲を作るため、ズーム前の canvas の高さとズーム後の内容の長さが組み合わさります。その範囲は 存在せず、しかも alternate screen(vim のような全画面 TUI や claude 自身は、スクロールせずにその場で 描き直します)では計算し直すきっかけが二度と来ません。
再現しやすかった理由はロスターです。拡大する直前までそのセルは left: -99999px の画面外に置かれて いるので、リサイズは必ず xterm が停止している間に届いていました。
いま。 画面外のあいだは fit を保留し、画面に戻す配信の中で実行します。これで xterm 自身の 先送りされたリサイズも同じバッチで片付きます。
直ったことの確かめ方。 1 つのセルをズームし、ロスターから別のセッションを拡大します (全画面のプログラムが動いているセル — vim や Claude のセル — が一番分かりやすいです)。 ターミナルの脇にスクロールバーは出ません。出たら別の不具合なので、報告してもらえると助かります。
あわせて。 エージェントの PTY に渡るサイズは、修正の前後・すべての表示状態で実測して完全に 一致しています。プログラムの見え方は変わりません。根っこは xterm.js 側の欠陥でもあります (停止中のリサイズを先送りしたあと、ビューポートを同期し直さない)。
報告は #1762。ロスターが何で、そこから どう拡大するかは 基本 にあります。
Prompts ペインは読めるのに、コピーできなかった
これまで。 右パネルの Prompts ペイン(拡大したセルの隣)には、自分が送ったプロンプトが 並びます。ところがマウスでドラッグしても範囲選択が始まらず、目の前にある文字をふつうの方法で アプリの外に持ち出せませんでした。
なぜ。 1 行が丸ごと <button> だったためです。ブラウザは button の中身を選択不可にします。 CSS の問題でもペインの問題でもなく、マークアップが「これは文字ではなくコントロールだ」と 言っていました。
いま。 button は見出し行だけ(時刻と開閉シェブロン)に縮み、プロンプト本文はその外側の ふつうに選べる文字になりました。キーボード操作と aria-expanded はそのままです。 ドラッグ選択を終えたクリックでは畳まなくなりました — 畳んでいた頃は、選択した瞬間にその選択が 消えていました。
直ったことの確かめ方。 Prompts ペインを開き、プロンプトをドラッグして、いつものショートカットで コピーします。このバージョンだと分かる見た目の違いが 2 つあります: 行の右端に開閉シェブロンが出ること、 そして行の中で選択を終えても開いたままになることです。
知っておくとよいこと。 畳んでいる行は画面上 3 行で切られていますが、ドラッグ選択で取れるのは 全文です。これは意図どおりで、欲しいのは表示されている 3 行ではなく本文だからです。
コピー用のボタンは付けていません。ここで直したのは、ブラウザのふつうの範囲選択です。 このペインが何で、どこにあるかは 何ができるか にあります。
直ったものの一覧
この版には共有アプリ関連の変更と、大きなテストの入れ替えも入っていますが、どちらもアプリの 使い方は変えません。内容は ChangeLog にあります。
前の版で入ったものは 4.10.0 の手引き にあります。