Skip to content

v1.8.40

Choose a tag to compare

@wudream813 wudream813 released this 06 Sep 06:54
· 93 commits to master since this release

v1.8.40

分屏布局 / 标签能力与设置页的一批修复。

修复与改动

  1. 两个窗格中间加空格
    窗格内容现在相对分到的区域四周各内缩 1 格(空间足够时),窗格内容与分隔线之间留出 1 列/行空白(面板底色填充),相邻窗格变成「内容 · 空格 · │/─ 边框 · 空格 · 内容」,内容不再紧贴分隔线。内部分别维护【外接分配矩形】(分隔线定位、鼠标边框命中、窗格点选、拖条比例用)与【内缩内容矩形】(ConPTY 尺寸 / 逐格渲染用);全屏缩放(zoom)时窗格铺满无内缩;点到窗格边上的空白也算选中该窗格。

  2. 修复「一个标签打不开 3 个及以上窗格」
    分屏逻辑用 split_do() 的返回值回写标签根,但 split_do 是把活动叶子原地变成内部节点(节点下标不变)。第一次切分时该叶子正好是根(正确);在嵌套叶子上再切分时,返回的是子树节点,标签根被错误覆盖成子节点、真正的根丢失,新窗格不在同一棵树里。现标签根始终用切分前的稳定根。新增连续 3 次分屏的运行时回归测试。

  3. 修复设置「菜单项管理」当前项靠左
    上一版误把聚焦行行首从「空格 + ▶」改成单个 ▶(▶ 在本程序按宽 1 渲染),使聚焦行整行左移 1 列。还原为聚焦 ▶ / 非聚焦 (都是 2 列),行首对齐。

  4. 修复设置「键位设置」过长文字被截断
    「当前键位」列宽只有 16,长组合(如 Ctrl+B Shift+tab、自定义 Ctrl+Alt+Shift+…)被裁断。重新分配列宽为 动作名 16 / 说明 16 / 当前键位 20,右侧按钮列位置不变,表头同步对齐。

  5. 修复设置 scrollback 行背景盖住 [-]
    非 hover 的 [-]/[+] 只有前景色没有自己的底色,选中行高亮底会透过按钮显示。非 hover 时补面板底色,hover 时仍用橙/绿高亮,按钮底色与行底色不叠加。

验证

  • 单元测试 311 / 0 failed;
  • verify_all.py(含 verify_split.py 外接/内缩矩形断言、连续 3 次分屏回归、verify_config_theme.py)、verify_dirty_cursor.py 全过;
  • MinGW gcc / g++ 双 -Wall -Wextra -Werror。