Repository navigation
Terminal v1.0.2
越狱 iOS 设备的终端 App,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)为纯 C,界面层是 Objective-C + UIKit。
1.0.1 修好了中文输入法的组词(预编辑)流程,但选候选项上屏这一步仍然是丢的:英文能打,拼音候选点下去终端里什么都没有。这一版补上。
安装
rootless 越狱(Dopamine / Palera1n 等)— 推荐
- 文件:
Terminal_1.0.2_iphoneos-arm64.deb - 安装位置:
/var/jb/Applications/Terminal.app - 方式:
dpkg -i Terminal_1.0.2_iphoneos-arm64.deb,或用 Sileo / Zebra 的「本地安装」 postinst会自动执行uicache并刷新 SpringBoard
ipa(TrollStore 等)
- 文件:
Terminal_1.0.2.ipa,内含Payload/Terminal.app
本版修复
- 中文候选词上屏(#1 后续):有的中文输入法上屏时只调用
unmarkText、不调用insertText:,原来我们把预编辑串直接清掉,等于把这串字丢了。现在unmarkText会把内容记下来、推到本轮 RunLoop 末尾补发;如果紧接着走的是标准入口insertText:,insertText:会先取消这份待发内容,所以不会重复发送。 insertText:里单个非 ASCII 字符(中文、emoji)改为直接按 UTF-8 送出,不再走按键编码;ASCII 与控制键行为不变。- 补上
setAttributedMarkedText:selectedRange:(UIKit 有时走带属性的那个入口),textInRange:不再给输入法返回nil。
同时包含 1.0.1 的修复
- #1 无法输入中文(预编辑文本走完整的
UITextInput流程)——4d5703f - #2 终端字符串间距异常(reflow 丢换行、多空格)——
b0539b1 - #3 终端刷新异常(标签条显隐没触发重排)——
962651b
校验
| 文件 | SHA256 |
|---|---|
Terminal_1.0.2_iphoneos-arm64.deb |
640ee98dda9c6ed5a49492f3fff4101bc740dc798af8ad066688a13a30d30770 |
Terminal_1.0.2.ipa |
d193f6a871f98fc3618dfae29f8deb5182006373fbc31804ac172e332c3ccc3e |
重排引擎的定向回归与固定种子的随机往返测试在 tests/test_vt.c,make test 173 项断言全过。
App 图标提取自 macOS 内置的 Terminal.app,属 Apple 的美术资源,不在本项目 MIT 许可的授权范围内;源代码许可见 LICENSE。