^[control-codes live in libghostty-vt

Operating system commands

OSC 3 Set X Property

Set or delete a property on the terminal's top-level X window.

OSC 3 ; prop = value ST
ECMA-48
§8.3.89 OSC – Operating System Command, p. 51
xterm
Operating System Commands

OSC 3 ; prop=value ST sets the property prop of xterm’s top-level X window to value, and OSC 3 ; prop ST deletes it, so that a program can leave information on the window for the window manager or for scripts that look at X properties (ChangeXprop). The number came from dtterm, which used it to set the working directory for the next session; xterm does that with its spawn-new-terminal action instead.

A default xterm does not do it. Setting a property is one of the window operations off unless allowWindowOps is set: SetXprop is in the default disallowedWindowOps (main.h, do_osc). X properties do not exist outside X, and libghostty-vt has no OSC 3: it ignores it. Both leave the screen and the title as they were, and the cases pass.

Validation

OSC3-1: Nothing changes

\e]2;Window\a
A
\e]3;WM_ROLE=terminal\a
\e]3;WM_ROLE\a   # delete it
B
|AB____|
cursor 1,3
title "Window"
reply none
Every example on these pages runs in your browser, in libghostty-vt compiled to WebAssembly.