Repository navigation
ells v0.2.3
ells v0.2.3
一键安装 / Install
macOS / Linux:
ELLS_VERSION=v0.2.3 curl -fsSL https://raw.githubusercontent.com/lg10/ells/main/install.sh | shWindows PowerShell:
$env:ELLS_VERSION="v0.2.3"; irm https://raw.githubusercontent.com/lg10/ells/main/install.ps1 | iex安装脚本会强制校验 SHA256SUMS.txt。产物:ells-linux-x86_64 · ells-macos-universal(x86_64 + Apple Silicon 合一)· ells-windows-x86_64.exe · SHA256SUMS.txt
[0.2.3] - 2026-10-11
修复
- 启动第一帧改成整屏重画,去掉更新重启后压在边距上的旧字:自更新换掉二进制再重启,回到主机
列表时左边距上留着几格红字残影(v0.2.1 的字压在 v0.2.2 没画的格子上)。根因不在更新,也不在
Windows Terminal,在我们自己:Terminal::new只造两张空缓冲就当"上一帧",随后第一帧走差分
绘制 —— 新画面留空的格子在差分里等于"没变",于是终端里本来就有的内容永远没人去擦。备用屏在
同一个标签页里退出再进入时交还的是上一份画面(更新重启、手动重跑都会撞上),所以那几格就留在
那儿了。现在启动时把repaint置位,让第一帧之前先真清一次屏并作废差分基线 —— 和"直通交回来 /
弹窗关掉"那几处用的是同一个机制。抓过启动字节流核对:改之前进入备用屏之后直接就是逐格写入
(全程没有ESC[2J),改之后ESC[2J ESC[1;1H落在设置标题之后、第一格绘制之前。 - 表单里"选私钥"那个系统文件框没登记"屏幕暂时归它":上传、下载、选目录三个原生对话框都会把
dialog_open立起来,主循环凭这个标志在对话框关掉后整屏重画一次;唯独私钥路径那个漏了登记,
所以关掉它之后屏幕上留什么就是什么。现在四个入口走同一条路(打开前立、回来时清,取消也要清
—— 不然标志卡在true,下一次整屏重画就永远等不到了)。 - 直通模式下不再能从别处把屏幕抢走:直通是"远端独占整块屏幕",那会儿 ells 一个字节都不画、
会话的原始字节直接裸写 stdout。但过去这些操作还能把画面切走:F2新建标签、F5/F6换标签、
鼠标点顶部标签条、Ctrl-S开文件浏览器、点顶部的下载按钮 —— 于是 ells 画它的、远端写它的,
两块画面叠在同一个屏幕上,差分基线也从此失真(表现就是一行行错位的字)。现在这些入口一律先让
远端把屏幕交回来:Ctrl-S按 F1/F3 的老规矩原样发给远端(直通期间 ells 不该吞远端的键),
标签操作和回列表则挡下并给一句"先按 Ctrl-Q 回内嵌",鼠标点击在直通期间直接不响应(那会儿命中
测试用的还是交出去之前那一帧的矩形)。Ctrl-]断开和Ctrl-Q切回内嵌不受影响 —— 直通期间
总得留下逃生门。
完整历史:CHANGELOG.md · 安全策略:SECURITY.md · 安装选项与卸载:README