Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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	equiv-
       alent 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.	Con- |
       |	  |	    |	     | tent is scrolled	up if at the  bottom |
       |	  |	    |	     | line.				     |
       +----------+---------+--------+---------------------------------------+
       | \E H	  | HTS	    | VT100  | Set  one	 horizontal  tab stop at the |
       |	  |	    |	     | current 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 |
       |	  |	    |	     | Character and Line Drawing Set),	 and |
       |	  |	    |	     | B (USASCII).			     |
       +----------+---------+--------+---------------------------------------+
       | \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
       parameter 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
       ignores,	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
       terminfo(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 fol-
       lowing 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
       corresponds 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 |
       |	   |		 | DECKPAM/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	 op- |
       |	   |		 | tion)				     |
       +-----------+-------------+-------------------------------------------+
       | 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,	 DE- |
       |	   |		 | CRST=restore)			     |
       +-----------+-------------+-------------------------------------------+
       | 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 delim- |
       |	   |		 | iters (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, |
       |	   |		 | instead 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 ma-
       nipulation sequences. The generic format	is:

       \E[ Ps ;	Ps ; Ps	t

       +-------------+-------------+-----------------------------------------+
       | Parameter 1 | Parameter 2 | Description			     |
       +-------------+-------------+-----------------------------------------+
       | 11	     | -	   | Report if window is iconified. Foot al- |
       |	     |		   | ways reports 1 - not iconified.	     |
       +-------------+-------------+-----------------------------------------+
       | 13	     | -	   | Report window position. Foot always re- |
       |	     |		   | ports (0,0),  due	to  Wayland  limita- |
       |	     |		   | tions.				     |
       +-------------+-------------+-----------------------------------------+
       | 13	     | 2	   | Report  text area position. Foot always |
       |	     |		   | reports (0,0) due	to  Wayland  limita- |
       |	     |		   | tions.				     |
       +-------------+-------------+-----------------------------------------+
       | 14	     | -	   | Report  text area size, in	pixels.	Foot |
       |	     |		   | reports the grid  size,  excluding	 the |
       |	     |		   | margins.				     |
       +-------------+-------------+-----------------------------------------+
       | 14	     | 2	   | Report window size, in pixels. Foot re- |
       |	     |		   | ports 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 de- |
       |		  |		     |		  | vice attributes. |
       |		  |		     |		  | Foot    responds |
       |		  |		     |		  | 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 |
       |		  |		     |		  | column.  Ps=3 -> |
       |		  |		     |		  | clear all.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	; Ps f	  | HVP		     | VT100	  | Horizontal	 and |
       |		  |		     |		  | vertical   posi- |
       |		  |		     |		  | tion - move	cur- |
       |		  |		     |		  | sor	 to  row   ; |
       |		  |		     |		  | column.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	; Ps H	  | CUP		     | VT100	  | Cursor  position |
       |		  |		     |		  | - move cursor to |
       |		  |		     |		  | row	; column.    |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	J	  | ED		     | VT100	  | Erase  in	dis- |
       |		  |		     |		  | play.   Ps=0  -> |
       |		  |		     |		  | below    cursor. |
       |		  |		     |		  | Ps=1 -> above    |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	K	  | EL		     | VT100	  | Erase  in  line. |
       |		  |		     |		  | Ps=0 -> right of |
       |		  |		     |		  | cursor. Ps=1  -> |
       |		  |		     |		  | left  of cursor. |
       |		  |		     |		  | Ps=2 -> all.     |
       +------------------+------------------+------------+------------------+
       | \E[ Pm	h	  | SM		     | VT100	  | Set	 mode.	Pm=4 |
       |		  |		     |		  | ->	 enable	 IRM |
       |		  |		     |		  | (Insertion	 Re- |
       |		  |		     |		  | placement Mode). |
       |		  |		     |		  | All	other values |
       |		  |		     |		  | of Pm are unsup- |
       |		  |		     |		  | ported.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Pm	l	  | RM		     | VT100	  | Reset mode.	Pm=4 |
       |		  |		     |		  | ->	disable	 IRM |
       |		  |		     |		  | (Insertion	 Re- |
       |		  |		     |		  | placement Mode). |
       |		  |		     |		  | All	other values |
       |		  |		     |		  | of Pm are unsup- |
       |		  |		     |		  | ported.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	n	  | DSR		     | VT100	  | Device    status |
       |		  |		     |		  | report. Ps=5  -> |
       |		  |		     |		  | device   status. |
       |		  |		     |		  | Ps=6  ->  cursor |
       |		  |		     |		  | position.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	L	  | IL		     | VT220	  | Insert Ps lines. |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	M	  | DL		     | VT220	  | Delete Ps lines. |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	P	  | DCH		     | VT220	  | Delete  Ps char- |
       |		  |		     |		  | acters.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	@	  | ICH		     | VT220	  | Insert Ps  blank |
       |		  |		     |		  | characters.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	X	  | ECH		     | VT220	  | Erase Ps charac- |
       |		  |		     |		  | ters.	     |
       +------------------+------------------+------------+------------------+
       | \E[ > c	  | DA2		     | VT220	  | Send   secondary |
       |		  |		     |		  | device   attrib- |
       |		  |		     |		  | utes.  Foot	 re- |
       |		  |		     |		  | sponds with	"I'm |
       |		  |		     |		  | a	VT220	 and |
       |		  |		     |		  | here's  my	ver- |
       |		  |		     |		  | sion number".    |
       +------------------+------------------+------------+------------------+
       | \E[ ! p	  | DECSTR	     | VT220	  | Soft    terminal |
       |		  |		     |		  | reset.	     |
       +------------------+------------------+------------+------------------+
       | \E[ ? Ps $ p	  | DECRQM	     | VT320	  | Request   status |
       |		  |		     |		  | of	DEC  private |
       |		  |		     |		  | mode. The Ps pa- |
       |		  |		     |		  | rameter   corre- |
       |		  |		     |		  | sponds to one of |
       |		  |		     |		  | the	values	men- |
       |		  |		     |		  | tioned   in	 the |
       |		  |		     |		  | "Private  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 |
       |		  |		     |		  | values.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Pt	; Pl ; Pb | DECCARA	     | VT400	  | Change   attrib- |
       | ; Pr ;	Pm $ r	  |		     |		  | utes  in rectan- |
       |		  |		     |		  | gular area.	 Pt, |
       |		  |		     |		  | Pl,	 Pb  and  Pr |
       |		  |		     |		  | denotes the	rec- |
       |		  |		     |		  | tangle,  Pm	 de- |
       |		  |		     |		  | notes   the	 SGR |
       |		  |		     |		  | attributes.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Pt	; Pl ; Pb | DECRARA	     | VT400	  | Invert   attrib- |
       | ; Pr ;	Pm $ t	  |		     |		  | utes  in rectan- |
       |		  |		     |		  | gular area.	 Pt, |
       |		  |		     |		  | Pl,	 Pb  and  Pr |
       |		  |		     |		  | denotes the	rec- |
       |		  |		     |		  | tangle,  Pm	 de- |
       |		  |		     |		  | notes   the	 SGR |
       |		  |		     |		  | attributes.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Pt	; Pl ; Pb | DECCRA	     | VT400	  | Copy rectangular |
       | ; Pr ;	Pp ; Pt	; |		     |		  | area.   Pt,	 Pl, |
       | Pl ; Pp $ v	  |		     |		  | Pb	and  Pr	 de- |
       |		  |		     |		  | notes  the	rec- |
       |		  |		     |		  | tangle,  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	rectangle.   |
       +------------------+------------------+------------+------------------+
       | \E[ Pt	; Pl ; Pb | DECERA	     | VT400	  | Erase  rectangu- |
       | ; Pr $	z	  |		     |		  | lar	 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 po- |
       |		  |		     |		  | sition.	     |
       +------------------+------------------+------------+------------------+
       | \E[ u		  | SCORC	     | SCO, VT510 | Restore   cursor |
       |		  |		     |		  | position.	     |
       +------------------+------------------+------------+------------------+
       | \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   attrib- |
       |		  |		     |		  | utes.  Foot	 re- |
       |		  |		     |		  | sponds	with |
       |		  |		     |		  | "FOOT", in hexa- |
       |		  |		     |		  | decimal.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Pm	d	  | VPA		     | ECMA-48	  | Line    position |
       |		  |		     |		  | absolute -	move |
       |		  |		     |		  | cursor  to	line |
       |		  |		     |		  | Pm.		     |
       +------------------+------------------+------------+------------------+
       | \E[ Pm	e	  | VPR		     | ECMA-48	  | Line    position |
       |		  |		     |		  | relative  -	move |
       |		  |		     |		  | cursor  down  Pm |
       |		  |		     |		  | lines.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Pm	a	  | HPR		     | ECMA-48	  | Character  posi- |
       |		  |		     |		  | tion relative  - |
       |		  |		     |		  | move  cursor  to |
       |		  |		     |		  | the	  right	  Pm |
       |		  |		     |		  | times.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	E	  | CNL		     | ECMA-48	  | Cursor next	line |
       |		  |		     |		  | -  move the	cur- |
       |		  |		     |		  | sor	  down	  Ps |
       |		  |		     |		  | times.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	F	  | CPL		     | ECMA-48	  | Cursor preceding |
       |		  |		     |		  | line  - move the |
       |		  |		     |		  | cursor   up	  Ps |
       |		  |		     |		  | times.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Pm	`	  | HPA		     | ECMA-48	  | Character  posi- |
       |		  |		     |		  | tion  absolute - |
       |		  |		     |		  | move  cursor  to |
       |		  |		     |		  | column Pm.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	G	  | CHA		     | ECMA-48	  | Cursor character |
       |		  |		     |		  | absolute  -	move |
       |		  |		     |		  | cursor to column |
       |		  |		     |		  | Ps.	cursor.	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 |
       |		  |		     |		  | tabulation	  Ps |
       |		  |		     |		  | tab	stops.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	Z	  | CBT		     | ECMA-48	  | Cursor  backward |
       |		  |		     |		  | tabulation	  Ps |
       |		  |		     |		  | tab	stops.	     |
       +------------------+------------------+------------+------------------+
       | \E[ Ps	b	  | REP		     | ECMA-48	  | Repeat the	pre- |
       |		  |		     |		  | ceding printable |
       |		  |		     |		  | character	  Ps |
       |		  |		     |		  | times.	     |
       +------------------+------------------+------------+------------------+
       | \E[  ?	Pi ; Pa	; | XTSMGRAPHICS     | xterm	  | Set	 or  request |
       | Pv S		  |		     |		  | sixel    attrib- |
       |		  |		     |		  | utes.	     |
       +------------------+------------------+------------+------------------+
       | \E[ > Ps q	  | XTVERSION	     | xterm	  | Ps=0  ->  report |
       |		  |		     |		  | terminal	name |
       |		  |		     |		  | and	version,  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    supports |
       |		  |		     |		  | level  1  and 2, |
       |		  |		     |		  | where level	1 is |
       |		  |		     |		  | the	default	set- |
       |		  |		     |		  | ting.	     |
       +------------------+------------------+------------+------------------+
       | \E[ ? Pp m	  | XTQMODKEYS	     | xterm	  | Query key  modi- |
       |		  |		     |		  | fier options     |
       +------------------+------------------+------------+------------------+
       | \E[ > 4 n	  | <unnamed>	     | xterm	  | Resets the modi- |
       |		  |		     |		  | fyOtherKeys	     |
       |		  |		     |		  | property	  to |
       |		  |		     |		  | level  1.	Note |
       |		  |		     |		  | that   in  foot, |
       |		  |		     |		  | this    sequence |
       |		  |		     |		  | does   not	com- |
       |		  |		     |		  | pletely  disable |
       |		  |		     |		  | modifyOtherKeys, |
       |		  |		     |		  | since  foot	only |
       |		  |		     |		  | supports level 1 |
       |		  |		     |		  | and	level 2	(and |
       |		  |		     |		  | not	level 0).    |
       +------------------+------------------+------------+------------------+
       | \E[ ? u	  | <unnamed>	     | kitty	  | Query    current |
       |		  |		     |		  | values   of	 the |
       |		  |		     |		  | Kitty   keyboard |
       |		  |		     |		  | flags.	     |
       +------------------+------------------+------------+------------------+
       | \E[ > flags u	  | <unnamed>	     | kitty	  | Push  a  new en- |
       |		  |		     |		  | try,  flags,  to |
       |		  |		     |		  | the	 Kitty	key- |
       |		  |		     |		  | board stack.     |
       +------------------+------------------+------------+------------------+
       | \E[ < number u	  | <unnamed>	     | kitty	  | Pop	 number	  of |
       |		  |		     |		  | entries from the |
       |		  |		     |		  | Kitty   keyboard |
       |		  |		     |		  | stack.	     |
       +------------------+------------------+------------+------------------+
       | \E[  =	 flags	; | <unnamed>	     | kitty	  | Update   current |
       | mode u		  |		     |		  | Kitty   keyboard |
       |		  |		     |		  | flags, according |
       |		  |		     |		  | 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	cur- |
       |		  |		     |		  | rent   entry  on |
       |		  |		     |		  | the	     palette |
       |		  |		     |		  | stack,  and	 the |
       |		  |		     |		  | number	  of |
       |		  |		     |		  | palettes  stored |
       |		  |		     |		  | on the stack.    |
       +------------------+------------------+------------+------------------+
       | \E[ ? 996 n	  | Query  the	cur- | contour	  | The	     current |
       |		  | rent     (color) |		  | color theme	mode |
       |		  | theme mode	     |		  | (light  or 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 consid- |
       |		  |		     |		  | ered  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 | xterm	  | Change  color  number c to spec, |
       | \E\		     |		  | where spec is a color in XParse- |
       |		     |		  | Color 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 |
       |		     |		  | working directory. Newly spawned |
       |		     |		  | terminals will  launch  in	this |
       |		     |		  | directory.	Uri  must  be in the |
       |		     |		  | format file://<hostname>/<path>. |
       |		     |		  | hostname must refer	to your	 lo- |
       |		     |		  | cal	host.			     |
       +---------------------+------------+----------------------------------+
       | \E] 8 ; id=ID ; Uri | VTE+iTerm2 | Hyperlink  (a.k.a  HTML-like an- |
       | \E\		     |		  | chors). id=ID  is  optional;  if |
       |		     |		  | assigned, all URIs with the	same |
       |		     |		  | ID	will  be treated as a single |
       |		     |		  | hyperlink. An empty	 URI  closes |
       |		     |		  | the	hyperlink.		     |
       +---------------------+------------+----------------------------------+
       | \E] 9 ; msg \E\     | iTerm2	  | Desktop  notification,  uses no- |
       |		     |		  | tify in foot.ini(5).	     |
       +---------------------+------------+----------------------------------+
       | \E] 10	; spec \E\   | xterm	  | Change  the	 default  foreground |
       |		     |		  | color  to spec, a color in XPar- |
       |		     |		  | seColor format.		     |
       +---------------------+------------+----------------------------------+
       | \E] 11	; spec \E\   | xterm	  | Change  the	 default  background |
       |		     |		  | color  to spec, a color in XPar- |
       |		     |		  | seColor 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 XPar- |
       |		     |		  | seColor format.		     |
       +---------------------+------------+----------------------------------+
       | \E] 19	; spec \E\   | xterm	  | Change   selection	  foreground |
       |		     |		  | color  to spec, a color in XPar- |
       |		     |		  | seColor format.		     |
       +---------------------+------------+----------------------------------+
       | \E]  22  ; xcursor- | xterm	  | Sets  the  xcursor	pointer.  An |
       | pointer-name \E\    |		  | empty  name,  or an	invalid	name |
       |		     |		  | resets it.			     |
       +---------------------+------------+----------------------------------+
       | \E] 52	; Pc ; ? \E\ | xterm	  | Send clipboard data. Pc  can  be |
       |		     |		  | either  c,	s  or  p. c uses the |
       |		     |		  | clipboard 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 | xterm	  | Copy Pd (base64 encoded text) to |
       | \E\		     |		  | the	 clipboard.  Pc	 denotes the |
       |		     |		  | target: c targets the  clipboard |
       |		     |		  | and	 s  and	p the primary selec- |
       |		     |		  | tion.			     |
       +---------------------+------------+----------------------------------+
       | \E]  66  ; params ; | kitty	  | Text sizing	protocol (only	'w', |
       | text \E\	     |		  | width, supported)		     |
       +---------------------+------------+----------------------------------+
       | \E] 99	;  params  ; | kitty	  | Desktop notification; uses desk- |
       | payload \E\	     |		  | top-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	(ex- |
       |		     |		  | cluding    the   default   fore- |
       |		     |		  | ground/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 | foot	  | Set	 app ID. app-id	is optional; |
       | \E\		     |		  | 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 |
       |		     |		  | extension)			     |
       +---------------------+------------+----------------------------------+
       | \E]  777;notify;ti- | urxvt	  | Desktop notification, uses desk- |
       | tle;msg \E\	     |		  | top-notifications.command	  in |
       |		     |		  | foot.ini(5).		     |
       +---------------------+------------+----------------------------------+

DCS
       All DCS sequences begin with \EP	(sometimes abbreviated DCS),  and  are
       terminated by \E\ (ST).

       +----------------------------+----------------------------------------+
       | Sequence		    | Description			     |
       +----------------------------+----------------------------------------+
       | \EP q <sixel data> \E\	    | Emit a sixel image at the	current	cur- |
       |			    | sor position			     |
       +----------------------------+----------------------------------------+
       | \EP $ q <query> \E\	    | Request	selection  or  setting	(DE- |
       |			    | CRQSS). Implemented queries:  DECSTBM, |
       |			    | SGR and DECSCUSR.			     |
       +----------------------------+----------------------------------------+
       | \EP = C s \E\		    | Begin  (C=1)  or end (C=2) application |
       |			    | synchronized updates. This sequence is |
       |			    | supported	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").

				  2025-11-01		       foot-ctlseqs(7)

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.0>

home | help