Terminal: 支持通过 OSC 104、110、111...重置颜色

创建于 2019-11-26  ·  3评论  ·  资料来源: microsoft/terminal

新功能/增强功能的描述

这些是 OSC 4、10、11 的对应项,用于重置默认颜色。 (如果17、19得到实施,则继续使用 117、119 等行)

建议的技术实施细节(可选)

在 VTE + GNOME 终端中,我们发现最好的是 OSC 4、10、11 序列是否优先于 UI/配置文件设置。 也就是说,对于每个颜色槽,如果其值是通过 OSC 4、10、11 定义的,则使用该值,而忽略设置中的值。 如果值尚未通过 OSC 4、10、11 定义或已通过 OSC 104、110、111 重置,则使用终端仿真器设置中指定的值。 这种重新应用相同设置的方式是幂等操作。 (以前这两个来源互相争斗,都覆盖了同一个插槽中的值。这样重新应用用户配置(例如“改变”颜色为相同的值)会使之前的 OSC 无效,这很糟糕。 )

Area-VT Help Wanted Issue-Task Product-Conhost

最有用的评论

就我自己而言,这在我的优先级列表中非常低,因为我认为这会有点痛苦。 它需要实现两次,因为调色板是必须由主机和 Windows 终端分别处理的事情之一。 在主机端,确实没有“默认调色板”的概念可以重置,因为初始颜色可以来自各种来源(例如快捷方式链接和注册表项),并且来源可以在运行时更改。

我还计划重构一些调色板管理代码,并且在重构完成之前我并不热衷于添加更多调色板功能。 并不是说重构一定是此功能的先决条件,但我个人更喜欢先清理它。

所以基本上,对于一个相当晦涩的功能来说,似乎需要做很多工作,而且我怀疑很少有人会关心这个功能。 但这只是我的观点。 其他人可能会认为这更重要,并决定早点接受它。

所有3条评论

我刚刚摆脱了这个。 我正在使用 OSC 10 和 11 的脚本在管理员 PowerShell 会话中从 Solarized Dark 切换到 Solarized Light。 但是,编辑我的配置会导致所有此类会话重置它们的颜色,除了一堆似乎从编写时保持配色方案的东西(在 PowerShell 下,我猜这是 PS-Readline 在工作)。

我对配置分层行为特别感兴趣,但没有 OSC 104/110/111,无法应用配置更改可能是 UX 回归。

对提议的行为是否有任何特别关注,例如标准化/共性? 还是只是在这个 repo 中实现相关代码的一个案例?

或者(基于里程碑是 Windows 版本)它实际上是否首先需要 MS 内部工作来支持重置颜色?

就我自己而言,这在我的优先级列表中非常低,因为我认为这会有点痛苦。 它需要实现两次,因为调色板是必须由主机和 Windows 终端分别处理的事情之一。 在主机端,确实没有“默认调色板”的概念可以重置,因为初始颜色可以来自各种来源(例如快捷方式链接和注册表项),并且来源可以在运行时更改。

我还计划重构一些调色板管理代码,并且在重构完成之前我并不热衷于添加更多调色板功能。 并不是说重构一定是此功能的先决条件,但我个人更喜欢先清理它。

所以基本上,对于一个相当晦涩的功能来说,似乎需要做很多工作,而且我怀疑很少有人会关心这个功能。 但这只是我的观点。 其他人可能会认为这更重要,并决定早点接受它。

有道理。 它在任何方面都不是我的障碍,所以我很高兴等待任何计划的重构落地(可能还有#942),然后我开始尝试摘取低垂的果实。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

mdtauk picture mdtauk  ·  3评论

zadjii-msft picture zadjii-msft  ·  3评论

NickITGuy picture NickITGuy  ·  3评论

ghvanderweg picture ghvanderweg  ·  3评论

mrmlnc picture mrmlnc  ·  3评论