Skip to content

macOS v0.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 05:43
  • 终端引擎换成 xterm.js(WKWebView 内运行),替换 SwiftTerm。原因:SwiftTerm 的 macOS 视图层在一天内需要打 9 个本地补丁(两套公式算列数、滚动条那条带子无人重绘、每段输出都清掉选区、滚轮从不转发给程序、只重绘脏行……),每修一个又冒出下一个。xterm.js 是网页控制台一直在用、跑同一套服务端协议的引擎,从此两个客户端画同一个会话的方式一致,修一处两边都好。
    • 只换了「画」这一层:WebSocket、断线重连、心跳、上传时暂存输入都还在 Swift 里,行为不变。
    • 列数行数只在一个地方算(xterm.js 的 FitAddon,按视图真实尺寸),结构上不会再出现两套公式打架导致的重影。
    • 选中、复制(⌘C)、粘贴(⌘V,文件/截图照旧走上传)、全选(⌘A)、输入法、滚轮、链接(只放行 http/https)、OSC 52 复制、标题、铃声都改由 xterm.js 处理或经它接到原生。
    • 鼠标:「开启」时程序拿到鼠标,按住 ⇧ 或 ⌥ 拖动是本地选中;「关闭」时程序收不到鼠标,拖动即选中。
    • 自动字号沿用原规则(只缩不放,最小 8pt,按目标列数)。
    • 右键菜单是终端自己的(复制 / 粘贴 / 全选 / 刷新显示),不是网页的。
  • 删除 third_party/swiftterm 及其补丁、渲染检查脚本;xterm.js 的许可证随应用一起分发。