FreeBSD Manual Pages
foot-ctlseqs(7) Miscellaneous Information Manual foot-ctlseqs(7) NAME foot-ctlseqs - terminal control sequences supported by foot DESCRIPTION This document describes all the control sequences supported by foot. * Control characters * Sequences beginning with ESC * CSI - Control Sequence Introducer - SGR - Indexed and RGB colors (256-color palette and 24-bit colors) - Private modes - Window manipulation - Other * OSC - Operating System Command * DCS - Device Control String Control characters +----------+------+-------------------------------------------------------+ | Sequence | Name | Description | +----------+------+-------------------------------------------------------+ | \a | BEL | Depends on what bell in foot.ini(5) is set to. | +----------+------+-------------------------------------------------------+ | \b | BS | Backspace; move the cursor left one step. Wrap if bw | | | | is enabled. | +----------+------+-------------------------------------------------------+ | \t | HT | Horizontal tab; move the cursor to the next tab stop. | +----------+------+-------------------------------------------------------+ | \n | LF | Line feed; move the cursor down one step, or scroll | | | | content up if at the bottom line. | +----------+------+-------------------------------------------------------+ | \v | VT | Vertical tab; identical to LF. | +----------+------+-------------------------------------------------------+ | \f | FF | Form feed; identical to LF. | +----------+------+-------------------------------------------------------+ | \r | CR | Carriage ret; move the cursor to the leftmost column. | +----------+------+-------------------------------------------------------+ | \x0E | SO | Shift out; select the G1 character set. | +----------+------+-------------------------------------------------------+ | \x0F | SI | Shift in; select the G0 character set. | +----------+------+-------------------------------------------------------+ Sequences beginning with ESC Note: this table excludes sequences where ESC is part of a 7-bit equivalent to 8-bit C1 controls. +----------+---------+--------+-------------------------------------------+ | Sequence | Name | Origin | Description | +----------+---------+--------+-------------------------------------------+ | \E 7 | DECSC | VT100 | Save cursor position. | +----------+---------+--------+-------------------------------------------+ | \E 8 | DECRC | VT100 | Restore cursor position. | +----------+---------+--------+-------------------------------------------+ | \E c | RIS | VT100 | Reset terminal to initial state. | +----------+---------+--------+-------------------------------------------+ | \E D | IND | VT100 | Line feed; move the cursor down one step, | | | | | or scroll content up if at the bottom | | | | | margin. | +----------+---------+--------+-------------------------------------------+ | \E E | NEL | VT100 | Next line; move the cursor down one step, | | | | | and to the first column. Content is | | | | | scrolled up if at the bottom line. | +----------+---------+--------+-------------------------------------------+ | \E H | HTS | VT100 | Set one horizontal tab stop at the cur- | | | | | rent position. | +----------+---------+--------+-------------------------------------------+ | \E M | RI | VT100 | Reverse index; move the cursor up one | | | | | step, or scroll content down if at the | | | | | top margin. | +----------+---------+--------+-------------------------------------------+ | \E N | SS2 | VT220 | Single shift select of G2 character set | | | | | (affects next character only). | +----------+---------+--------+-------------------------------------------+ | \E O | SS3 | VT220 | Single shift select of G3 character set | | | | | (affects next character only). | +----------+---------+--------+-------------------------------------------+ | \E = | DECKPAM | VT100 | Switch keypad to application mode. | +----------+---------+--------+-------------------------------------------+ | \E > | DECKPNM | VT100 | Switch keypad to numeric mode. | +----------+---------+--------+-------------------------------------------+ | \E ( C | SCS | VT100 | Designate G0 character set. Supported | | | | | values for C are: 0 (DEC Special Charac- | | | | | ter and Line Drawing Set), and B (US- | | | | | ASCII). | +----------+---------+--------+-------------------------------------------+ | \E ) C | SCS | VT100 | Designate G1 character set. Same sup- | | | | | ported values for C as in G0. | +----------+---------+--------+-------------------------------------------+ | \E * C | SCS | VT220 | Designate G2 character set. Same sup- | | | | | ported values for C as in G0. | +----------+---------+--------+-------------------------------------------+ | \E + C | SCS | VT220 | Designate G3 character set. Same sup- | | | | | ported values for C as in G0. | +----------+---------+--------+-------------------------------------------+ CSI All sequences begin with \E[, 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. \E[ 1 m is really \E[1m). SGR All SGR sequences are in the form \E[ N m, where N is a decimal number - the parameter. Multiple parameters can be combined in a single CSI sequence by separating them with semicolons: \E[ 1;2;3 m. +-----------+-------------------------------------------------------------+ | Parameter | Description | +-----------+-------------------------------------------------------------+ | 0 | Reset all attributes | +-----------+-------------------------------------------------------------+ | 1 | Bold | +-----------+-------------------------------------------------------------+ | 2 | Dim | +-----------+-------------------------------------------------------------+ | 3 | Italic | +-----------+-------------------------------------------------------------+ | 4 | Underline, including styled underlines | +-----------+-------------------------------------------------------------+ | 5 | Blink | +-----------+-------------------------------------------------------------+ | 7 | Reverse video; swap foreground and background colors | +-----------+-------------------------------------------------------------+ | 8 | Conceal; text is not visible, but is copiable | +-----------+-------------------------------------------------------------+ | 9 | Crossed-out/strike | +-----------+-------------------------------------------------------------+ | 21 | Double underline | +-----------+-------------------------------------------------------------+ | 22 | Disable bold and dim | +-----------+-------------------------------------------------------------+ | 23 | Disable italic | +-----------+-------------------------------------------------------------+ | 24 | Disable underline | +-----------+-------------------------------------------------------------+ | 25 | Disable blink | +-----------+-------------------------------------------------------------+ | 27 | Disable reverse video | +-----------+-------------------------------------------------------------+ | 28 | Disable conceal | +-----------+-------------------------------------------------------------+ | 29 | Disable crossed-out | +-----------+-------------------------------------------------------------+ | 30-37 | Select foreground color (using regularN in foot.ini(5)) | +-----------+-------------------------------------------------------------+ | 38 | Select foreground color, see "indexed and RGB colors" below | +-----------+-------------------------------------------------------------+ | 39 | Use the default foreground color (foreground in | | | foot.ini(5)) | +-----------+-------------------------------------------------------------+ | 40-47 | Select background color (using regularN in foot.ini(5)) | +-----------+-------------------------------------------------------------+ | 48 | Select background color, see "indexed and RGB colors" below | +-----------+-------------------------------------------------------------+ | 49 | Use the default background color (background in | | | foot.ini(5)) | +-----------+-------------------------------------------------------------+ | 58 | Select underline color, see "indexed and RGB colors" below | +-----------+-------------------------------------------------------------+ | 59 | Use the default underline color | +-----------+-------------------------------------------------------------+ | 90-97 | Select foreground color (using brightN in foot.ini(5)) | +-----------+-------------------------------------------------------------+ | 100-107 | Select background color (using brightN in foot.ini(5)) | +-----------+-------------------------------------------------------------+ Indexed and RGB colors (256-color palette and 24-bit colors) Foot supports both the new sub-parameter based variants, and the older pa- rameter based variants for setting foreground and background colors. Indexed colors: * \E[ 38 : 5 : idx m * \E[ 38 ; 5 ; idx m RGB colors: * \E[ 38 : 2 : cs : r : g : b m * \E[ 38 : 2 : r : g : b m * \E[ 38 ; 2 ; r ; g ; b m The first variant is the "correct" one (and foot also recognizes, but ig- nores, the optional tolerance parameters). The second one is allowed since many programs "forget" the color space ID, cs. The sub-parameter based variants are preferred, and are what foot's ter- minfo(5) entry uses. Private Modes 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: +------------+-----------+------------------------------------------------+ | Sequence | Name | Description | +------------+-----------+------------------------------------------------+ | \E[ ? Pm h | DECSET | Enable private mode | +------------+-----------+------------------------------------------------+ | \E[ ? Pm l | DECRST | Disable private mode | +------------+-----------+------------------------------------------------+ | \E[ ? Pm s | XTSAVE | Save private mode | +------------+-----------+------------------------------------------------+ | \E[ ? Pm r | XTRESTORE | Restore private mode | +------------+-----------+------------------------------------------------+ The Pm parameter in the above sequences denotes a numerical ID that corre- sponds to one of the following modes: +-----------+-------------+-----------------------------------------------+ | Parameter | Origin | Description | +-----------+-------------+-----------------------------------------------+ | 1 | VT100 | Cursor keys mode (DECCKM) | +-----------+-------------+-----------------------------------------------+ | 5 | VT100 | Reverse video (DECSCNM) | +-----------+-------------+-----------------------------------------------+ | 6 | VT100 | Origin mode (DECOM) | +-----------+-------------+-----------------------------------------------+ | 7 | VT100 | Auto-wrap mode (DECAWM) | +-----------+-------------+-----------------------------------------------+ | 12 | AT&T 610 | Cursor blink | +-----------+-------------+-----------------------------------------------+ | 25 | VT220 | Cursor visibility (DECTCEM) | +-----------+-------------+-----------------------------------------------+ | 45 | xterm | Reverse-wraparound mode | +-----------+-------------+-----------------------------------------------+ | 47 | xterm | Same as 1047 (see below) | +-----------+-------------+-----------------------------------------------+ | 66 | VT320 | Numeric keypad mode (DECNKM); same as DECK- | | | | PAM/DECKPNM when enabled/disabled | +-----------+-------------+-----------------------------------------------+ | 1000 | xterm | Send mouse x/y on button press/release | +-----------+-------------+-----------------------------------------------+ | 1001 | xterm | Use hilite mouse tracking | +-----------+-------------+-----------------------------------------------+ | 1002 | xterm | Use cell motion mouse tracking | +-----------+-------------+-----------------------------------------------+ | 1003 | xterm | Use all motion mouse tracking | +-----------+-------------+-----------------------------------------------+ | 1004 | xterm | Send FocusIn/FocusOut events | +-----------+-------------+-----------------------------------------------+ | 1006 | xterm | SGR mouse mode | +-----------+-------------+-----------------------------------------------+ | 1007 | xterm | Alternate scroll mode | +-----------+-------------+-----------------------------------------------+ | 1015 | urxvt | urxvt mouse mode | +-----------+-------------+-----------------------------------------------+ | 1016 | xterm | SGR-Pixels mouse mode | +-----------+-------------+-----------------------------------------------+ | 1034 | xterm | 8-bit Meta mode | +-----------+-------------+-----------------------------------------------+ | 1035 | xterm | Num Lock modifier (see xterm numLock option) | +-----------+-------------+-----------------------------------------------+ | 1036 | xterm | Send ESC when Meta modifies a key (see xterm | | | | metaSendsEscape option) | +-----------+-------------+-----------------------------------------------+ | 1042 | xterm | Perform action for BEL character (see bell in | | | | foot.ini(5)) | +-----------+-------------+-----------------------------------------------+ | 1047 | xterm | Use alternate screen buffer | +-----------+-------------+-----------------------------------------------+ | 1048 | xterm | Save/restore cursor (DECSET=save, DECRST=re- | | | | store) | +-----------+-------------+-----------------------------------------------+ | 1049 | xterm | Equivalent to 1048 and 1047 combined | +-----------+-------------+-----------------------------------------------+ | 1070 | xterm | Use private color registers for each sixel | +-----------+-------------+-----------------------------------------------+ | 2004 | xterm | Wrap pasted text with start/end delimiters | | | | (bracketed paste mode) | +-----------+-------------+-----------------------------------------------+ | 2026 | terminal-wg | Application synchronized updates mode | +-----------+-------------+-----------------------------------------------+ | 2027 | contour | Grapheme cluster processing | +-----------+-------------+-----------------------------------------------+ | 2031 | contour | Request color theme updates | +-----------+-------------+-----------------------------------------------+ | 2048 | TODO | In-band window resize notifications | +-----------+-------------+-----------------------------------------------+ | 8452 | xterm | Position cursor to the right of sixels, in- | | | | stead of on the next line | +-----------+-------------+-----------------------------------------------+ | 737769 | foot | Input Method Editor (IME) mode | +-----------+-------------+-----------------------------------------------+ Window manipulation Foot implements a sub-set of XTerm's (originally dtterm's) window manipula- tion sequences. The generic format is: \E[ Ps ; Ps ; Ps t +-------------+-------------+---------------------------------------------+ | Parameter 1 | Parameter 2 | Description | +-------------+-------------+---------------------------------------------+ | 11 | - | Report if window is iconified. Foot always | | | | reports 1 - not iconified. | +-------------+-------------+---------------------------------------------+ | 13 | - | Report window position. Foot always reports | | | | (0,0), due to Wayland limitations. | +-------------+-------------+---------------------------------------------+ | 13 | 2 | Report text area position. Foot always re- | | | | ports (0,0) due to Wayland limitations. | +-------------+-------------+---------------------------------------------+ | 14 | - | Report text area size, in pixels. Foot re- | | | | ports the grid size, excluding the margins. | +-------------+-------------+---------------------------------------------+ | 14 | 2 | Report window size, in pixels. Foot reports | | | | the grid size plus the margins. | +-------------+-------------+---------------------------------------------+ | 15 | - | Report the screen size, in pixels. | +-------------+-------------+---------------------------------------------+ | 16 | - | Report the cell size, in pixels. | +-------------+-------------+---------------------------------------------+ | 18 | - | Report text area size, in characters. | +-------------+-------------+---------------------------------------------+ | 19 | - | Report screen size, in characters. | +-------------+-------------+---------------------------------------------+ | 20 | - | Report icon label. | +-------------+-------------+---------------------------------------------+ | 22 | - | Push window title+icon. | +-------------+-------------+---------------------------------------------+ | 22 | 1 | Push window icon. | +-------------+-------------+---------------------------------------------+ | 22 | 2 | Push window title. | +-------------+-------------+---------------------------------------------+ | 23 | - | Pop window title+icon. | +-------------+-------------+---------------------------------------------+ | 23 | 1 | Pop window icon. | +-------------+-------------+---------------------------------------------+ | 23 | 2 | Pop window title. | +-------------+-------------+---------------------------------------------+ Other +------------------+------------------+------------+----------------------+ | Parameter | Name | Origin | Description | +------------------+------------------+------------+----------------------+ | \E[ Ps c | DA | VT100 | Send primary device | | | | | attributes. Foot re- | | | | | sponds with "I'm a | | | | | VT220 with sixel and | | | | | ANSI color support". | +------------------+------------------+------------+----------------------+ | \E[ Ps A | CUU | VT100 | Cursor up - move | | | | | cursor up Ps times. | +------------------+------------------+------------+----------------------+ | \E[ Ps B | CUD | VT100 | Cursor down - move | | | | | cursor down Ps | | | | | times. | +------------------+------------------+------------+----------------------+ | \E[ Ps C | CUF | VT100 | Cursor forward - | | | | | move cursor to the | | | | | right Ps times. | +------------------+------------------+------------+----------------------+ | \E[ Ps D | CUB | VT100 | Cursor backward - | | | | | move cursor to the | | | | | left Ps times. | +------------------+------------------+------------+----------------------+ | \E[ Ps g | TBC | VT100 | Tab clear. Ps=0 -> | | | | | clear current col- | | | | | umn. Ps=3 -> clear | | | | | all. | +------------------+------------------+------------+----------------------+ | \E[ Ps ; Ps f | HVP | VT100 | Horizontal and ver- | | | | | tical position - | | | | | move cursor to row ; | | | | | column. | +------------------+------------------+------------+----------------------+ | \E[ Ps ; Ps H | CUP | VT100 | Cursor position - | | | | | move cursor to row ; | | | | | column. | +------------------+------------------+------------+----------------------+ | \E[ Ps J | ED | VT100 | Erase in display. | | | | | Ps=0 -> below cur- | | | | | sor. Ps=1 -> above | +------------------+------------------+------------+----------------------+ | \E[ Ps K | EL | VT100 | Erase in line. Ps=0 | | | | | -> right of cursor. | | | | | Ps=1 -> left of cur- | | | | | sor. Ps=2 -> all. | +------------------+------------------+------------+----------------------+ | \E[ Pm h | SM | VT100 | Set mode. Pm=4 -> | | | | | enable IRM (Inser- | | | | | tion Replacement | | | | | Mode). All other | | | | | values of Pm are un- | | | | | supported. | +------------------+------------------+------------+----------------------+ | \E[ Pm l | RM | VT100 | Reset mode. Pm=4 -> | | | | | disable IRM (Inser- | | | | | tion Replacement | | | | | Mode). All other | | | | | values of Pm are un- | | | | | supported. | +------------------+------------------+------------+----------------------+ | \E[ Ps n | DSR | VT100 | Device status re- | | | | | port. Ps=5 -> device | | | | | status. Ps=6 -> cur- | | | | | sor position. | +------------------+------------------+------------+----------------------+ | \E[ Ps L | IL | VT220 | Insert Ps lines. | +------------------+------------------+------------+----------------------+ | \E[ Ps M | DL | VT220 | Delete Ps lines. | +------------------+------------------+------------+----------------------+ | \E[ Ps P | DCH | VT220 | Delete Ps charac- | | | | | ters. | +------------------+------------------+------------+----------------------+ | \E[ Ps @ | ICH | VT220 | Insert Ps blank | | | | | characters. | +------------------+------------------+------------+----------------------+ | \E[ Ps X | ECH | VT220 | Erase Ps characters. | +------------------+------------------+------------+----------------------+ | \E[ > c | DA2 | VT220 | Send secondary de- | | | | | vice attributes. | | | | | Foot responds with | | | | | "I'm a VT220 and | | | | | here's my version | | | | | number". | +------------------+------------------+------------+----------------------+ | \E[ ! p | DECSTR | VT220 | Soft terminal reset. | +------------------+------------------+------------+----------------------+ | \E[ ? Ps $ p | DECRQM | VT320 | Request status of | | | | | DEC private mode. | | | | | The Ps parameter | | | | | corresponds to one | | | | | of the values men- | | | | | tioned in the "Pri- | | | | | vate Modes" section | | | | | above (as set with | | | | | DECSET/DECRST). | +------------------+------------------+------------+----------------------+ | \E[ Ps $ p | DECRQM | VT320 | Request status of | | | | | ECMA-48/ANSI mode. | | | | | See the descriptions | | | | | for SM/RM above for | | | | | recognized Ps val- | | | | | ues. | +------------------+------------------+------------+----------------------+ | \E[ Pt ; Pl ; Pb | DECCARA | VT400 | Change attributes in | | ; Pr ; Pm $ r | | | rectangular area. | | | | | Pt, Pl, Pb and Pr | | | | | denotes the rectan- | | | | | gle, Pm denotes the | | | | | SGR attributes. | +------------------+------------------+------------+----------------------+ | \E[ Pt ; Pl ; Pb | DECRARA | VT400 | Invert attributes in | | ; Pr ; Pm $ t | | | rectangular area. | | | | | Pt, Pl, Pb and Pr | | | | | denotes the rectan- | | | | | gle, Pm denotes the | | | | | SGR attributes. | +------------------+------------------+------------+----------------------+ | \E[ Pt ; Pl ; Pb | DECCRA | VT400 | Copy rectangular | | ; Pr ; Pp ; Pt ; | | | area. Pt, Pl, Pb | | Pl ; Pp $ v | | | and Pr denotes the | | | | | rectangle, Pt and Pl | | | | | denotes the target | | | | | location. | +------------------+------------------+------------+----------------------+ | \E[ Pc ; Pt ; Pl | DECFRA | VT420 | Fill rectangular | | ; Pb ; Pr $ x | | | area. Pc is the | | | | | character to use, | | | | | Pt, Pl, Pb and Pr | | | | | denotes the rectan- | | | | | gle. | +------------------+------------------+------------+----------------------+ | \E[ Pt ; Pl ; Pb | DECERA | VT400 | Erase rectangular | | ; Pr $ z | | | area. Pt, Pl, Pb and | | | | | Pr denotes the rec- | | | | | tangle. | +------------------+------------------+------------+----------------------+ | \E[ Ps T | SD | VT420 | Scroll down Ps | | | | | lines. | +------------------+------------------+------------+----------------------+ | \E[ s | SCOSC | SCO, VT510 | Save cursor posi- | | | | | tion. | +------------------+------------------+------------+----------------------+ | \E[ u | SCORC | SCO, VT510 | Restore cursor posi- | | | | | tion. | +------------------+------------------+------------+----------------------+ | \E[ Ps SP q | DECSCUSR | VT510 | Set cursor style. In | | | | | foot, Ps=0 means | | | | | "use style from | | | | | foot.ini". | +------------------+------------------+------------+----------------------+ | \E[ = Ps c | DA3 | VT510 | Send tertiary device | | | | | attributes. Foot re- | | | | | sponds with "FOOT", | | | | | in hexadecimal. | +------------------+------------------+------------+----------------------+ | \E[ Pm d | VPA | ECMA-48 | Line position ab- | | | | | solute - move cursor | | | | | to line Pm. | +------------------+------------------+------------+----------------------+ | \E[ Pm e | VPR | ECMA-48 | Line position rela- | | | | | tive - move cursor | | | | | down Pm lines. | +------------------+------------------+------------+----------------------+ | \E[ Pm a | HPR | ECMA-48 | Character position | | | | | relative - move cur- | | | | | sor to the right Pm | | | | | times. | +------------------+------------------+------------+----------------------+ | \E[ Ps E | CNL | ECMA-48 | Cursor next line - | | | | | move the cursor down | | | | | Ps times. | +------------------+------------------+------------+----------------------+ | \E[ Ps F | CPL | ECMA-48 | Cursor preceding | | | | | line - move the | | | | | cursor up Ps times. | +------------------+------------------+------------+----------------------+ | \E[ Pm ` | HPA | ECMA-48 | Character position | | | | | absolute - move cur- | | | | | sor to column Pm. | +------------------+------------------+------------+----------------------+ | \E[ Ps G | CHA | ECMA-48 | Cursor character ab- | | | | | solute - move cursor | | | | | to column Ps. cur- | | | | | sor. Ps=2 -> all. | | | | | Ps=3 -> saved lines. | +------------------+------------------+------------+----------------------+ | \E[ Ps S | SU | ECMA-48 | Scroll up Ps lines. | +------------------+------------------+------------+----------------------+ | \E[ Ps I | CHT | ECMA-48 | Cursor forward tabu- | | | | | lation Ps tab stops. | +------------------+------------------+------------+----------------------+ | \E[ Ps Z | CBT | ECMA-48 | Cursor backward tab- | | | | | ulation Ps tab | | | | | stops. | +------------------+------------------+------------+----------------------+ | \E[ Ps b | REP | ECMA-48 | Repeat the preceding | | | | | printable character | | | | | Ps times. | +------------------+------------------+------------+----------------------+ | \E[ ? Pi ; Pa ; | XTSMGRAPHICS | xterm | Set or request sixel | | Pv S | | | attributes. | +------------------+------------------+------------+----------------------+ | \E[ > Ps q | XTVERSION | xterm | Ps=0 -> report ter- | | | | | minal name and ver- | | | | | sion, in the form | | | | | \EP>|foot(ver- | | | | | sion)\E\. | +------------------+------------------+------------+----------------------+ | \E[ > 4 ; Pv m | XTMODKEYS | xterm | Set level of the | | | | | modifyOtherKeys | | | | | property to Pv. Note | | | | | that foot only sup- | | | | | ports level 1 and 2, | | | | | where level 1 is the | | | | | default setting. | +------------------+------------------+------------+----------------------+ | \E[ ? Pp m | XTQMODKEYS | xterm | Query key modifier | | | | | options | +------------------+------------------+------------+----------------------+ | \E[ > 4 n | <unnamed> | xterm | Resets the modi- | | | | | fyOtherKeys property | | | | | to level 1. Note | | | | | that in foot, this | | | | | sequence does not | | | | | completely disable | | | | | modifyOtherKeys, | | | | | since foot only sup- | | | | | ports level 1 and | | | | | level 2 (and not | | | | | level 0). | +------------------+------------------+------------+----------------------+ | \E[ ? u | <unnamed> | kitty | Query current values | | | | | of the Kitty key- | | | | | board flags. | +------------------+------------------+------------+----------------------+ | \E[ > flags u | <unnamed> | kitty | Push a new entry, | | | | | flags, to the Kitty | | | | | keyboard stack. | +------------------+------------------+------------+----------------------+ | \E[ < number u | <unnamed> | kitty | Pop number of en- | | | | | tries from the Kitty | | | | | keyboard stack. | +------------------+------------------+------------+----------------------+ | \E[ = flags ; | <unnamed> | kitty | Update current Kitty | | mode u | | | keyboard flags, ac- | | | | | cording to mode. | +------------------+------------------+------------+----------------------+ | \E[ # P | XTPUSHCOLORS | xterm | Push current color | | | | | palette onto stack | +------------------+------------------+------------+----------------------+ | \E[ # Q | XTPOPCOLORS | xterm | Pop color palette | | | | | from stack | +------------------+------------------+------------+----------------------+ | \E[ # R | XTREPORTCOLORS | xterm | Report the current | | | | | entry on the palette | | | | | stack, and the num- | | | | | ber of palettes | | | | | stored on the stack. | +------------------+------------------+------------+----------------------+ | \E[ ? 996 n | Query the cur- | contour | The current color | | | rent (color) | | theme mode (light or | | | theme mode | | dark) is reported as | | | | | CSI ? 997 ; 1|2 n, | | | | | where 1 means dark | | | | | and 2 light. By con- | | | | | vention, the primary | | | | | theme in foot is | | | | | considered dark, and | | | | | the alternative | | | | | theme light. | +------------------+------------------+------------+----------------------+ OSC All OSC sequences begin with \E], sometimes abbreviated OSC. +----------------------+------------+-------------------------------------+ | Sequence | Origin | Description | +----------------------+------------+-------------------------------------+ | \E] 0 ; Pt \E\ | xterm | Set window icon and title to Pt. | +----------------------+------------+-------------------------------------+ | \E] 1 ; Pt \E\ | xterm | Set window icon to Pt. | +----------------------+------------+-------------------------------------+ | \E] 2 ; Pt \E\ | xterm | Set window title to Pt | +----------------------+------------+-------------------------------------+ | \E] 4 ; c ; spec \E\ | xterm | Change color number c to spec, | | | | where spec is a color in XParseC- | | | | olor format. foot only supports RGB | | | | colors; either | | | | rgb:<red>/<green>/<blue>, or the | | | | legacy format (#rgb). | +----------------------+------------+-------------------------------------+ | \E] 7 ; Uri \E\ | iTerm2 | Update the terminal's current work- | | | | ing directory. Newly spawned termi- | | | | nals will launch in this directory. | | | | Uri must be in the format | | | | file://<hostname>/<path>. hostname | | | | must refer to your local host. | +----------------------+------------+-------------------------------------+ | \E] 8 ; id=ID ; Uri | VTE+iTerm2 | Hyperlink (a.k.a HTML-like an- | | \E\ | | chors). id=ID is optional; if as- | | | | signed, all URIs with the same ID | | | | will be treated as a single hyper- | | | | link. An empty URI closes the hy- | | | | perlink. | +----------------------+------------+-------------------------------------+ | \E] 9 ; msg \E\ | iTerm2 | Desktop notification, uses notify | | | | in foot.ini(5). | +----------------------+------------+-------------------------------------+ | \E] 10 ; spec \E\ | xterm | Change the default foreground color | | | | to spec, a color in XParseColor | | | | format. | +----------------------+------------+-------------------------------------+ | \E] 11 ; spec \E\ | xterm | Change the default background color | | | | to spec, a color in XParseColor | | | | format. Foot implements URxvt's | | | | transparency extension; e.g. | | | | spec=[75]#ff00ff or | | | | spec=rgba:ff/00/ff/bf (pink with | | | | 75% alpha). | +----------------------+------------+-------------------------------------+ | \E] 12 ; spec \E\ | xterm | Change cursor color to spec, a | | | | color in XParseColor format. | +----------------------+------------+-------------------------------------+ | \E] 17 ; spec \E\ | xterm | Change selection background color | | | | to spec, a color in XParseColor | | | | format. | +----------------------+------------+-------------------------------------+ | \E] 19 ; spec \E\ | xterm | Change selection foreground color | | | | to spec, a color in XParseColor | | | | format. | +----------------------+------------+-------------------------------------+ | \E] 22 ; xcursor- | xterm | Sets the xcursor pointer. An empty | | pointer-name \E\ | | name, or an invalid name resets it. | +----------------------+------------+-------------------------------------+ | \E] 52 ; Pc ; ? \E\ | xterm | Send clipboard data. Pc can be ei- | | | | ther c, s or p. c uses the clip- | | | | board as source, and s and p uses | | | | the primary selection. The response | | | | is \E] 52 ; Pc ; <base64-encoded | | | | data> E\, where Pc denotes the | | | | source used. | +----------------------+------------+-------------------------------------+ | \E] 52 ; Pc ; Pd \E\ | xterm | Copy Pd (base64 encoded text) to | | | | the clipboard. Pc denotes the tar- | | | | get: c targets the clipboard and s | | | | and p the primary selection. | +----------------------+------------+-------------------------------------+ | \E] 66 ; params ; | kitty | Text sizing protocol (only 'w', | | text \E\ | | width, supported) | +----------------------+------------+-------------------------------------+ | \E] 99 ; params ; | kitty | Desktop notification; uses desktop- | | payload \E\ | | notifications.command in | | | | foot.ini(5). | +----------------------+------------+-------------------------------------+ | \E] 104 ; c \E\ | xterm | Reset color number c (multiple | | | | semicolon separated c values may be | | | | provided), or all colors (excluding | | | | the default foreground/background | | | | colors) if c is omitted. | +----------------------+------------+-------------------------------------+ | \E] 110 \E\ | xterm | Reset default foreground color | +----------------------+------------+-------------------------------------+ | \E] 111 \E\ | xterm | Reset default background color | +----------------------+------------+-------------------------------------+ | \E] 112 \E\ | xterm | Reset cursor color | +----------------------+------------+-------------------------------------+ | \E] 117 \E\ | xterm | Reset selection background color | +----------------------+------------+-------------------------------------+ | \E] 119 \E\ | xterm | Reset selection foreground color | +----------------------+------------+-------------------------------------+ | \E] 133 ; A \E\ | FinalTerm | Mark start of shell prompt | +----------------------+------------+-------------------------------------+ | \E] 133 ; C \E\ | FinalTerm | Mark start of command output | +----------------------+------------+-------------------------------------+ | \E] 133 ; D \E\ | FinalTerm | Mark end of command output | +----------------------+------------+-------------------------------------+ | \E] 176 ; app-id \E\ | foot | Set app ID. app-id 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. | +----------------------+------------+-------------------------------------+ | \E] 555 \E\ | foot | Flash the entire terminal (foot ex- | | | | tension) | +----------------------+------------+-------------------------------------+ | \E] 777;notify;ti- | urxvt | Desktop notification, uses desktop- | | tle;msg \E\ | | notifications.command in | | | | foot.ini(5). | +----------------------+------------+-------------------------------------+ DCS All DCS sequences begin with \EP (sometimes abbreviated DCS), and are ter- minated by \E\ (ST). +-----------------------------+-------------------------------------------+ | Sequence | Description | +-----------------------------+-------------------------------------------+ | \EP q <sixel data> \E\ | Emit a sixel image at the current cursor | | | position | +-----------------------------+-------------------------------------------+ | \EP $ q <query> \E\ | Request selection or setting (DECRQSS). | | | Implemented queries: DECSTBM, SGR and | | | DECSCUSR. | +-----------------------------+-------------------------------------------+ | \EP = C s \E\ | Begin (C=1) or end (C=2) application syn- | | | chronized updates. This sequence is sup- | | | ported for compatibility reasons, but | | | it's recommended to use private mode 2026 | | | (see above) instead. | +-----------------------------+-------------------------------------------+ | \EP + q <hex encoded capa- | Query builtin terminfo database | | bility name> \E\ | (XTGETTCAP) | +-----------------------------+-------------------------------------------+ FOOTNOTE Foot does not support 8-bit control characters ("C1"). 2026-06-11 foot-ctlseqs(7)
NAME | DESCRIPTION | Control characters | Sequences beginning with ESC | CSI | OSC | DCS | FOOTNOTE
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=foot-ctlseqs&sektion=7&manpath=FreeBSD+Ports+15.1.quarterly>
