OSC 12 Text Cursor Color
Set and query the color of the text cursor.
OSC 12 ; Pt ST
OSC 12 ; Pt ST sets the color of the text cursor, and OSC 12 ; ? ST asks what it is. OSC 112 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 13.
A default xterm starts it as the cursorColor 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 it, and agrees with xterm.
Validation
OSC12-1: Ask for it
\e]12;?\a
|____|
reply \e]12;rgb:0000/0000/0000\a
OSC12-2: Change it
\e]12;#0080ff\a
\e]12;?\a
|____|
reply \e]12;rgb:0000/8080/ffff\a
OSC12-3: A chain past the cursor
\e]12;?;?\a # the cursor, then the pointer
|____|
reply \e]12;rgb:0000/0000/0000\a\e]13;rgb:0000/0000/0000\a