1foot-ctlseqs(7)        Miscellaneous Information Manual        foot-ctlseqs(7)
2
3
4

NAME

6       foot-ctlseqs - terminal control sequences supported by foot
7

DESCRIPTION

9       This document describes all the control sequences supported by foot.
10
11       •   Control characters
12       •   Sequences beginning with ESC
13       •   CSI - Control Sequence Introducer
14             - SGR
15             - Indexed and RGB colors (256-color palette and 24-bit colors)
16             - Private modes
17             - Window manipulation
18             - Other
19       •   OSC - Operating System Command
20       •   DCS - Device Control String
21
22

Control characters

24       ┌─────────┬──────┬─────────────────────┐
25Sequence Name Description         
26       ├─────────┼──────┼─────────────────────┤
27       │\a       │ BEL  │ Depends on what     │
28       │         │      │ bell in foot.ini(5)
29       │         │      │ is set to.          │
30       ├─────────┼──────┼─────────────────────┤
31       │\b       │ BS   │ Backspace; move the │
32       │         │      │ cursor left one     │
33       │         │      │ step. Wrap if bw is │
34       │         │      │ enabled.            │
35       ├─────────┼──────┼─────────────────────┤
36       │\t       │ HT   │ Horizontal tab;     │
37       │         │      │ move the cursor to  │
38       │         │      │ the next tab stop.  │
39       ├─────────┼──────┼─────────────────────┤
40       │\n       │ LF   │ Line feed; move the │
41       │         │      │ cursor down one     │
42       │         │      │ step, or scroll     │
43       │         │      │ content up if at    │
44       │         │      │ the bottom line.    │
45       ├─────────┼──────┼─────────────────────┤
46       │\v       │ VT   │ Vertical tab; iden‐ │
47       │         │      │ tical to LF.        │
48       ├─────────┼──────┼─────────────────────┤
49       │\f       │ FF   │ Form feed; identi‐  │
50       │         │      │ cal to LF.          │
51       ├─────────┼──────┼─────────────────────┤
52       │\r       │ CR   │ Carriage ret; move  │
53       │         │      │ the cursor to the   │
54       │         │      │ leftmost column.    │
55       ├─────────┼──────┼─────────────────────┤
56       │\x0E     │ SS0  │ Shift out; select   │
57       │         │      │ the G1 character    │
58       │         │      │ set.                │
59       ├─────────┼──────┼─────────────────────┤
60       │\x0F     │ SS1  │ Shift in; select    │
61       │         │      │ the G0 character    │
62       │         │      │ set.                │
63       └─────────┴──────┴─────────────────────┘
64

Sequences beginning with ESC

66       Note: this table excludes sequences where ESC is part of a 7-bit equiv‐
67       alent to 8-bit C1 controls.
68
69       ┌─────────┬─────────┬────────┬──────────────────┐
70Sequence Name    Origin Description      
71       ├─────────┼─────────┼────────┼──────────────────┤
72       │\E 7     │ DECSC   │ VT100  │ Save cursor po‐  │
73       │         │         │        │ sition.          │
74       ├─────────┼─────────┼────────┼──────────────────┤
75       │\E 8     │ DECRC   │ VT100  │ Restore cursor   │
76       │         │         │        │ position.        │
77       ├─────────┼─────────┼────────┼──────────────────┤
78       │\E c     │ RIS     │ VT100  │ Reset terminal   │
79       │         │         │        │ to initial       │
80       │         │         │        │ state.           │
81       ├─────────┼─────────┼────────┼──────────────────┤
82       │\E D     │ IND     │ VT100  │ Line feed; move  │
83       │         │         │        │ the cursor down  │
84       │         │         │        │ one step, or     │
85       │         │         │        │ scroll content   │
86       │         │         │        │ up if at the     │
87       │         │         │        │ bottom margin.   │
88       ├─────────┼─────────┼────────┼──────────────────┤
89       │\E E     │ NEL     │ VT100  │ Next line; move  │
90       │         │         │        │ the cursor down  │
91       │         │         │        │ one step, and to │
92       │         │         │        │ the first col‐   │
93       │         │         │        │ umn. Content is  │
94       │         │         │        │ scrolled up if   │
95       │         │         │        │ at the bottom    │
96       │         │         │        │ line.            │
97       ├─────────┼─────────┼────────┼──────────────────┤
98       │\E H     │ HTS     │ VT100  │ Set one horizon‐ │
99       │         │         │        │ tal tab stop at  │
100       │         │         │        │ the current po‐  │
101       │         │         │        │ sition.          │
102       ├─────────┼─────────┼────────┼──────────────────┤
103       │\E M     │ RI      │ VT100  │ Reverse index;   │
104       │         │         │        │ move the cursor  │
105       │         │         │        │ up one step, or  │
106       │         │         │        │ scroll content   │
107       │         │         │        │ down if at the   │
108       │         │         │        │ top margin.      │
109       ├─────────┼─────────┼────────┼──────────────────┤
110       │\E N     │ SS2     │ VT220  │ Single shift G2; │
111       │         │         │        │ select the G2
112       │         │         │        │ character set.   │
113       ├─────────┼─────────┼────────┼──────────────────┤
114       │\E O     │ SS3     │ VT220  │ Single shift G3; │
115       │         │         │        │ select the G3
116       │         │         │        │ character set.   │
117       ├─────────┼─────────┼────────┼──────────────────┤
118       │\E =     │ DECKPAM │ VT100  │ Switch keypad to │
119       │         │         │        │ application
120       │         │         │        │ mode.            │
121       ├─────────┼─────────┼────────┼──────────────────┤
122       │\E >     │ DECKPNM │ VT100  │ Switch keypad to │
123       │         │         │        │ numeric mode.    │
124       ├─────────┼─────────┼────────┼──────────────────┤
125       │\E ( C   │ SCS     │ VT100  │ Designate G0     │
126       │         │         │        │ character set.   │
127       │         │         │        │ Supported values │
128       │         │         │        │ for C are: 0     
129       │         │         │        │ (DEC Special     │
130       │         │         │        │ Character and    │
131       │         │         │        │ Line Drawing     │
132       │         │         │        │ Set), and B (US‐ │
133       │         │         │        │ ASCII).          │
134       ├─────────┼─────────┼────────┼──────────────────┤
135       │\E ) C   │ SCS     │ VT100  │ Designate G1     │
136       │         │         │        │ character set.   │
137       │         │         │        │ Same supported   │
138       │         │         │        │ values for C as  │
139       │         │         │        │ in G0.           │
140       ├─────────┼─────────┼────────┼──────────────────┤
141       │\E * C   │ SCS     │ VT220  │ Designate G2     │
142       │         │         │        │ character set.   │
143       │         │         │        │ Same supported   │
144       │         │         │        │ values for C as  │
145       │         │         │        │ in G0.           │
146       ├─────────┼─────────┼────────┼──────────────────┤
147       │\E + C   │ SCS     │ VT220  │ Designate G3     │
148       │         │         │        │ character set.   │
149       │         │         │        │ Same supported   │
150       │         │         │        │ values for C as  │
151       │         │         │        │ in G0.           │
152       └─────────┴─────────┴────────┴──────────────────┘
153

