Repository navigation
fix: keep TUI selections, overlays, and splits on screen - #175
Merged
Merged
Conversation
Lists followed the index without moving the viewport, overlays were painted under the status bar, and wide splits saturated a u16 multiply. A refused split on a lone browser also left the replacement terminal behind. Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Oct 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
工作台、office shell 和会话树有一批画面问题:选中行停在视口外,矮终端里状态栏盖住弹层底边,宽分割在 65535 处饱和,拒绝分栏时浏览器会被换成终端。对照 herdr 把滚动、显示宽度、弹层叠放和分割算法补上。
任务段现在和 agents 一起画在侧栏下半部,点击该行会把焦点设成 Tasks。文件列表、交接名单、office 列表和会话树按选中行滚动。文件面板和交接名单改到状态栏之后画。窗格不到 3×3 时不再画空边框。根上只剩浏览器时,太小的分栏会把浏览器放回去。50/50 的绘制和鼠标分割线共用 u32 比例。侧栏和窗格标题按显示宽度截断。
Refs #174
独立 QA 还没审当前 head,所以这里写 Refs,不写 Closes。
验收标准
证据是 TestBackend 帧,不是那次被标成忽略的实机矩阵。
证据(Validation)
提交
87887da。风险与安全边界(Risk/Safety Boundaries)
只改客户端绘制和窗格几何。没有改权限、版本号、发布、存储或 redaction。分栏下限仍是 8×3;变的是拒绝时把单独的浏览器放回去,以及已经分好的布局缩小时不再画出空边框。
未验证项(Known Limitations)
颜色对比、鼠标捕获、真实 PTY 光标、子进程占着备用屏幕时的缩放,以及嵌在 Viva 终端里的 Pi 界面,这次没有跑。拖动分割线、右键菜单、帮助/设置/跳转弹层没有进上一轮矩阵,这次也没有改它们的叠放。
终端模式里 Esc 仍送出 0x1b。分栏键仍是 prefix+v 和 prefix+-。裸按 1/2/3 仍不切换侧栏;任务段靠点击进入,进去之后 j/k 能在任务里移动。布局算出来高度为 0 的格子仍然没有内容行,这次修的是外框只剩 2 行、内容被边框吃掉的情况。
下一步:等独立 QA 对当前 head 给出可合并结论。
Made with Cursor