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 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)

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>

home | help