某些特殊情况下,白色主题会出现黑色背景 - #512
Conversation
kekxv
commented
Aug 18, 2026
|
fix: #363 |
|
感谢 PR,也感谢你在 #363 里做的那份排查 —— 问题是真实存在的,而且你贴的 DOM 数据其实已经把根因指到门口了 🙌 我照着复现验证了一遍,结论是:这个问题值得修,但这版补丁暂时还不能合 —— 它会给「开启工作区背景图」的用户带来一个必现的黑块回归,同时没有触到真正的根因。下面把验证过程写清楚,方便你调整。 一、根因不在 CSS,在传给 xterm 的那个颜色字符串
而 xterm 6 的
function v(e, t) { if (e !== undefined) try { return css.toColor(e) } catch {} return t }
// ...
t.background = v(e.background, /* fallback */ css.toColor("#000000"))解析失败 → 静默回落 我用真实的 xterm 6.0.0 + headless Chrome 实测: 所以「某些特殊情况」= WebView 的 canvas 不认 oklch。WebKit 的 CSS 层支持 oklch 早于 canvas 层支持,中间那段版本窗口就会出现「界面全对、只有终端全黑」。这跟你在 #363 里说的「Chrome 正常、手机也正常,就 Safari / PC 不正常」完全对得上;「不是完全的暗色,看不清」也对得上 —— 二、这版补丁的三个问题1)开启背景图时终端会变全黑(阻塞项)xterm 6 的实际 DOM 是这样的(两者是兄弟,不是嵌套):
也就是说,所有开了工作区背景图的用户,终端会从磨砂玻璃变回黑块 —— 正是被删掉那条规则当初要解决的问题。这个回归跟 WebView 版本无关、必现,影响面比它想修的 bug 还大一些。 2)
|
|
@xintaofei 你们能复现就行,你们修复就可以了,感谢你们的贡献 |