OSC 110 Reset Text Foreground Color
Put the text foreground color back as it started.
OSC 110 ST
OSC 110 ST puts the color of the default foreground, used by text with no SGR color, OSC 10, back as the terminal started it, undoing any change made with OSC 10 ; Pt ST. xterm resets it to the value it started with (ResetColorsRequest).
It takes no parameter. xterm ignores an OSC 110 that carries anything after the number, OSC 110 ; 1 ST say, as a malformed sequence (do_osc); an empty one, OSC 110 ; ST, is the same as none.
Each reset handles one color. There is no reset for all ten together, as there is for the palette with OSC 104.
libghostty-vt has it, and agrees with xterm.
Support
| Terminal | Version | Support | Notes |
|---|---|---|---|
| VT220 | manual, 2nd ed., 1984 | No | OSC is not among the controls it recognizes (§4.2) |
| VT510 | manual, 1st ed., 1993 | No | ignores an OSC string (chapter 4) |
| xterm | patch 412, xterm-411a | Yes | |
| libghostty-vt | 0f171f6 | Yes | |
| Konsole | 26.11.70, a24c3d71 | Partly | only as OSC 110 ; ST: without the ; it is a decoding error |
| kitty | 0.49.1, run in a VM | Yes | passes the 2 cases that show it working; ends its replies with ST where xterm uses BEL |
| foot | 1.28.0, run in a VM | Partly | fails OSC110-2 of the 2 cases that show it working |
| pyte | 0.8.2, run as a library | No | fails the 2 cases that show it working |
| xterm.js headless | 6.0.0, run as a library | No | fails the 2 cases that show it working |
| alacritty_terminal | 0.26.0, run as a library | Partly | fails OSC110-2 of the 2 cases that show it working |
| ConEmu | build 230724, its documentation | No | not in its ANSI escape codes |
| rxvt-unicode | 9.31, run in a VM | No | fails the 2 cases that show it working |
| VTE | 0.84.1, run as a library | Partly | fails OSC110-2 of the 2 cases that show it working |
Validation
OSC110-1: After a change
\e]10;red\a
\e]110\a
\e]10;?\a
|____|
reply \e]10;rgb:0000/0000/0000\a
OSC110-2: Only that color
\e]10;red;blue\a
\e]110\a
\e]10;?;?\a
|____|
reply \e]10;rgb:0000/0000/0000\a\e]11;rgb:0000/0000/ffff\a
OSC110-3: A parameter makes it malformed
\e]10;red\a
\e]110;1\a # ignored
\e]10;?\a
|____|
reply \e]10;rgb:ffff/0000/0000\a
OSC110-4: An empty one is no parameter
\e]10;red\a
\e]110;\a
\e]10;?\a
|____|
reply \e]10;rgb:0000/0000/0000\a