查询或更改动态颜色 (OSC 10–19)

根据索引查询或更改动态颜色。

  1. 0x1B
    ESC
  2. 0x5D
    ]
  3. ____
    n
  4. 0x3B
    ;
  5. ____
    c
  6. 0x1B
    ESC
  7. 0x5C
    \

当 n 介于 10 与 19 之间(含端点)时,根据 c 的值, 查询或更改 n 对应的 [动态颜色]。 c 可以多次提供,每次用分号(;)分隔。

如果 c 以单个字符 ? 给出,终端会以索引 n 处动态颜色的 [颜色表示法] 作为响应。如果 c 是有效的颜色表示法,则据此更改动态颜色。

如果序列中还有更多 c,则 n 加一,并重复该过程。

n 与动态颜色的对应关系如下:

n颜色
10前景色
11背景色
12光标颜色
13指针前景色
14指针背景色
15Tektronix 前景色
16Tektronix 背景色
17高亮背景色
18Tektronix 光标颜色
19高亮前景色

Note

目前 Ghostty 仅支持 n 介于 10 与 12 之间(含端点)。其他所有 动态颜色都会被忽略。

例如,该序列分别将背景色和光标颜色更改为 red 和 blue:

  1. 0x1B
    ESC
  2. 0x5D
    ]
  3. 0x31 0x31
    11
  4. 0x3B
    ;
  5. 0x72 0x65 0x64
    red
  6. 0x3B
    ;
  7. 0x62 0x6C 0x75 0x65
    blue
  8. 0x1B
    ESC
  9. 0x5C
    \

这等同于将 OSC 11 与 OSC 12 组合在一起:

  1. 0x1B
    ESC
  2. 0x5D
    ]
  3. 0x31 0x31
    11
  4. 0x3B
    ;
  5. 0x72 0x65 0x64
    red
  6. 0x1B
    ESC
  7. 0x5C
    \
  1. 0x1B
    ESC
  2. 0x5D
    ]
  3. 0x31 0x32
    12
  4. 0x3B
    ;
  5. 0x62 0x6C 0x75 0x65
    blue
  6. 0x1B
    ESC
  7. 0x5C
    \