【问题标题】:Is it possible to change xterm "color table" at runtime?是否可以在运行时更改 xterm “颜色表”?
【发布时间】:2013-11-27 18:41:27
【问题描述】:

我让我的 xterm 从 X 资源文件中继承其“颜色表”的 RGB 值。据我了解,xterm 不仅支持 256 种颜色 - 它还支持 256 种颜色引用,每个引用指向 24 位 RGB 空间颜色,对吗?

我希望能够自己重置颜色,例如将索引为 10 的颜色更改为 RGB 值 #ff8000 或其他东西。

我什至不知道我是否在这里得到了我的概念。如果我有,是否可以在运行时更改此“颜色表”中的条目 - 对于当前终端窗口?还是只能使用xrdb 为下一个打开的终端实例这样做?

【问题讨论】:

    标签: colors terminal xterm


    【解决方案1】:

    我不确定这是否真的有效(我这里的 xterm 不是用 256 色支持编译的!)但是 xterm 控制序列参考:

    http://invisible-island.net/xterm/ctlseqs/ctlseqs.html

    在“操作系统控件”下查看

    P s = 4 ; C ; spec → 将颜色编号 c 更改为 spec 指定的颜色。根据 XParseColor,这可以是名称或 RGB 规范。可以给出任意数量的 c 名称对。颜色编号对应于 ANSI 颜色 0-7,其明亮版本 8-15,如果支持,则对应于 88 色或 256 色表的其余部分。

    OSC 是 \033],所以试试这个:

    echo -n -e '\033]4;7;red\007'
    

    如果可行,应将颜色 #7 更改为红色。

    【讨论】:

    • 谢谢,现在就试试。我的假设是否正确,即 xterm 支持 256 种“真实”颜色?
    • 工作就像一个魅力! echo -n -e '\033]4;7;#ff8000\007' 将索引 7(不要与 007 混淆)处的颜色更改为 #ff8000(亮橙色)。
    • 另外,我认为即使您的 xterm 编译时仅支持 N 颜色,您也应该能够在 @987654328 的范围内为这些“颜色”(实际上是索引)设置实际颜色值@到N - 1。在你的情况下0 - 15.
    • 哦酷,你是对的,即使没有 256 色它也能工作!但是,是的,它也应该适用于所有 256 种颜色,可以设置为任何颜色。
    猜你喜欢
    • 2012-02-16
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 2012-10-31
    • 2011-06-24
    • 2013-08-29
    相关资源
    最近更新 更多