CSI

155       All sequences begin with \E[, sometimes abbreviated CSI. Spaces are
156       used in the sequence strings to make them easier to read, but are not
157       actually part of the string. I.e. \E[ 1 m is really \E[1m.
158
159   SGR
160       All SGR sequences are on the form \E[ <N> m, where N is a decimal num‐
161       ber - the parameter. Multiple parameters can be combined in a single
162       CSI sequence by separating them with semicolons: \E[ 1;2;3 m.
163
164       ┌─────────┬────────────────────────────┐
165Sequence Description                
166       ├─────────┼────────────────────────────┤
167       │0        │ Reset all attributes       │
168       ├─────────┼────────────────────────────┤
169       │1        │ Bold                       │
170       ├─────────┼────────────────────────────┤
171       │2        │ Dim                        │
172       ├─────────┼────────────────────────────┤
173       │3        │ Italic                     │
174       ├─────────┼────────────────────────────┤
175       │4        │ Underline                  │
176       ├─────────┼────────────────────────────┤
177       │5        │ Blink                      │
178       ├─────────┼────────────────────────────┤
179       │7        │ Reverse video; swap fore‐  │
180       │         │ ground and background col‐ │
181       │         │ ors                        │
182       ├─────────┼────────────────────────────┤
183       │8        │ Conceal; text is not visi‐ │
184       │         │ ble, but is copiable       │
185       ├─────────┼────────────────────────────┤
186       │9        │ Crossed-out/strike         │
187       ├─────────┼────────────────────────────┤
188       │22       │ Disable bold and dim       
189       ├─────────┼────────────────────────────┤
190       │23       │ Disable italic             │
191       ├─────────┼────────────────────────────┤
192       │24       │ Disable underline          │
193       ├─────────┼────────────────────────────┤
194       │25       │ Disable blink              │
195       ├─────────┼────────────────────────────┤
196       │27       │ Disable reverse video      │
197       ├─────────┼────────────────────────────┤
198       │28       │ Disable conceal            │
199       ├─────────┼────────────────────────────┤
200       │29       │ Disable crossed-out        │
201       ├─────────┼────────────────────────────┤
202       │30-37    │ Select foreground color    │
203       │         │ (using regularN in         │
204       │         │ foot.ini(5))               │
205       ├─────────┼────────────────────────────┤
206       │38       │ See "indexed and RGB col‐  │
207       │         │ ors" below                 │
208       ├─────────┼────────────────────────────┤
209       │39       │ Use the default foreground │
210       │         │ color (foreground in       │
211       │         │ foot.ini(5))               │
212       ├─────────┼────────────────────────────┤
213       │40-47    │ Select background color    │
214       │         │ (using regularN in         │
215       │         │ foot.ini(5))               │
216       ├─────────┼────────────────────────────┤
217       │48       │ See "indexed and RGB col‐  │
218       │         │ ors" below                 │
219       ├─────────┼────────────────────────────┤
220       │49       │ Use the default background │
221       │         │ color (background in       │
222       │         │ foot.ini(5))               │
223       ├─────────┼────────────────────────────┤
224       │90-97    │ Select foreground color    │
225       │         │ (using brightN in          │
226       │         │ foot.ini(5))               │
227       ├─────────┼────────────────────────────┤
228       │100-107  │ Select background color    │
229       │         │ (using brightN in          │
230       │         │ foot.ini(5))               │
231       └─────────┴────────────────────────────┘
232
233   Indexed and RGB colors (256-color palette and 24-bit colors)
234       Foot supports both the new sub-parameter based variants, and the older
235       parameter based variants for setting foreground and background colors.
236
237       Indexed colors:
238
239\E[ 38:5:<idx> m
240\E[ 38;5;<idx> m
241
242
243       RGB colors:
244
245\E[ 38:2:<cs>:<r>:<g>:<b> m
246\E[ 38:2:<r>:<g>:<b> m
247\E[ 38;2;<r>;<g>;<b> m
248
249
250       The first variant is the "correct" one (and foot also recognizes, but
251       ignores, the optional tolerance parameters).
252
253       The second one is allowed since many programs "forget" the color space
254       ID, cs.
255
256       The sub-parameter based variants are preferred, and what foot's ter‐
257       minfo uses.
258
259   Private Modes
260       There are several Boolean-like "modes" that affect certain aspects of
261       the terminal's behavior. These modes can be manipulated with the fol‐
262       lowing 4 escape sequences:
263
264       ┌───────────┬───────────┬─────────────────────┐
265Sequence   Name      Description         
266       ├───────────┼───────────┼─────────────────────┤
267       │\E[ ? Pm h │ DECSET    │ Enable private mode │
268       ├───────────┼───────────┼─────────────────────┤
269       │\E[ ? Pm l │ DECRST    │ Disable private     │
270       │           │           │ mode                │
271       ├───────────┼───────────┼─────────────────────┤
272       │\E[ ? Pm s │ XTSAVE    │ Save private mode   │
273       ├───────────┼───────────┼─────────────────────┤
274       │\E[ ? Pm r │ XTRESTORE │ Restore private     │
275       │           │           │ mode                │
276       └───────────┴───────────┴─────────────────────┘
277
278       The Pm parameter in the above sequences denotes a numerical ID that
279       corresponds to one of the following modes:
280
281       ┌──────────┬──────────┬─────────────────────┐
282Parameter Origin   Description         
283       ├──────────┼──────────┼─────────────────────┤
284       │1         │ VT100    │ Cursor keys mode    │
285       │          │          │ (DECCKM)            │
286       ├──────────┼──────────┼─────────────────────┤
287       │5         │ VT100    │ Reverse video (DEC‐ │
288       │          │          │ SCNM)               │
289       ├──────────┼──────────┼─────────────────────┤
290       │6         │ VT100    │ Origin mode (DECOM) │
291       ├──────────┼──────────┼─────────────────────┤
292       │7         │ VT100    │ Auto-wrap mode (DE‐ │
293       │          │          │ CAWM)               │
294       ├──────────┼──────────┼─────────────────────┤
295       │12        │ AT&T 610 │ Cursor blink        │
296       ├──────────┼──────────┼─────────────────────┤
297       │25        │ VT220    │ Cursor visibility   │
298       │          │          │ (DECTCEM)           │
299       ├──────────┼──────────┼─────────────────────┤
300       │45        │ xterm    │ Reverse-wraparound  │
301       │          │          │ mode                │
302       ├──────────┼──────────┼─────────────────────┤
303       │47        │ xterm    │ Same as 1047 (see   │
304       │          │          │ below)              │
305       ├──────────┼──────────┼─────────────────────┤
306       │1000      │ xterm    │ Send mouse x/y on   │
307       │          │          │ button press/re‐    │
308       │          │          │ lease               │
309       ├──────────┼──────────┼─────────────────────┤
310       │1001      │ xterm    │ Use hilite mouse    │
311       │          │          │ tracking            │
312       ├──────────┼──────────┼─────────────────────┤
313       │1002      │ xterm    │ Use cell motion     │
314       │          │          │ mouse tracking      │
315       ├──────────┼──────────┼─────────────────────┤
316       │1003      │ xterm    │ Use all motion      │
317       │          │          │ mouse tracking      │
318       ├──────────┼──────────┼─────────────────────┤
319       │1004      │ xterm    │ Send FocusIn/Focu‐  │
320       │          │          │ sOut events         │
321       ├──────────┼──────────┼─────────────────────┤
322       │1006      │ xterm    │ SGR mouse mode      │
323       ├──────────┼──────────┼─────────────────────┤
324       │1007      │ xterm    │ Alternate scroll    │
325       │          │          │ mode                │
326       ├──────────┼──────────┼─────────────────────┤
327       │1015      │ urxvt    │ urxvt mouse mode    │
328       ├──────────┼──────────┼─────────────────────┤
329       │1034      │ xterm    │ 8-bit Meta mode     │
330       ├──────────┼──────────┼─────────────────────┤
331       │1035      │ xterm    │ Num Lock modifier   │
332       │          │          │ (see xterm numLock  │
333       │          │          │ option)             │
334       ├──────────┼──────────┼─────────────────────┤
335       │1036      │ xterm    │ Send ESC when Meta  │
336       │          │          │ modifies a key (see │
337       │          │          │ xterm metaSend‐     │
338       │          │          │ sEscape option)     │
339       ├──────────┼──────────┼─────────────────────┤
340       │1042      │ xterm    │ Perform action for  │
341       │          │          │ BEL character (see  │
342       │          │          │ bell in             │
343       │          │          │ foot.ini(5))        │
344       ├──────────┼──────────┼─────────────────────┤
345       │1047      │ xterm    │ Use alternate       │
346       │          │          │ screen buffer       │
347       ├──────────┼──────────┼─────────────────────┤
348       │1048      │ xterm    │ Save/restore cursor │
349       │          │          │ (DECSET=save, DE‐   │
350       │          │          │ CRST=restore)       │
351       ├──────────┼──────────┼─────────────────────┤
352       │1049      │ xterm    │ Equivalent to 1048  │
353       │          │          │ and 1047 combined   │
354       ├──────────┼──────────┼─────────────────────┤
355       │1070      │ xterm    │ Use private color   │
356       │          │          │ registers for each  │
357       │          │          │ sixel               │
358       ├──────────┼──────────┼─────────────────────┤
359       │2004      │ xterm    │ Wrap pasted text    │
360       │          │          │ with start/end de‐  │
361       │          │          │ limiters (bracketed │
362       │          │          │ paste mode)         │
363       ├──────────┼──────────┼─────────────────────┤
364       │8452      │ xterm    │ Position cursor to  │
365       │          │          │ the right of six‐   │
366       │          │          │ els, instead of on  │
367       │          │          │ the next line       │
368       ├──────────┼──────────┼─────────────────────┤
369       │737769    │ foot     │ Input Method Editor │
370       │          │          │ (IME) mode          │
371       └──────────┴──────────┴─────────────────────┘
372
373   Window manipulation
374       Foot implements a sub-set of XTerm's (originally dtterm's) window ma‐
375       nipulation sequences. The generic format is:
376
377       \E[ Ps ; Ps ; Ps t
378
379       ┌────────────┬─────────────┬─────────────────────┐
380Parameter 1 Parameter 2 Description         
381       ├────────────┼─────────────┼─────────────────────┤
382       │11          │ -           │ Report if window is │
383       │            │             │ iconified. Foot al‐ │
384       │            │             │ ways reports 1 -    │
385       │            │             │ not iconified.      │
386       ├────────────┼─────────────┼─────────────────────┤
387       │13          │ -           │ Report window posi‐ │
388       │            │             │ tion. Foot always   │
389       │            │             │ reports (0,0), due  │
390       │            │             │ to Wayland limita‐  │
391       │            │             │ tions.              │
392       ├────────────┼─────────────┼─────────────────────┤
393       │13          │ 2           │ Report text area    │
394       │            │             │ position. Foot al‐  │
395       │            │             │ ways reports (0,0)  │
396       │            │             │ due to Wayland lim‐ │
397       │            │             │ itations.           │
398       ├────────────┼─────────────┼─────────────────────┤
399       │14          │ -           │ Report text area    │
400       │            │             │ size, in pixels.    │
401       │            │             │ Foot reports the    │
402       │            │             │ grid size, exclud‐  │
403       │            │             │ ing the margins.    │
404       ├────────────┼─────────────┼─────────────────────┤
405       │14          │ 2           │ Report window size, │
406       │            │             │ in pixels. Foot re‐ │
407       │            │             │ ports the grid size │
408       │            │             │ plus the margins.   │
409       ├────────────┼─────────────┼─────────────────────┤
410       │15          │ -           │ Report the screen   │
411       │            │             │ size, in pixels.    │
412       ├────────────┼─────────────┼─────────────────────┤
413       │16          │ -           │ Report the cell     │
414       │            │             │ size, in pixels.    │
415       ├────────────┼─────────────┼─────────────────────┤
416       │18          │ -           │ Report text area    │
417       │            │             │ size, in charac‐    │
418       │            │             │ ters.               │
419       ├────────────┼─────────────┼─────────────────────┤
420       │19          │ -           │ Report screen size, │
421       │            │             │ in characters.      │
422       ├────────────┼─────────────┼─────────────────────┤
423       │22          │ -           │ Push window ti‐     │
424       │            │             │ tle+icon. Foot does │
425       │            │             │ not support pushing │
426       │            │             │ the icon.           │
427       ├────────────┼─────────────┼─────────────────────┤
428       │22          │ 2           │ Push window title.  │
429       ├────────────┼─────────────┼─────────────────────┤
430       │23          │ -           │ Pop window ti‐      │
431       │            │             │ tle+icon. Foot does │
432       │            │             │ not support popping │
433       │            │             │ the icon.           │
434       ├────────────┼─────────────┼─────────────────────┤
435       │23          │ 2           │ Pop window title.   │
436       └────────────┴─────────────┴─────────────────────┘
437
438   Other
439       ┌────────────────┬──────────────┬────────────┬──────────────────┐
440Parameter       Name         Origin     Description      
441       ├────────────────┼──────────────┼────────────┼──────────────────┤
442       │\E[ Ps c        │ DA           │ VT100      │ Send primary de‐ │
443       │                │              │            │ vice attributes. │
444       │                │              │            │ Foot responds    │
445       │                │              │            │ with "I'm a      │
446       │                │              │            │ VT220 with sixel │
447       │                │              │            │ and ANSI color   │
448       │                │              │            │ support".        │
449       ├────────────────┼──────────────┼────────────┼──────────────────┤
450       │\E[ Ps A        │ CUU          │ VT100      │ Cursor up - move │
451       │                │              │            │ cursor up Ps
452       │                │              │            │ times.           │
453       ├────────────────┼──────────────┼────────────┼──────────────────┤
454       │\E[ Ps B        │ CUD          │ VT100      │ Cursor down -    │
455       │                │              │            │ move cursor down │
456       │                │              │            │ Ps times.        │
457       ├────────────────┼──────────────┼────────────┼──────────────────┤
458       │\E[ Ps C        │ CUF          │ VT100      │ Cursor forward - │
459       │                │              │            │ move cursor to   │
460       │                │              │            │ the right Ps
461       │                │              │            │ times.           │
462       ├────────────────┼──────────────┼────────────┼──────────────────┤
463       │\E[ Ps D        │ CUB          │ VT100      │ Cursor backward  │
464       │                │              │            │ - move cursor to │
465       │                │              │            │ the left Ps
466       │                │              │            │ times.           │
467       ├────────────────┼──────────────┼────────────┼──────────────────┤
468       │\E[ Ps g        │ TBC          │ VT100      │ Tab clear. Ps=0  │
469       │                │              │            │ -> clear current │
470       │                │              │            │ column. Ps=3 ->  │
471       │                │              │            │ clear all.       │
472       ├────────────────┼──────────────┼────────────┼──────────────────┤
473       │\E[ Ps ; Ps f   │ HVP          │ VT100      │ Horizontal and   │
474       │                │              │            │ vertical posi‐   │
475       │                │              │            │ tion - move cur‐ │
476       │                │              │            │ sor to row ;     │
477       │                │              │            │ column.          │
478       ├────────────────┼──────────────┼────────────┼──────────────────┤
479       │\E[ Ps ; Ps H   │ CUP          │ VT100      │ Cursor position  │
480       │                │              │            │ - move cursor to │
481       │                │              │            │ row ; column.    │
482       ├────────────────┼──────────────┼────────────┼──────────────────┤
483       │\E[ Ps J        │ ED           │ VT100      │ Erase in dis‐    │
484       │                │              │            │ play. Ps=0 ->    │
485       │                │              │            │ below cursor.    │
486       │                │              │            │ Ps=1 -> above    │
487       ├────────────────┼──────────────┼────────────┼──────────────────┤
488       │\E[ Ps K        │ EL           │ VT100      │ Erase in line.   │
489       │                │              │            │ Ps=0 -> right of │
490       │                │              │            │ cursor. Ps=1 ->  │
491       │                │              │            │ left of cursor.  │
492       │                │              │            │ Ps=2 -> all.     │
493       ├────────────────┼──────────────┼────────────┼──────────────────┤
494       │\E[ Pm h        │ SM           │ VT100      │ Set mode. Pm=4   │
495       │                │              │            │ -> enable IRM    │
496       │                │              │            │ (insert mode).   │
497       │                │              │            │ All other values │
498       │                │              │            │ of Pm are unsup‐ │
499       │                │              │            │ ported.          │
500       ├────────────────┼──────────────┼────────────┼──────────────────┤
501       │\E[ Pm l        │ RM           │ VT100      │ Reset mode. Pm=4 │
502       │                │              │            │ -> disable IRM   │
503       │                │              │            │ (insert mode).   │
504       │                │              │            │ All other values │
505       │                │              │            │ of Pm are unsup‐ │
506       │                │              │            │ ported.          │
507       ├────────────────┼──────────────┼────────────┼──────────────────┤
508       │\E[ Ps n        │ DSR          │ VT100      │ Device status    │
509       │                │              │            │ report. Ps=5 ->  │
510       │                │              │            │ device status.   │
511       │                │              │            │ Ps=6 -> cursor   │
512       │                │              │            │ position.        │
513       ├────────────────┼──────────────┼────────────┼──────────────────┤
514       │\E[ Ps L        │ IL           │ VT220      │ Insert Ps lines. │
515       ├────────────────┼──────────────┼────────────┼──────────────────┤
516       │\E[ Ps M        │ DL           │ VT220      │ Delete Ps lines. │
517       ├────────────────┼──────────────┼────────────┼──────────────────┤
518       │\E[ Ps P        │ DCH          │ VT220      │ Delete Ps char‐  │
519       │                │              │            │ acters.          │
520       ├────────────────┼──────────────┼────────────┼──────────────────┤
521       │\E[ Ps @        │ ICH          │ VT220      │ Insert Ps blank  │
522       │                │              │            │ characters.      │
523       ├────────────────┼──────────────┼────────────┼──────────────────┤
524       │\E[ Ps X        │ ECH          │ VT220      │ Erase Ps charac‐ │
525       │                │              │            │ ters.            │
526       ├────────────────┼──────────────┼────────────┼──────────────────┤
527       │\E[ > c         │ DA2          │ VT220      │ Send secondary   │
528       │                │              │            │ device at‐       │
529       │                │              │            │ tributes. Foot   │
530       │                │              │            │ responds with    │
531       │                │              │            │ "I'm a VT220 and │
532       │                │              │            │ here's my ver‐   │
533       │                │              │            │ sion number".    │
534       ├────────────────┼──────────────┼────────────┼──────────────────┤
535       │\E[ ! p         │ DECSTR       │ VT220      │ Soft terminal    │
536       │                │              │            │ reset.           │
537       ├────────────────┼──────────────┼────────────┼──────────────────┤
538       │\E[ ? Ps $ p    │ DECRQM       │ VT320      │ Request DEC pri‐ │
539       │                │              │            │ vate mode.       │
540       ├────────────────┼──────────────┼────────────┼──────────────────┤
541       │\E[ Ps T        │ SD           │ VT420      │ Scroll down Ps
542       │                │              │            │ lines.           │
543       ├────────────────┼──────────────┼────────────┼──────────────────┤
544       │\E[ s           │ SCOSC        │ SCO, VT510 │ Save cursor po‐  │
545       │                │              │            │ sition.          │
546       ├────────────────┼──────────────┼────────────┼──────────────────┤
547       │\E[ u           │ SCORC        │ SCO, VT510 │ Restore cursor   │
548       │                │              │            │ position.        │
549       ├────────────────┼──────────────┼────────────┼──────────────────┤
550       │\E[ Ps SP q     │ DECSCUSR     │ VT510      │ Set cursor       │
551       │                │              │            │ style. In foot,  │
552       │                │              │            │ Ps=0 means "use  │
553       │                │              │            │ style from       │
554       │                │              │            │ foot.ini".       │
555       ├────────────────┼──────────────┼────────────┼──────────────────┤
556       │\E[ = Ps c      │ DA3          │ VT510      │ send tertiary    │
557       │                │              │            │ device at‐       │
558       │                │              │            │ tributes. Foot   │
559       │                │              │            │ responds with    │
560       │                │              │            │ "FOOT", in hexa‐ │
561       │                │              │            │ decimal.         │
562       ├────────────────┼──────────────┼────────────┼──────────────────┤
563       │\E[ Pm d        │ VPA          │ ECMA-48    │ Line position    │
564       │                │              │            │ absolute - move  │
565       │                │              │            │ cursor to line   │
566       │                │              │            │ Pm.              │
567       ├────────────────┼──────────────┼────────────┼──────────────────┤
568       │\E[ Pm e        │ VPR          │ ECMA-48    │ Line position    │
569       │                │              │            │ relative - move  │
570       │                │              │            │ cursor down Pm
571       │                │              │            │ lines.           │
572       ├────────────────┼──────────────┼────────────┼──────────────────┤
573       │\E[ Pm a        │ HPR          │ ECMA-48    │ Character posi‐  │
574       │                │              │            │ tion relative -  │
575       │                │              │            │ move cursor to   │
576       │                │              │            │ the right Pm
577       │                │              │            │ times.           │
578       ├────────────────┼──────────────┼────────────┼──────────────────┤
579       │\E[ Ps E        │ CNL          │ ECMA-48    │ Cursor next line │
580       │                │              │            │ - move the cur‐  │
581       │                │              │            │ sor down Ps
582       │                │              │            │ times.           │
583       ├────────────────┼──────────────┼────────────┼──────────────────┤
584       │\E[ Ps F        │ CPL          │ ECMA-48    │ Cursor preceding │
585       │                │              │            │ line  - move the │
586       │                │              │            │ cursor up Ps
587       │                │              │            │ times.           │
588       ├────────────────┼──────────────┼────────────┼──────────────────┤
589       │\E[ Pm `        │ HPA          │ ECMA-48    │ Character posi‐  │
590       │                │              │            │ tion absolute -  │
591       │                │              │            │ move cursor to   │
592       │                │              │            │ column Pm.       │
593       ├────────────────┼──────────────┼────────────┼──────────────────┤
594       │\E[ Ps G        │ CHA          │ ECMA-48    │ Cursor character │
595       │                │              │            │ absolute - move  │
596       │                │              │            │ cursor to column │
597       │                │              │            │ Ps. cursor. Ps=2 │
598       │                │              │            │ -> all. Ps=3 ->  │
599       │                │              │            │ saved lines.     │
600       ├────────────────┼──────────────┼────────────┼──────────────────┤
601       │\E[ Ps S        │ SU           │ ECMA-48    │ Scroll up Ps
602       │                │              │            │ lines.           │
603       ├────────────────┼──────────────┼────────────┼──────────────────┤
604       │\E[ Ps I        │ CHT          │ ECMA-48    │ Cursor forward   │
605       │                │              │            │ tabulation Ps
606       │                │              │            │ tab stops.       │
607       ├────────────────┼──────────────┼────────────┼──────────────────┤
608       │\E[ Ps Z        │ CBT          │ ECMA-48    │ Cursor backward  │
609       │                │              │            │ tabulation Ps
610       │                │              │            │ tab stops.       │
611       ├────────────────┼──────────────┼────────────┼──────────────────┤
612       │\E[ Ps b        │ REP          │ ECMA-48    │ Repeat the pre‐  │
613       │                │              │            │ ceding printable │
614       │                │              │            │ character Ps
615       │                │              │            │ times.           │
616       ├────────────────┼──────────────┼────────────┼──────────────────┤
617       │\E[ ? Pi ; Pa ; │ XTSMGRAPHICS │ xterm      │ Set or request   │
618Pv S            │              │            │ sixel at‐        │
619       │                │              │            │ tributes.        │
620       └────────────────┴──────────────┴────────────┴──────────────────┘
621

OSC

623       All OSC sequences begin with \E], sometimes abbreviated OSC.
624
625       ┌────────────────────┬────────────┬───────────────────────────┐
626Sequence            Origin     Description               
627       ├────────────────────┼────────────┼───────────────────────────┤
628       │\E] 0 ; Pt \E\      │ xterm      │ Set window icon and       │
629       │                    │            │ title to Pt (foot         │
630       │                    │            │ does not support          │
631       │                    │            │ setting the icon)         │
632       ├────────────────────┼────────────┼───────────────────────────┤
633       │\E] 2 ; Pt \E\      │ xterm      │ Set window title to       │
634       │                    │            │ Pt
635       ├────────────────────┼────────────┼───────────────────────────┤
636       │\E] 4 ; c ; spec    │ xterm      │ Change color number       │
637       │\E\                 │            │ c to spec, where          │
638       │                    │            │ spec is a color in        │
639       │                    │            │ XParseColor format.       │
640       │                    │            │ foot only supports        │
641       │                    │            │ RGB colors; either        │
642       │                    │            │ rgb:<red>/<green>/<blue>, │
643       │                    │            │ or the legacy for‐        │
644       │                    │            │ mat (#rgb).               │
645       ├────────────────────┼────────────┼───────────────────────────┤
646       │\E] 7 ; Uri \E\     │ iTerm2     │ Update the terminal's     │
647       │                    │            │ current working direc‐    │
648       │                    │            │ tory. Newly spawned ter‐  │
649       │                    │            │ minals will launch in     │
650       │                    │            │ this directory. Uri must  │
651       │                    │            │ be on the format          │
652       │                    │            │ file://<hostname>/<path>. │
653       │                    │            │ hostname must refer to    │
654       │                    │            │ your local host.          │
655       ├────────────────────┼────────────┼───────────────────────────┤
656       │\E] 8 ; id=ID ; Uri │ VTE+iTerm2 │ Hyperlink (a.k.a HTML-    │
657       │\E\                 │            │ like anchors). id is op‐  │
658       │                    │            │ tional; if assigned, all  │
659       │                    │            │ URIs with the same ID     
660       │                    │            │ will be treated as a sin‐ │
661       │                    │            │ gle hyperlink. An empty   │
662       │                    │            │ URI closes the hyperlink. │
663       ├────────────────────┼────────────┼───────────────────────────┤
664       │\E] 10 ; spec \E\   │ xterm      │ Change the default fore‐  │
665       │                    │            │ ground color to spec, a   │
666       │                    │            │ color in XParseColor for‐ │
667       │                    │            │ mat.                      │
668       ├────────────────────┼────────────┼───────────────────────────┤
669       │\E] 11 ; spec \E\   │ xterm      │ Change the default back‐  │
670       │                    │            │ ground color to spec, a   │
671       │                    │            │ color in XParseColor for‐ │
672       │                    │            │ mat. Foot implements      │
673       │                    │            │ URxvt's transparency ex‐  │
674       │                    │            │ tension; e.g.             │
675       │                    │            │ spec=[75]#ff00ff or       │
676       │                    │            │ spec=rgba:ff/00/ff/bf     
677       │                    │            │ (pink with 75% alpha).    │
678       ├────────────────────┼────────────┼───────────────────────────┤
679       │\E] 12 ; spec \E\   │ xterm      │ Change cursor color to    │
680       │                    │            │ spec, a color in XParseC‐ │
681       │                    │            │ olor format.              │
682       ├────────────────────┼────────────┼───────────────────────────┤
683       │\E] 17 ; spec \E\   │ xterm      │ Change selection back‐    │
684       │                    │            │ ground color to spec, a   │
685       │                    │            │ color in XParseColor for‐ │
686       │                    │            │ mat.                      │
687       ├────────────────────┼────────────┼───────────────────────────┤
688       │\E] 19 ; spec \E\   │ xterm      │ Change selection fore‐    │
689       │                    │            │ ground color to spec, a   │
690       │                    │            │ color in XParseColor for‐ │
691       │                    │            │ mat.                      │
692       ├────────────────────┼────────────┼───────────────────────────┤
693       │\E] 52 ; Pc ; ? \E\ │ xterm      │ Send clipboard data. Pc
694       │                    │            │ can be either c, s or p.  │
695       │                    │            │ c uses the clipboard as   │
696       │                    │            │ source, and s and p uses  │
697       │                    │            │ the primary selection.    │
698       │                    │            │ The response is OSC 52 ;  
699       │                    │            │ Pc ; <base64-encoded      
700       │                    │            │ data>, where Pc denotes   │
701       │                    │            │ the source used.          │
702       ├────────────────────┼────────────┼───────────────────────────┤
703       │\E] 52 ; Pc ; Pd    │ xterm      │ Copy Pd (base64 encoded   │
704       │\E\                 │            │ text) to the clipboard.   │
705       │                    │            │ Pc denotes the target: c  
706       │                    │            │ targets the clipboard and │
707       │                    │            │ s and p the primary se‐   │
708       │                    │            │ lection.                  │
709       ├────────────────────┼────────────┼───────────────────────────┤
710       │\E] 104 ; c \E\     │ xterm      │ Reset color number c
711       │                    │            │ (multiple semicolon sepa‐ │
712       │                    │            │ rated c values may be     │
713       │                    │            │ provided), or all colors  │
714       │                    │            │ (excluding the default    │
715       │                    │            │ foreground/background     │
716       │                    │            │ colors) if c is omitted.  │
717       ├────────────────────┼────────────┼───────────────────────────┤
718       │\E] 110 \E\         │ xterm      │ Reset default foreground  │
719       │                    │            │ color                     │
720       ├────────────────────┼────────────┼───────────────────────────┤
721       │\E] 111 \E\         │ xterm      │ Reset default background  │
722       │                    │            │ color                     │
723       ├────────────────────┼────────────┼───────────────────────────┤
724       │\E] 112 \E\         │ xterm      │ Reset cursor color        │
725       ├────────────────────┼────────────┼───────────────────────────┤
726       │\E] 117 \E\         │ xterm      │ Reset selection back‐     │
727       │                    │            │ ground color              │
728       ├────────────────────┼────────────┼───────────────────────────┤
729       │\E] 119 \E\         │ xterm      │ Reset selection fore‐     │
730       │                    │            │ ground color              │
731       ├────────────────────┼────────────┼───────────────────────────┤
732       │\E] 555 \E\         │ foot       │ Flash the entire terminal │
733       │                    │            │ (foot extension)          │
734       ├────────────────────┼────────────┼───────────────────────────┤
735       │\E] 777;notify;ti‐  │ urxvt      │ Desktop notification,     │
736tle;msg \E\         │            │ uses notify in            │
737       │                    │            │ foot.ini(5).              │
738       └────────────────────┴────────────┴───────────────────────────┘
739

DCS

741       All DCS sequences begin with \EP (sometimes abbreviated DCS), and are
742       terminated by \E\ (ST).
743
744       ┌───────────────────────┬────────────────────────────┐
745Sequence               Description                
746       ├───────────────────────┼────────────────────────────┤
747       │\EP q <sixel data> \E\ │ Emit a sixel image at the  │
748       │                       │ current cursor position    │
749       ├───────────────────────┼────────────────────────────┤
750       │\EP = 1 s \E\          │ Begin application synchro‐ │
751       │                       │ nized updates              │
752       ├───────────────────────┼────────────────────────────┤
753       │\EP = 2 s \E\          │ End application synchro‐   │
754       │                       │ nized updates              │
755       └───────────────────────┴────────────────────────────┘
756

FOOTNOTE

758       Foot does not support 8-bit control characters ("CC1").
759
760
761
762                                  2021-04-18                   foot-ctlseqs(7)
Impressum