^[control-codes
live in libghostty-vt

Operating system commands

OSC 110 Reset Text Foreground Color

View as Markdown

Put the text foreground color back as it started.

OSC 110 ST
ECMA-48
§8.3.89 OSC – Operating System Command, p. 51
xterm
Operating System Commands

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

TerminalVersionSupportNotes
VT220manual, 2nd ed., 1984NoOSC is not among the controls it recognizes (§4.2)
VT510manual, 1st ed., 1993Noignores an OSC string (chapter 4)
xtermpatch 412, xterm-411aYes
libghostty-vt0f171f6Yes
Konsole26.11.70, a24c3d71Partlyonly as OSC 110 ; ST: without the ; it is a decoding error
kitty0.49.1, run in a VMYespasses the 2 cases that show it working; ends its replies with ST where xterm uses BEL
foot1.28.0, run in a VMPartlyfails OSC110-2 of the 2 cases that show it working
pyte0.8.2, run as a libraryNofails the 2 cases that show it working
xterm.js headless6.0.0, run as a libraryNofails the 2 cases that show it working
alacritty_terminal0.26.0, run as a libraryPartlyfails OSC110-2 of the 2 cases that show it working
ConEmubuild 230724, its documentationNonot in its ANSI escape codes
rxvt-unicode9.31, run in a VMNofails the 2 cases that show it working
VTE0.84.1, run as a libraryPartlyfails 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
Every example on these pages runs in your browser, in libghostty-vt compiled to WebAssembly.