.\" Generated by scdoc 1.11.3 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "foot-ctlseqs" "7" "2024-04-17" .PP .SH NAME foot-ctlseqs - terminal control sequences supported by foot .PP .SH DESCRIPTION .PP This document describes all the control sequences supported by foot.\& .PP .PD 0 .IP \(bu 4 Control characters .IP \(bu 4 Sequences beginning with ESC .IP \(bu 4 CSI - Control Sequence Introducer - SGR - Indexed and RGB colors (256-color palette and 24-bit colors) - Private modes - Window manipulation - Other .IP \(bu 4 OSC - Operating System Command .IP \(bu 4 DCS - Device Control String .PD .PP .SH Control characters .PP .TS allbox;l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx. T{ \fBSequence\fR T} T{ \fBName\fR T} T{ \fBDescription\fR T} T{ \ea T} T{ BEL T} T{ Depends on what \fBbell\fR in \fBfoot.\&ini\fR(5) is set to.\& T} T{ \eb T} T{ BS T} T{ Backspace; move the cursor left one step.\& Wrap if \fIbw\fR is enabled.\& T} T{ \et T} T{ HT T} T{ Horizontal tab; move the cursor to the next tab stop.\& T} T{ \en T} T{ LF T} T{ Line feed; move the cursor down one step, or scroll content up if at the bottom line.\& T} T{ \ev T} T{ VT T} T{ Vertical tab; identical to \fILF\fR.\& T} T{ \ef T} T{ FF T} T{ Form feed; identical to \fILF\fR.\& T} T{ \er T} T{ CR T} T{ Carriage ret; move the cursor to the leftmost column.\& T} T{ \ex0E T} T{ SO T} T{ Shift out; select the \fIG1\fR character set.\& T} T{ \ex0F T} T{ SI T} T{ Shift in; select the \fIG0\fR character set.\& T} .TE .sp 1 .SH Sequences beginning with ESC .PP Note: this table excludes sequences where ESC is part of a 7-bit equivalent to 8-bit C1 controls.\& .PP .TS allbox;l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx. T{ \fBSequence\fR T} T{ \fBName\fR T} T{ \fBOrigin\fR T} T{ \fBDescription\fR T} T{ \eE 7 T} T{ DECSC T} T{ VT100 T} T{ Save cursor position.\& T} T{ \eE 8 T} T{ DECRC T} T{ VT100 T} T{ Restore cursor position.\& T} T{ \eE c T} T{ RIS T} T{ VT100 T} T{ Reset terminal to initial state.\& T} T{ \eE D T} T{ IND T} T{ VT100 T} T{ Line feed; move the cursor down one step, or scroll content up if at the bottom margin.\& T} T{ \eE E T} T{ NEL T} T{ VT100 T} T{ Next line; move the cursor down one step, and to the first column.\& Content is scrolled up if at the bottom line.\& T} T{ \eE H T} T{ HTS T} T{ VT100 T} T{ Set one horizontal tab stop at the current position.\& T} T{ \eE M T} T{ RI T} T{ VT100 T} T{ Reverse index; move the cursor up one step, or scroll content down if at the top margin.\& T} T{ \eE N T} T{ SS2 T} T{ VT220 T} T{ Single shift select of G2 character set (affects next character only).\& T} T{ \eE O T} T{ SS3 T} T{ VT220 T} T{ Single shift select of G3 character set (affects next character only).\& T} T{ \eE = T} T{ DECKPAM T} T{ VT100 T} T{ Switch keypad to \fIapplication\fR mode.\& T} T{ \eE > T} T{ DECKPNM T} T{ VT100 T} T{ Switch keypad to \fInumeric\fR mode.\& T} T{ \eE ( \fIC\fR T} T{ SCS T} T{ VT100 T} T{ Designate G0 character set.\& Supported values for \fIC\fR are: \fB0\fR (DEC Special Character and Line Drawing Set), and \fBB\fR (USASCII).\& T} T{ \eE ) \fIC\fR T} T{ SCS T} T{ VT100 T} T{ Designate G1 character set.\& Same supported values for \fIC\fR as in \fIG0\fR.\& T} T{ \eE * \fIC\fR T} T{ SCS T} T{ VT220 T} T{ Designate G2 character set.\& Same supported values for \fIC\fR as in \fIG0\fR.\& T} T{ \eE + \fIC\fR T} T{ SCS T} T{ VT220 T} T{ Designate G3 character set.\& Same supported values for \fIC\fR as in \fIG0\fR.\& T} .TE .sp 1 .SH CSI .PP All sequences begin with \fB\eE[\fR, sometimes abbreviated "CSI".\& Spaces are used in the sequence strings to make them easier to read, but are not actually part of the string (i.\&e.\& \fB\eE[ 1 m\fR is really \fB\eE[1m\fR).\& .PP .SS SGR .PP All SGR sequences are in the form \fB\eE[\fR \fIN\fR \fBm\fR, where \fIN\fR is a decimal number - the \fIparameter\fR.\& Multiple parameters can be combined in a single CSI sequence by separating them with semicolons: \fB\eE[ 1;2;3 m\fR.\& .PP .TS allbox;l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx. T{ \fBParameter\fR T} T{ \fBDescription\fR T} T{ 0 T} T{ Reset all attributes T} T{ 1 T} T{ Bold T} T{ 2 T} T{ Dim T} T{ 3 T} T{ Italic T} T{ 4 T} T{ Underline T} T{ 5 T} T{ Blink T} T{ 7 T} T{ Reverse video; swap foreground and background colors T} T{ 8 T} T{ Conceal; text is not visible, but is copiable T} T{ 9 T} T{ Crossed-out/strike T} T{ 22 T} T{ Disable \fBbold\fR and \fBdim\fR T} T{ 23 T} T{ Disable italic T} T{ 24 T} T{ Disable underline T} T{ 25 T} T{ Disable blink T} T{ 27 T} T{ Disable reverse video T} T{ 28 T} T{ Disable conceal T} T{ 29 T} T{ Disable crossed-out T} T{ 30-37 T} T{ Select foreground color (using \fBregularN\fR in \fBfoot.\&ini\fR(5)) T} T{ 38 T} T{ See "indexed and RGB colors" below T} T{ 39 T} T{ Use the default foreground color (\fBforeground\fR in \fBfoot.\&ini\fR(5)) T} T{ 40-47 T} T{ Select background color (using \fBregularN\fR in \fBfoot.\&ini\fR(5)) T} T{ 48 T} T{ See "indexed and RGB colors" below T} T{ 49 T} T{ Use the default background color (\fBbackground\fR in \fBfoot.\&ini\fR(5)) T} T{ 90-97 T} T{ Select foreground color (using \fBbrightN\fR in \fBfoot.\&ini\fR(5)) T} T{ 100-107 T} T{ Select background color (using \fBbrightN\fR in \fBfoot.\&ini\fR(5)) T} .TE .sp 1 .SS Indexed and RGB colors (256-color palette and 24-bit colors) .PP Foot supports both the new sub-parameter based variants, and the older parameter based variants for setting foreground and background colors.\& .PP Indexed colors: .PP .PD 0 .IP \(bu 4 \fB\eE[ 38 : 5 :\fR \fIidx\fR \fBm\fR .IP \(bu 4 \fB\eE[ 38 ; 5 ;\fR \fIidx\fR \fBm\fR .PD .PP RGB colors: .PP .PD 0 .IP \(bu 4 \fB\eE[ 38 : 2 :\fR \fIcs\fR \fB:\fR \fIr\fR \fB:\fR \fIg\fR \fB:\fR \fIb\fR \fBm\fR .IP \(bu 4 \fB\eE[ 38 : 2 :\fR \fIr\fR \fB:\fR \fIg\fR \fB:\fR \fIb\fR \fBm\fR .IP \(bu 4 \fB\eE[ 38 ; 2 ;\fR \fIr\fR \fB;\fR \fIg\fR \fB;\fR \fIb\fR \fBm\fR .PD .PP The first variant is the "correct" one (and foot also recognizes, but ignores, the optional \fItolerance\fR parameters).\& .PP The second one is allowed since many programs "forget" the color space ID, \fIcs\fR.\& .PP The sub-parameter based variants are preferred, and are what foot'\&s \fBterminfo\fR(5) entry uses.\& .PP .SS Private Modes .PP There are several Boolean-like "modes" that affect certain aspects of the terminal'\&s behavior.\& These modes can be manipulated with the following 4 escape sequences: .PP .TS allbox;l l lx l l lx l l lx l l lx l l lx. T{ \fBSequence\fR T} T{ \fBName\fR T} T{ \fBDescription\fR T} T{ \eE[ ?\& \fIPm\fR h T} T{ DECSET T} T{ Enable private mode T} T{ \eE[ ?\& \fIPm\fR l T} T{ DECRST T} T{ Disable private mode T} T{ \eE[ ?\& \fIPm\fR s T} T{ XTSAVE T} T{ Save private mode T} T{ \eE[ ?\& \fIPm\fR r T} T{ XTRESTORE T} T{ Restore private mode T} .TE .sp 1 .PP The \fIPm\fR parameter in the above sequences denotes a numerical ID that corresponds to one of the following modes: .PP .TS allbox;l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx. T{ \fBParameter\fR T} T{ \fBOrigin\fR T} T{ \fBDescription\fR T} T{ 1 T} T{ VT100 T} T{ Cursor keys mode (DECCKM) T} T{ 5 T} T{ VT100 T} T{ Reverse video (DECSCNM) T} T{ 6 T} T{ VT100 T} T{ Origin mode (DECOM) T} T{ 7 T} T{ VT100 T} T{ Auto-wrap mode (DECAWM) T} T{ 12 T} T{ AT&T 610 T} T{ Cursor blink T} T{ 25 T} T{ VT220 T} T{ Cursor visibility (DECTCEM) T} T{ 45 T} T{ xterm T} T{ Reverse-wraparound mode T} T{ 47 T} T{ xterm T} T{ Same as 1047 (see below) T} T{ 66 T} T{ VT320 T} T{ Numeric keypad mode (DECNKM); same as DECKPAM/DECKPNM when enabled/disabled T} T{ 1000 T} T{ xterm T} T{ Send mouse x/y on button press/release T} T{ 1001 T} T{ xterm T} T{ Use hilite mouse tracking T} T{ 1002 T} T{ xterm T} T{ Use cell motion mouse tracking T} T{ 1003 T} T{ xterm T} T{ Use all motion mouse tracking T} T{ 1004 T} T{ xterm T} T{ Send FocusIn/FocusOut events T} T{ 1006 T} T{ xterm T} T{ SGR mouse mode T} T{ 1007 T} T{ xterm T} T{ Alternate scroll mode T} T{ 1015 T} T{ urxvt T} T{ urxvt mouse mode T} T{ 1016 T} T{ xterm T} T{ SGR-Pixels mouse mode T} T{ 1034 T} T{ xterm T} T{ 8-bit Meta mode T} T{ 1035 T} T{ xterm T} T{ Num Lock modifier (see xterm numLock option) T} T{ 1036 T} T{ xterm T} T{ Send ESC when Meta modifies a key (see xterm metaSendsEscape option) T} T{ 1042 T} T{ xterm T} T{ Perform action for BEL character (see \fBbell\fR in \fBfoot.\&ini\fR(5)) T} T{ 1047 T} T{ xterm T} T{ Use alternate screen buffer T} T{ 1048 T} T{ xterm T} T{ Save/restore cursor (DECSET=save, DECRST=restore) T} T{ 1049 T} T{ xterm T} T{ Equivalent to 1048 and 1047 combined T} T{ 1070 T} T{ xterm T} T{ Use private color registers for each sixel T} T{ 2004 T} T{ xterm T} T{ Wrap pasted text with start/end delimiters (bracketed paste mode) T} T{ 2026 T} T{ terminal-wg T} T{ Application synchronized updates mode T} T{ 2027 T} T{ contour T} T{ Grapheme cluster processing T} T{ 8452 T} T{ xterm T} T{ Position cursor to the right of sixels, instead of on the next line T} T{ 737769 T} T{ foot T} T{ Input Method Editor (IME) mode T} .TE .sp 1 .SS Window manipulation .PP Foot implements a sub-set of XTerm'\&s (originally dtterm'\&s) window manipulation sequences.\& The generic format is: .PP \fB\eE[ \fR\fIPs\fR\fB ; \fR\fIPs\fR\fB ; \fR\fIPs\fR\fB t\fR .PP .TS allbox;l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx. T{ \fBParameter 1\fR T} T{ \fBParameter 2\fR T} T{ \fBDescription\fR T} T{ 11 T} T{ - T} T{ Report if window is iconified.\& Foot always reports \fB1\fR - not iconified.\& T} T{ 13 T} T{ - T} T{ Report window position.\& Foot always reports (0,0), due to Wayland limitations.\& T} T{ 13 T} T{ 2 T} T{ Report text area position.\& Foot always reports (0,0) due to Wayland limitations.\& T} T{ 14 T} T{ - T} T{ Report text area size, in pixels.\& Foot reports the grid size, excluding the margins.\& T} T{ 14 T} T{ 2 T} T{ Report window size, in pixels.\& Foot reports the grid size plus the margins.\& T} T{ 15 T} T{ - T} T{ Report the screen size, in pixels.\& T} T{ 16 T} T{ - T} T{ Report the cell size, in pixels.\& T} T{ 18 T} T{ - T} T{ Report text area size, in characters.\& T} T{ 19 T} T{ - T} T{ Report screen size, in characters.\& T} T{ 22 T} T{ - T} T{ Push window title+icon.\& Foot does not support pushing the icon.\& T} T{ 22 T} T{ 2 T} T{ Push window title.\& T} T{ 23 T} T{ - T} T{ Pop window title+icon.\& Foot does not support popping the icon.\& T} T{ 23 T} T{ 2 T} T{ Pop window title.\& T} .TE .sp 1 .SS Other .PP .TS allbox;l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx l l l lx. T{ \fBParameter\fR T} T{ \fBName\fR T} T{ \fBOrigin\fR T} T{ \fBDescription\fR T} T{ \eE[ \fIPs\fR c T} T{ DA T} T{ VT100 T} T{ Send primary device attributes.\& Foot responds with "I'\&m a VT220 with sixel and ANSI color support".\& T} T{ \eE[ \fIPs\fR A T} T{ CUU T} T{ VT100 T} T{ Cursor up - move cursor up \fIPs\fR times.\& T} T{ \eE[ \fIPs\fR B T} T{ CUD T} T{ VT100 T} T{ Cursor down - move cursor down \fIPs\fR times.\& T} T{ \eE[ \fIPs\fR C T} T{ CUF T} T{ VT100 T} T{ Cursor forward - move cursor to the right \fIPs\fR times.\& T} T{ \eE[ \fIPs\fR D T} T{ CUB T} T{ VT100 T} T{ Cursor backward - move cursor to the left \fIPs\fR times.\& T} T{ \eE[ \fIPs\fR g T} T{ TBC T} T{ VT100 T} T{ Tab clear.\& \fIPs\fR=0 -> clear current column.\& \fIPs\fR=3 -> clear all.\& T} T{ \eE[ \fIPs\fR ; \fIPs\fR f T} T{ HVP T} T{ VT100 T} T{ Horizontal and vertical position - move cursor to \fIrow\fR ; \fIcolumn\fR.\& T} T{ \eE[ \fIPs\fR ; \fIPs\fR H T} T{ CUP T} T{ VT100 T} T{ Cursor position - move cursor to \fIrow\fR ; \fIcolumn\fR.\& T} T{ \eE[ \fIPs\fR J T} T{ ED T} T{ VT100 T} T{ Erase in display.\& \fIPs\fR=0 -> below cursor.\& \fIPs\fR=1 -> above T} T{ \eE[ \fIPs\fR K T} T{ EL T} T{ VT100 T} T{ Erase in line.\& \fIPs\fR=0 -> right of cursor.\& \fIPs\fR=1 -> left of cursor.\& \fIPs\fR=2 -> all.\& T} T{ \eE[ \fIPm\fR h T} T{ SM T} T{ VT100 T} T{ Set mode.\& \fIPm\fR=4 -> enable IRM (Insertion Replacement Mode).\& All other values of \fIPm\fR are unsupported.\& T} T{ \eE[ \fIPm\fR l T} T{ RM T} T{ VT100 T} T{ Reset mode.\& \fIPm\fR=4 -> disable IRM (Insertion Replacement Mode).\& All other values of \fIPm\fR are unsupported.\& T} T{ \eE[ \fIPs\fR n T} T{ DSR T} T{ VT100 T} T{ Device status report.\& \fIPs\fR=5 -> device status.\& \fIPs\fR=6 -> cursor position.\& T} T{ \eE[ \fIPs\fR L T} T{ IL T} T{ VT220 T} T{ Insert \fIPs\fR lines.\& T} T{ \eE[ \fIPs\fR M T} T{ DL T} T{ VT220 T} T{ Delete \fIPs\fR lines.\& T} T{ \eE[ \fIPs\fR P T} T{ DCH T} T{ VT220 T} T{ Delete \fIPs\fR characters.\& T} T{ \eE[ \fIPs\fR @ T} T{ ICH T} T{ VT220 T} T{ Insert \fIPs\fR blank characters.\& T} T{ \eE[ \fIPs\fR X T} T{ ECH T} T{ VT220 T} T{ Erase \fIPs\fR characters.\& T} T{ \eE[ > c T} T{ DA2 T} T{ VT220 T} T{ Send secondary device attributes.\& Foot responds with "I'\&m a VT220 and here'\&s my version number".\& T} T{ \eE[ !\& p T} T{ DECSTR T} T{ VT220 T} T{ Soft terminal reset.\& T} T{ \eE[ ?\& \fIPs\fR $ p T} T{ DECRQM T} T{ VT320 T} T{ Request status of DEC private mode.\& The \fIPs\fR parameter corresponds to one of the values mentioned in the "Private Modes" section above (as set with DECSET/DECRST).\& T} T{ \eE[ \fIPs\fR $ p T} T{ DECRQM T} T{ VT320 T} T{ Request status of ECMA-48/ANSI mode.\& See the descriptions for SM/RM above for recognized \fIPs\fR values.\& T} T{ \eE[ \fIPt\fR ; \fIPl\fR ; \fIPb\fR ; \fIPr\fR ; \fIPm\fR $ r T} T{ DECCARA T} T{ VT400 T} T{ Change attributes in rectangular area.\& \fIPt\fR, \fIPl\fR, \fIPb\fR and \fIPr\fR denotes the rectangle, \fIPm\fR denotes the SGR attributes.\& T} T{ \eE[ \fIPt\fR ; \fIPl\fR ; \fIPb\fR ; \fIPr\fR ; \fIPm\fR $ t T} T{ DECRARA T} T{ VT400 T} T{ Invert attributes in rectangular area.\& \fIPt\fR, \fIPl\fR, \fIPb\fR and \fIPr\fR denotes the rectangle, \fIPm\fR denotes the SGR attributes.\& T} T{ \eE[ \fIPt\fR ; \fIPl\fR ; \fIPb\fR ; \fIPr\fR ; \fIPp\fR ; \fIPt\fR ; \fIPl\fR ; \fIPp\fR $ v T} T{ DECCRA T} T{ VT400 T} T{ Copy rectangular area.\& \fIPt\fR, \fIPl\fR, \fIPb\fR and \fIPr\fR denotes the rectangle, \fIPt\fR and \fIPl\fR denotes the target location.\& T} T{ \eE[ \fIPc\fR ; \fIPt\fR ; \fIPl\fR ; \fIPb\fR ; \fIPr\fR $ x T} T{ DECFRA T} T{ VT420 T} T{ Fill rectangular area.\& \fIPc\fR is the character to use, \fIPt\fR, \fIPl\fR, \fIPb\fR and \fIPr\fR denotes the rectangle.\& T} T{ \eE[ \fIPt\fR ; \fIPl\fR ; \fIPb\fR ; \fIPr\fR $ z T} T{ DECERA T} T{ VT400 T} T{ Erase rectangular area.\& \fIPt\fR, \fIPl\fR, \fIPb\fR and \fIPr\fR denotes the rectangle.\& T} T{ \eE[ \fIPs\fR T T} T{ SD T} T{ VT420 T} T{ Scroll down \fIPs\fR lines.\& T} T{ \eE[ s T} T{ SCOSC T} T{ SCO, VT510 T} T{ Save cursor position.\& T} T{ \eE[ u T} T{ SCORC T} T{ SCO, VT510 T} T{ Restore cursor position.\& T} T{ \eE[ \fIPs\fR SP q T} T{ DECSCUSR T} T{ VT510 T} T{ Set cursor style.\& In foot, \fIPs\fR=0 means "use style from foot.\&ini".\& T} T{ \eE[ = \fIPs\fR c T} T{ DA3 T} T{ VT510 T} T{ Send tertiary device attributes.\& Foot responds with "FOOT", in hexadecimal.\& T} T{ \eE[ \fIPm\fR d T} T{ VPA T} T{ ECMA-48 T} T{ Line position absolute - move cursor to line \fIPm\fR.\& T} T{ \eE[ \fIPm\fR e T} T{ VPR T} T{ ECMA-48 T} T{ Line position relative - move cursor down \fIPm\fR lines.\& T} T{ \eE[ \fIPm\fR a T} T{ HPR T} T{ ECMA-48 T} T{ Character position relative - move cursor to the right \fIPm\fR times.\& T} T{ \eE[ \fIPs\fR E T} T{ CNL T} T{ ECMA-48 T} T{ Cursor next line - move the cursor down \fIPs\fR times.\& T} T{ \eE[ \fIPs\fR F T} T{ CPL T} T{ ECMA-48 T} T{ Cursor preceding line - move the cursor up \fIPs\fR times.\& T} T{ \eE[ \fIPm\fR ` T} T{ HPA T} T{ ECMA-48 T} T{ Character position absolute - move cursor to column \fIPm\fR.\& T} T{ \eE[ \fIPs\fR G T} T{ CHA T} T{ ECMA-48 T} T{ Cursor character absolute - move cursor to column \fIPs\fR.\& cursor.\& \fIPs\fR=2 -> all.\& \fIPs\fR=3 -> saved lines.\& T} T{ \eE[ \fIPs\fR S T} T{ SU T} T{ ECMA-48 T} T{ Scroll up \fIPs\fR lines.\& T} T{ \eE[ \fIPs\fR I T} T{ CHT T} T{ ECMA-48 T} T{ Cursor forward tabulation \fIPs\fR tab stops.\& T} T{ \eE[ \fIPs\fR Z T} T{ CBT T} T{ ECMA-48 T} T{ Cursor backward tabulation \fIPs\fR tab stops.\& T} T{ \eE[ \fIPs\fR b T} T{ REP T} T{ ECMA-48 T} T{ Repeat the preceding printable character \fIPs\fR times.\& T} T{ \eE[ ?\& \fIPi\fR ; \fIPa\fR ; \fIPv\fR S T} T{ XTSMGRAPHICS T} T{ xterm T} T{ Set or request sixel attributes.\& T} T{ \eE[ > \fIPs\fR q T} T{ XTVERSION T} T{ xterm T} T{ \fIPs\fR=0 -> report terminal name and version, in the form \fB\eEP>|foot(version)\eE\e\fR.\& T} T{ \eE[ > 4 ; \fIPv\fR m T} T{ XTMODKEYS T} T{ xterm T} T{ Set level of the \fImodifyOtherKeys\fR property to \fIPv\fR.\& Note that foot only supports level 1 and 2, where level 1 is the default setting.\& T} T{ \eE[ ?\& \fIPp\fR m T} T{ XTQMODKEYS T} T{ xterm T} T{ Query key modifier options T} T{ \eE[ > 4 n T} T{ T} T{ xterm T} T{ Resets the \fImodifyOtherKeys\fR property to level 1.\& Note that in foot, this sequence does not completely disable \fImodifyOtherKeys\fR, since foot only supports level 1 and level 2 (and not level 0).\& T} T{ \eE[ ?\& u T} T{ T} T{ kitty T} T{ Query current values of the Kitty keyboard flags.\& T} T{ \eE[ > \fIflags\fR u T} T{ T} T{ kitty T} T{ Push a new entry, \fIflags\fR, to the Kitty keyboard stack.\& T} T{ \eE[ < \fInumber\fR u T} T{ T} T{ kitty T} T{ Pop \fInumber\fR of entries from the Kitty keyboard stack.\& T} T{ \eE[ = \fIflags\fR ; \fImode\fR u T} T{ T} T{ kitty T} T{ Update current Kitty keyboard flags, according to \fImode\fR.\& T} .TE .sp 1 .PP .SH OSC .PP All \fIOSC\fR sequences begin with \fB\eE]\fR, sometimes abbreviated \fIOSC\fR.\& .PP .TS allbox;l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx l l lx. T{ \fBSequence\fR T} T{ \fBOrigin\fR T} T{ \fBDescription\fR T} T{ \eE] 0 ; \fIPt\fR \eE\e T} T{ xterm T} T{ Set window icon and title to \fIPt\fR (foot does not support setting the icon) T} T{ \eE] 2 ; \fIPt\fR \eE\e T} T{ xterm T} T{ Set window title to \fIPt\fR T} T{ \eE] 4 ; \fIc\fR ; \fIspec\fR \eE\e T} T{ xterm T} T{ Change color number \fIc\fR to \fIspec\fR, where \fIspec\fR is a color in XParseColor format.\& foot only supports RGB colors; either \fBrgb://\fR, or the legacy format (\fB#rgb\fR).\& T} T{ \eE] 7 ; \fIUri\fR \eE\e T} T{ iTerm2 T} T{ Update the terminal'\&s current working directory.\& Newly spawned terminals will launch in this directory.\& \fIUri\fR must be in the format \fBfile:///\fR.\& \fBhostname\fR must refer to your local host.\& T} T{ \eE] 8 ; id=\fIID\fR ; \fIUri\fR \eE\e T} T{ VTE+iTerm2 T} T{ Hyperlink (a.\&k.\&a HTML-like anchors).\& id=\fIID\fR is optional; if assigned, all URIs with the same \fIID\fR will be treated as a single hyperlink.\& An empty URI closes the hyperlink.\& T} T{ \eE] 9 ; \fImsg\fR \eE\e T} T{ iTerm2 T} T{ Desktop notification, uses \fBnotify\fR in \fBfoot.\&ini\fR(5).\& T} T{ \eE] 10 ; \fIspec\fR \eE\e T} T{ xterm T} T{ Change the default foreground color to \fIspec\fR, a color in XParseColor format.\& T} T{ \eE] 11 ; \fIspec\fR \eE\e T} T{ xterm T} T{ Change the default background color to \fIspec\fR, a color in XParseColor format.\& Foot implements URxvt'\&s transparency extension; e.\&g.\& \fIspec\fR=\fB[75]#ff00ff\fR or \fIspec\fR=\fBrgba:ff/00/ff/bf\fR (pink with 75% alpha).\& T} T{ \eE] 12 ; \fIspec\fR \eE\e T} T{ xterm T} T{ Change cursor color to \fIspec\fR, a color in XParseColor format.\& T} T{ \eE] 17 ; \fIspec\fR \eE\e T} T{ xterm T} T{ Change selection background color to \fIspec\fR, a color in XParseColor format.\& T} T{ \eE] 19 ; \fIspec\fR \eE\e T} T{ xterm T} T{ Change selection foreground color to \fIspec\fR, a color in XParseColor format.\& T} T{ \eE] 22 ; \fIxcursor-pointer-name\fR \eE\e T} T{ xterm T} T{ Sets the xcursor pointer.\& An empty name, or an invalid name resets it.\& T} T{ \eE] 52 ; \fIPc\fR ; ?\& \eE\e T} T{ xterm T} T{ Send clipboard data.\& \fIPc\fR can be either \fBc\fR, \fBs\fR or \fBp\fR.\& \fBc\fR uses the clipboard as source, and \fBs\fR and \fBp\fR uses the primary selection.\& The response is \fB\eE] 52 ; Pc ; E\e\fR, where \fIPc\fR denotes the source used.\& T} T{ \eE] 52 ; \fIPc\fR ; \fIPd\fR \eE\e T} T{ xterm T} T{ Copy \fIPd\fR (base64 encoded text) to the clipboard.\& \fIPc\fR denotes the target: \fBc\fR targets the clipboard and \fBs\fR and \fBp\fR the primary selection.\& T} T{ \eE] 104 ; \fIc\fR \eE\e T} T{ xterm T} T{ Reset color number \fIc\fR (multiple semicolon separated \fIc\fR values may be provided), or all colors (excluding the default foreground/background colors) if \fIc\fR is omitted.\& T} T{ \eE] 110 \eE\e T} T{ xterm T} T{ Reset default foreground color T} T{ \eE] 111 \eE\e T} T{ xterm T} T{ Reset default background color T} T{ \eE] 112 \eE\e T} T{ xterm T} T{ Reset cursor color T} T{ \eE] 117 \eE\e T} T{ xterm T} T{ Reset selection background color T} T{ \eE] 119 \eE\e T} T{ xterm T} T{ Reset selection foreground color T} T{ \eE] 133 ; A \eE\e T} T{ FinalTerm T} T{ Mark start of shell prompt T} T{ \eE] 133 ; C \eE\e T} T{ FinalTerm T} T{ Mark start of command output T} T{ \eE] 133 ; D \eE\e T} T{ FinalTerm T} T{ Mark end of command output T} T{ \eE] 176 ; \fIapp-id\fR \eE\e T} T{ foot T} T{ Set app ID.\& \fIapp-id\fR is optional; if assigned, the terminal window App ID will be set to the value.\& An empty App ID resets the value to the default.\& T} T{ \eE] 555 \eE\e T} T{ foot T} T{ Flash the entire terminal (foot extension) T} T{ \eE] 777;notify;\fItitle\fR;\fImsg\fR \eE\e T} T{ urxvt T} T{ Desktop notification, uses \fBnotify\fR in \fBfoot.\&ini\fR(5).\& T} .TE .sp 1 .SH DCS .PP All \fIDCS\fR sequences begin with \fB\eEP\fR (sometimes abbreviated \fIDCS\fR), and are terminated by \fB\eE\e\fR (ST).\& .PP .TS allbox;l lx l lx l lx l lx l lx. T{ \fBSequence\fR T} T{ \fBDescription\fR T} T{ \eEP q \eE\e T} T{ Emit a sixel image at the current cursor position T} T{ \eP $ q \eE\e T} T{ Request selection or setting (DECRQSS).\& Implemented queries: DECSTBM, SGR and DECSCUSR.\& T} T{ \eEP = \fIC\fR s \eE\e T} T{ Begin (\fIC\fR=\fB1\fR) or end (\fIC\fR=\fB2\fR) application synchronized updates.\& This sequence is supported for compatibility reasons, but it'\&s recommended to use private mode 2026 (see above) instead.\& T} T{ \eEP + q \eE\e T} T{ Query builtin terminfo database (XTGETTCAP) T} .TE .sp 1 .PP .SH FOOTNOTE .PP Foot does not support 8-bit control characters ("C1").\&