我需要在 KDE Konsole 中使用 GNOME 终端颜色。
我不确定从哪里可以得到 GNOME 终端最新的调色板,但我猜这可能会有用:https://gitlab.gnome.org/GNOME/gnome-terminal/-/blame/master/src/terminal-profile-editor.cc?ref_type=heads#L198
static const GdkRGBA terminal_palettes[TERMINAL_PALETTE_N_BUILTINS][PALETTE_SIZE] =
{
/* Based on GNOME 3.32 palette: https://developer.gnome.org/hig/stable/icon-design.html.en#palette */
{
COLOR (0x1e, 0x1e, 0x1e), /* Suggested background for contrast */
COLOR (0xc0, 0x1c, 0x28), /* Red 4 */
COLOR (0x26, 0xa2, 0x69), /* Green 5 */
COLOR (0xa2, 0x73, 0x4c), /* Blend of Brown 2 and Brown 3 */
COLOR (0x12, 0x48, 0x8b), /* Blend of Blue 5 and Dark 4 */
COLOR (0xa3, 0x47, 0xba), /* Purple 3 */
COLOR (0x2a, 0xa1, 0xb3), /* Linear addition Blue 5 + Green 5, darkened slightly */
COLOR (0xff, 0xff, 0xff), /* Light 1 */
COLOR (0x5e, 0x5c, 0x64), /* Dark 2 */
COLOR (0xf6, 0x61, 0x51), /* Red 1 */
COLOR (0x33, 0xd1, 0x7a), /* Green 3 */
COLOR (0xe9, 0xad, 0x0c), /* Blend of Yellow 4 and Yellow 5 */
COLOR (0x2a, 0x7b, 0xde), /* Blend of Blue 3 and Blue 4 */
COLOR (0xc0, 0x61, 0xcb), /* Purple 2 */
COLOR (0x33, 0xc7, 0xde), /* Linear addition Blue 4 + Green 4, darkened slightly */
COLOR (0xd0, 0xcf, 0xcc) /* Blend of Light 3 and Light 4 */
},
— 总共 16 种颜色。
现在我需要将它们变成 KDE Konsole 调色板,但我不明白上面的颜色与 Konsole 配色方案编辑器中显示的颜色如何对应:
大家有什么想法吗?
答案1
与其研究 GNOME 终端的源代码,我更推荐直接打开它的“首选项”对话框,切换到“颜色”选项卡,然后单击颜色以获取其十六进制值(例如#ff0000
)。你应该将这些值逐一复制到 Konsole 的颜色选择器中。
通过打开 GNOME 终端的图形首选项对话框,应该可以更清楚地知道哪种颜色对应于 Konsole 的哪种颜色,而不是研究其来源。
(您在其源代码中找到的是正确的,但您在那里看不到它们的实际颜色,您必须找到您想要使用的内置调色板,默认的前景+背景颜色在其他地方定义,您必须从该格式转换为标准格式。这就是为什么我不建议从这里开始。)
但映射并不完全是 1:1。
Konsole 的“强烈前景”可能与 GNOME 终端的“粗体颜色”相匹配,但我不太确定。我也不确定 Konsole 的“强烈背景”代表什么,这可能是 GNOME 终端所没有的。
Konsole 的“颜色 1”至“颜色 8”行中的“颜色”和“强烈颜色”列与 GNOME 终端的“调色板”相匹配,只是垂直排列而不是水平排列。
“微弱颜色”是一个很少使用的概念。Konsole 允许您配置它们中的每一个。GNOME 终端使用硬连线公式,我认为 R、G 和 B 十六进制值中的每一个都是同一行中正常颜色值的 2/3。如果您愿意,可以手动计算这些值。例如,红色通道中的#ff0000
十六进制是ff
十进制 255,它的 2/3 是十进制 170,aa
十六进制。绿色和蓝色通道为 0,保持为 0。因此它变成#aa0000
。
还要注意,GNOME 终端有一个“用亮色显示粗体文本”复选框,在最近的版本中默认禁用,但我不确定 Konsole 是否支持其等效行为,我认为(虽然我可能错了)它总是像在 GNOME 终端中启用时一样表现。Konsole 有一个“用粗体字体绘制浓颜色”,但这是相反的,在我看来这是一个错误的概念。
因此,您将无法获得 100% 完全相同的行为,但这是您可以将颜色配置得尽可能接近的方法。