Skip to content

v1.8.35

Choose a tag to compare

@wudream813 wudream813 released this 05 Sep 10:04
· 98 commits to master since this release

v1.8.35 — 修复分屏三个问题

🐛 修复

  1. 全屏缩放(前缀 z)异常:zoom 时只渲染活动窗格,但渲染函数在「可见窗格 < 2」时直接返回,导致内容区空白;改为可见窗格 ≥1 即渲染。帧尾光标在 zoom 时也改用铺满全尺寸的矩形定位(之前光标停在缩放前的小窗格里)。
  2. 开命令面板(Ctrl+B :)会让中间分屏条消失:命令面板打开时 body 误走整屏单窗格路径,把分隔边框抹掉;改为分屏状态下任何弹层(命令面板 / 搜索 / chooser / 改名 / 右键菜单 / 退出确认)打开时都继续画分屏底图(窗格 + 边框),弹层再叠画在上层。
  3. 关闭窗格多个 bug:
    • 关掉标签页锚点窗格(分屏树第一个窗格)时标签页会从标签栏消失,剩下的分屏窗格无标签可回;现在把存活兄弟提升为新锚点,标签页保留。
    • 非活动分屏子窗格进程退出时之前是空 stub,不从树摘除,边框/布局残留;现在活动/非活动统一摘树收缩。
    • 关闭到只剩一个窗格时,残留窗格缓冲还是分屏时的小尺寸,整屏只在左上小区域渲染;现在检测到单叶子分屏会自动 resize 回整屏。
    • zoom 中关闭窗格会清掉 zoom 标志,避免退回单窗格后走空白分屏路径。

🔧 重构

  • 新增统一的 split_remove_pane(pane, *survivor)(摘树 + 锚点提升 + 回填存活兄弟),split_close_active_pane 与 pane_mark_dead 都复用。

✅ 验证

  • verify_split.py 新增锚点提升 / 非活动摘除 / 单叶子拒绝等断言。
  • 单元测试 302 / 0 failed;verify_all.py 全过;MinGW gcc / g++ 双 -Werror。

📦 资产

  • termux.exe(241152 字节),64 位 MinGW 单文件构建。
  • termux.exe.sha256:SHA-256 校验。