^[control-codes
live in libghostty-vt

Operating system commands

OSC 13 Pointer Foreground Color

View as Markdown

Set and query the color of the mouse pointer, while it is over the window.

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

OSC 13 ; Pt ST sets the color of the mouse pointer, while it is over the window, and OSC 13 ; ? ST asks what it is. OSC 113 puts it back as it started. It is one of xterm’s dynamic colors, and works as OSC 10 explains: Pt is any color X11 can parse, and a further ; in the same sequence moves on to color 14.

The two pointer colors are the X cursor’s: an X cursor shape is drawn in two colors, a foreground and an outline around it. OSC 22 chooses the shape.

A default xterm starts it as the pointerColor resource, which is the foreground (charproc.c), so in the terminal the cases run in, set up as a default xterm, it is reported as rgb:0000/0000/0000.

libghostty-vt has no such color, and ignores OSC 13 and OSC 113, so the cases that ask are known differences.

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-vt0f171f6Noignored
Konsole26.11.70, a24c3d71Nonot in its source
kitty0.49.1, run in a VMNofails the case that shows it working
foot1.28.0, run in a VMNofails the case that shows it working
pyte0.8.2, run as a libraryNofails the case that shows it working
xterm.js headless6.0.0, run as a libraryNofails the case that shows it working
alacritty_terminal0.26.0, run as a libraryNofails the case that shows it working
ConEmubuild 230724, its documentationNonot in its ANSI escape codes
rxvt-unicode9.31, run in a VMYespasses the case that shows it working; writes colors as ff00 where xterm writes ffff
VTE0.84.1, run as a libraryNofails the case that shows it working

Validation

OSC13-1: Ask for it

\e]13;?\a
|____|
reply \e]13;rgb:0000/0000/0000\a

OSC13-2: Change it

\e]13;#0080ff\a
\e]13;?\a
|____|
reply \e]13;rgb:0000/8080/ffff\a

OSC13-3: Nothing on screen

A
\e]13;red\a
B
|AB__|
cursor 1,3
Every example on these pages runs in your browser, in libghostty-vt compiled to WebAssembly.