1foot-ctlseqs(7) Miscellaneous Information Manual foot-ctlseqs(7)
2
3
4
6 foot-ctlseqs - terminal control sequences supported by foot
7
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
24 ┌─────────┬──────┬─────────────────────┐
25 │Sequence │ 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 │ SO │ Shift out; select │
57 │ │ │ the G1 character │
58 │ │ │ set. │
59 ├─────────┼──────┼─────────────────────┤
60 │\x0F │ SI │ Shift in; select │
61 │ │ │ the G0 character │
62 │ │ │ set. │
63 └─────────┴──────┴─────────────────────┘
64
66 Note: this table excludes sequences where ESC is part of a 7-bit equiv‐
67 alent to 8-bit C1 controls.
68
69 ┌─────────┬─────────┬────────┬──────────────────┐
70 │Sequence │ 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 se‐ │
111 │ │ │ │ lect of G2 char‐ │
112 │ │ │ │ acter set (af‐ │
113 │ │ │ │ fects next char‐ │
114 │ │ │ │ acter only). │
115 ├─────────┼─────────┼────────┼──────────────────┤
116 │\E O │ SS3 │ VT220 │ Single shift se‐ │
117 │ │ │ │ lect of G3 char‐ │
118 │ │ │ │ acter set (af‐ │
119 │ │ │ │ fects next char‐ │
120 │ │ │ │ acter only). │
121 ├─────────┼─────────┼────────┼──────────────────┤
122 │\E = │ DECKPAM │ VT100 │ Switch keypad to │
123 │ │ │ │ application │
124 │ │ │ │ mode. │
125 ├─────────┼─────────┼────────┼──────────────────┤
126 │\E > │ DECKPNM │ VT100 │ Switch keypad to │
127 │ │ │ │ numeric mode. │
128 ├─────────┼─────────┼────────┼──────────────────┤
129 │\E ( C │ SCS │ VT100 │ Designate G0 │
130 │ │ │ │ character set. │
131 │ │ │ │ Supported values │
132 │ │ │ │ for C are: 0 │
133 │ │ │ │ (DEC Special │
134 │ │ │ │ Character and │
135 │ │ │ │ Line Drawing │
136 │ │ │ │ Set), and B (US‐ │
137 │ │ │ │ ASCII). │
138 ├─────────┼─────────┼────────┼──────────────────┤
139 │\E ) C │ SCS │ VT100 │ Designate G1 │
140 │ │ │ │ character set. │
141 │ │ │ │ Same supported │
142 │ │ │ │ values for C as │
143 │ │ │ │ in G0. │
144 ├─────────┼─────────┼────────┼──────────────────┤
145 │\E * C │ SCS │ VT220 │ Designate G2 │
146 │ │ │ │ character set. │
147 │ │ │ │ Same supported │
148 │ │ │ │ values for C as │
149 │ │ │ │ in G0. │
150 ├─────────┼─────────┼────────┼──────────────────┤
151 │\E + C │ SCS │ VT220 │ Designate G3 │
152 │ │ │ │ character set. │
153 │ │ │ │ Same supported │
154 │ │ │ │ values for C as │
155 │ │ │ │ in G0. │
156 └─────────┴─────────┴────────┴──────────────────┘
157
159 All sequences begin with \E[, sometimes abbreviated "CSI". Spaces are
160 used in the sequence strings to make them easier to read, but are not
161 actually part of the string (i.e. \E[ 1 m is really \E[1m).
162
163 SGR
164 All SGR sequences are in the form \E[ N m, where N is a decimal number
165 - the parameter. Multiple parameters can be combined in a single CSI
166 sequence by separating them with semicolons: \E[ 1;2;3 m.
167
168 ┌──────────┬────────────────────────────┐
169 │Parameter │ Description │
170 ├──────────┼────────────────────────────┤
171 │0 │ Reset all attributes │
172 ├──────────┼────────────────────────────┤
173 │1 │ Bold │
174 ├──────────┼────────────────────────────┤
175 │2 │ Dim │
176 ├──────────┼────────────────────────────┤
177 │3 │ Italic │
178 ├──────────┼────────────────────────────┤
179 │4 │ Underline │
180 ├──────────┼────────────────────────────┤
181 │5 │ Blink │
182 ├──────────┼────────────────────────────┤
183 │7 │ Reverse video; swap fore‐ │
184 │ │ ground and background col‐ │
185 │ │ ors │
186 ├──────────┼────────────────────────────┤
187 │8 │ Conceal; text is not visi‐ │
188 │ │ ble, but is copiable │
189 ├──────────┼────────────────────────────┤
190 │9 │ Crossed-out/strike │
191 ├──────────┼────────────────────────────┤
192 │22 │ Disable bold and dim │
193 ├──────────┼────────────────────────────┤
194 │23 │ Disable italic │
195 ├──────────┼────────────────────────────┤
196 │24 │ Disable underline │
197 ├──────────┼────────────────────────────┤
198 │25 │ Disable blink │
199 ├──────────┼────────────────────────────┤
200 │27 │ Disable reverse video │
201 ├──────────┼────────────────────────────┤
202 │28 │ Disable conceal │
203 ├──────────┼────────────────────────────┤
204 │29 │ Disable crossed-out │
205 ├──────────┼────────────────────────────┤
206 │30-37 │ Select foreground color │
207 │ │ (using regularN in │
208 │ │ foot.ini(5)) │
209 ├──────────┼────────────────────────────┤
210 │38 │ See "indexed and RGB col‐ │
211 │ │ ors" below │
212 ├──────────┼────────────────────────────┤
213 │39 │ Use the default foreground │
214 │ │ color (foreground in │
215 │ │ foot.ini(5)) │
216 ├──────────┼────────────────────────────┤
217 │40-47 │ Select background color │
218 │ │ (using regularN in │
219 │ │ foot.ini(5)) │
220 ├──────────┼────────────────────────────┤
221 │48 │ See "indexed and RGB col‐ │
222 │ │ ors" below │
223 ├──────────┼────────────────────────────┤
224 │49 │ Use the default background │
225 │ │ color (background in │
226 │ │ foot.ini(5)) │
227 ├──────────┼────────────────────────────┤
228 │90-97 │ Select foreground color │
229 │ │ (using brightN in │
230 │ │ foot.ini(5)) │
231 ├──────────┼────────────────────────────┤
232 │100-107 │ Select background color │
233 │ │ (using brightN in │
234 │ │ foot.ini(5)) │
235 └──────────┴────────────────────────────┘
236
237 Indexed and RGB colors (256-color palette and 24-bit colors)
238 Foot supports both the new sub-parameter based variants, and the older
239 parameter based variants for setting foreground and background colors.
240
241 Indexed colors:
242
243 • \E[ 38 : 5 : idx m
244 • \E[ 38 ; 5 ; idx m
245
246
247 RGB colors:
248
249 • \E[ 38 : 2 : cs : r : g : b m
250 • \E[ 38 : 2 : r : g : b m
251 • \E[ 38 ; 2 ; r ; g ; b m
252
253
254 The first variant is the "correct" one (and foot also recognizes, but
255 ignores, the optional tolerance parameters).
256
257 The second one is allowed since many programs "forget" the color space
258 ID, cs.
259
260 The sub-parameter based variants are preferred, and are what foot's
261 terminfo(5) entry uses.
262
263 Private Modes
264 There are several Boolean-like "modes" that affect certain aspects of
265 the terminal's behavior. These modes can be manipulated with the fol‐
266 lowing 4 escape sequences:
267
268 ┌───────────┬───────────┬─────────────────────┐
269 │Sequence │ Name │ Description │
270 ├───────────┼───────────┼─────────────────────┤
271 │\E[ ? Pm h │ DECSET │ Enable private mode │
272 ├───────────┼───────────┼─────────────────────┤
273 │\E[ ? Pm l │ DECRST │ Disable private │
274 │ │ │ mode │
275 ├───────────┼───────────┼─────────────────────┤
276 │\E[ ? Pm s │ XTSAVE │ Save private mode │
277 ├───────────┼───────────┼─────────────────────┤
278 │\E[ ? Pm r │ XTRESTORE │ Restore private │
279 │ │ │ mode │
280 └───────────┴───────────┴─────────────────────┘
281
282 The Pm parameter in the above sequences denotes a numerical ID that
283 corresponds to one of the following modes:
284
285 ┌──────────┬─────────────┬─────────────────────┐
286 │Parameter │ Origin │ Description │
287 ├──────────┼─────────────┼─────────────────────┤
288 │1 │ VT100 │ Cursor keys mode │
289 │ │ │ (DECCKM) │
290 ├──────────┼─────────────┼─────────────────────┤
291 │5 │ VT100 │ Reverse video (DEC‐ │
292 │ │ │ SCNM) │
293 ├──────────┼─────────────┼─────────────────────┤
294 │6 │ VT100 │ Origin mode (DECOM) │
295 ├──────────┼─────────────┼─────────────────────┤
296 │7 │ VT100 │ Auto-wrap mode (DE‐ │
297 │ │ │ CAWM) │
298 ├──────────┼─────────────┼─────────────────────┤
299 │12 │ AT&T 610 │ Cursor blink │
300 ├──────────┼─────────────┼─────────────────────┤
301 │25 │ VT220 │ Cursor visibility │
302 │ │ │ (DECTCEM) │
303 ├──────────┼─────────────┼─────────────────────┤
304 │45 │ xterm │ Reverse-wraparound │
305 │ │ │ mode │
306 ├──────────┼─────────────┼─────────────────────┤
307 │47 │ xterm │ Same as 1047 (see │
308 │ │ │ below) │
309 ├──────────┼─────────────┼─────────────────────┤
310 │1000 │ xterm │ Send mouse x/y on │
311 │ │ │ button press/re‐ │
312 │ │ │ lease │
313 ├──────────┼─────────────┼─────────────────────┤
314 │1001 │ xterm │ Use hilite mouse │
315 │ │ │ tracking │
316 ├──────────┼─────────────┼─────────────────────┤
317 │1002 │ xterm │ Use cell motion │
318 │ │ │ mouse tracking │
319 ├──────────┼─────────────┼─────────────────────┤
320 │1003 │ xterm │ Use all motion │
321 │ │ │ mouse tracking │
322 ├──────────┼─────────────┼─────────────────────┤
323 │1004 │ xterm │ Send FocusIn/Focu‐ │
324 │ │ │ sOut events │
325 ├──────────┼─────────────┼─────────────────────┤
326 │1006 │ xterm │ SGR mouse mode │
327 ├──────────┼─────────────┼─────────────────────┤
328 │1007 │ xterm │ Alternate scroll │
329 │ │ │ mode │
330 ├──────────┼─────────────┼─────────────────────┤
331 │1015 │ urxvt │ urxvt mouse mode │
332 ├──────────┼─────────────┼─────────────────────┤
333 │1034 │ xterm │ 8-bit Meta mode │
334 ├──────────┼─────────────┼─────────────────────┤
335 │1035 │ xterm │ Num Lock modifier │
336 │ │ │ (see xterm numLock │
337 │ │ │ option) │
338 ├──────────┼─────────────┼─────────────────────┤
339 │1036 │ xterm │ Send ESC when Meta │
340 │ │ │ modifies a key (see │
341 │ │ │ xterm metaSend‐ │
342 │ │ │ sEscape option) │
343 ├──────────┼─────────────┼─────────────────────┤
344 │1042 │ xterm │ Perform action for │
345 │ │ │ BEL character (see │
346 │ │ │ bell in │
347 │ │ │ foot.ini(5)) │
348 ├──────────┼─────────────┼─────────────────────┤
349 │1047 │ xterm │ Use alternate │
350 │ │ │ screen buffer │
351 ├──────────┼─────────────┼─────────────────────┤
352 │1048 │ xterm │ Save/restore cursor │
353 │ │ │ (DECSET=save, DE‐ │
354 │ │ │ CRST=restore) │
355 ├──────────┼─────────────┼─────────────────────┤
356 │1049 │ xterm │ Equivalent to 1048 │
357 │ │ │ and 1047 combined │
358 ├──────────┼─────────────┼─────────────────────┤
359 │1070 │ xterm │ Use private color │
360 │ │ │ registers for each │
361 │ │ │ sixel │
362 ├──────────┼─────────────┼─────────────────────┤
363 │2004 │ xterm │ Wrap pasted text │
364 │ │ │ with start/end de‐ │
365 │ │ │ limiters (bracketed │
366 │ │ │ paste mode) │
367 ├──────────┼─────────────┼─────────────────────┤
368 │2026 │ terminal-wg │ Application syn‐ │
369 │ │ │ chronized updates │
370 │ │ │ mode │
371 ├──────────┼─────────────┼─────────────────────┤
372 │8452 │ xterm │ Position cursor to │
373 │ │ │ the right of six‐ │
374 │ │ │ els, instead of on │
375 │ │ │ the next line │
376 ├──────────┼─────────────┼─────────────────────┤
377 │737769 │ foot │ Input Method Editor │
378 │ │ │ (IME) mode │
379 └──────────┴─────────────┴─────────────────────┘
380
381 Window manipulation
382 Foot implements a sub-set of XTerm's (originally dtterm's) window ma‐
383 nipulation sequences. The generic format is:
384
385 \E[ Ps ; Ps ; Ps t
386
387 ┌────────────┬─────────────┬─────────────────────┐
388 │Parameter 1 │ Parameter 2 │ Description │
389 ├────────────┼─────────────┼─────────────────────┤
390 │11 │ - │ Report if window is │
391 │ │ │ iconified. Foot al‐ │
392 │ │ │ ways reports 1 - │
393 │ │ │ not iconified. │
394 ├────────────┼─────────────┼─────────────────────┤
395 │13 │ - │ Report window posi‐ │
396 │ │ │ tion. Foot always │
397 │ │ │ reports (0,0), due │
398 │ │ │ to Wayland limita‐ │
399 │ │ │ tions. │
400 ├────────────┼─────────────┼─────────────────────┤
401 │13 │ 2 │ Report text area │
402 │ │ │ position. Foot al‐ │
403 │ │ │ ways reports (0,0) │
404 │ │ │ due to Wayland lim‐ │
405 │ │ │ itations. │
406 ├────────────┼─────────────┼─────────────────────┤
407 │14 │ - │ Report text area │
408 │ │ │ size, in pixels. │
409 │ │ │ Foot reports the │
410 │ │ │ grid size, exclud‐ │
411 │ │ │ ing the margins. │
412 ├────────────┼─────────────┼─────────────────────┤
413 │14 │ 2 │ Report window size, │
414 │ │ │ in pixels. Foot re‐ │
415 │ │ │ ports the grid size │
416 │ │ │ plus the margins. │
417 ├────────────┼─────────────┼─────────────────────┤
418 │15 │ - │ Report the screen │
419 │ │ │ size, in pixels. │
420 ├────────────┼─────────────┼─────────────────────┤
421 │16 │ - │ Report the cell │
422 │ │ │ size, in pixels. │
423 ├────────────┼─────────────┼─────────────────────┤
424 │18 │ - │ Report text area │
425 │ │ │ size, in charac‐ │
426 │ │ │ ters. │
427 ├────────────┼─────────────┼─────────────────────┤
428 │19 │ - │ Report screen size, │
429 │ │ │ in characters. │
430 ├────────────┼─────────────┼─────────────────────┤
431 │22 │ - │ Push window ti‐ │
432 │ │ │ tle+icon. Foot does │
433 │ │ │ not support pushing │
434 │ │ │ the icon. │
435 ├────────────┼─────────────┼─────────────────────┤
436 │22 │ 2 │ Push window title. │
437 ├────────────┼─────────────┼─────────────────────┤
438 │23 │ - │ Pop window ti‐ │
439 │ │ │ tle+icon. Foot does │
440 │ │ │ not support popping │
441 │ │ │ the icon. │
442 ├────────────┼─────────────┼─────────────────────┤
443 │23 │ 2 │ Pop window title. │
444 └────────────┴─────────────┴─────────────────────┘
445
446 Other
447 ┌────────────────┬──────────────┬────────────┬──────────────────┐
448 │Parameter │ Name │ Origin │ Description │
449 ├────────────────┼──────────────┼────────────┼──────────────────┤
450 │\E[ Ps c │ DA │ VT100 │ Send primary de‐ │
451 │ │ │ │ vice attributes. │
452 │ │ │ │ Foot responds │
453 │ │ │ │ with "I'm a │
454 │ │ │ │ VT220 with sixel │
455 │ │ │ │ and ANSI color │
456 │ │ │ │ support". │
457 ├────────────────┼──────────────┼────────────┼──────────────────┤
458 │\E[ Ps A │ CUU │ VT100 │ Cursor up - move │
459 │ │ │ │ cursor up Ps │
460 │ │ │ │ times. │
461 ├────────────────┼──────────────┼────────────┼──────────────────┤
462 │\E[ Ps B │ CUD │ VT100 │ Cursor down - │
463 │ │ │ │ move cursor down │
464 │ │ │ │ Ps times. │
465 ├────────────────┼──────────────┼────────────┼──────────────────┤
466 │\E[ Ps C │ CUF │ VT100 │ Cursor forward - │
467 │ │ │ │ move cursor to │
468 │ │ │ │ the right Ps │
469 │ │ │ │ times. │
470 ├────────────────┼──────────────┼────────────┼──────────────────┤
471 │\E[ Ps D │ CUB │ VT100 │ Cursor backward │
472 │ │ │ │ - move cursor to │
473 │ │ │ │ the left Ps │
474 │ │ │ │ times. │
475 ├────────────────┼──────────────┼────────────┼──────────────────┤
476 │\E[ Ps g │ TBC │ VT100 │ Tab clear. Ps=0 │
477 │ │ │ │ -> clear current │
478 │ │ │ │ column. Ps=3 -> │
479 │ │ │ │ clear all. │
480 ├────────────────┼──────────────┼────────────┼──────────────────┤
481 │\E[ Ps ; Ps f │ HVP │ VT100 │ Horizontal and │
482 │ │ │ │ vertical posi‐ │
483 │ │ │ │ tion - move cur‐ │
484 │ │ │ │ sor to row ; │
485 │ │ │ │ column. │
486 ├────────────────┼──────────────┼────────────┼──────────────────┤
487 │\E[ Ps ; Ps H │ CUP │ VT100 │ Cursor position │
488 │ │ │ │ - move cursor to │
489 │ │ │ │ row ; column. │
490 ├────────────────┼──────────────┼────────────┼──────────────────┤
491 │\E[ Ps J │ ED │ VT100 │ Erase in dis‐ │
492 │ │ │ │ play. Ps=0 -> │
493 │ │ │ │ below cursor. │
494 │ │ │ │ Ps=1 -> above │
495 ├────────────────┼──────────────┼────────────┼──────────────────┤
496 │\E[ Ps K │ EL │ VT100 │ Erase in line. │
497 │ │ │ │ Ps=0 -> right of │
498 │ │ │ │ cursor. Ps=1 -> │
499 │ │ │ │ left of cursor. │
500 │ │ │ │ Ps=2 -> all. │
501 ├────────────────┼──────────────┼────────────┼──────────────────┤
502 │\E[ Pm h │ SM │ VT100 │ Set mode. Pm=4 │
503 │ │ │ │ -> enable IRM │
504 │ │ │ │ (insert mode). │
505 │ │ │ │ All other values │
506 │ │ │ │ of Pm are unsup‐ │
507 │ │ │ │ ported. │
508 ├────────────────┼──────────────┼────────────┼──────────────────┤
509 │\E[ Pm l │ RM │ VT100 │ Reset mode. Pm=4 │
510 │ │ │ │ -> disable IRM │
511 │ │ │ │ (insert mode). │
512 │ │ │ │ All other values │
513 │ │ │ │ of Pm are unsup‐ │
514 │ │ │ │ ported. │
515 ├────────────────┼──────────────┼────────────┼──────────────────┤
516 │\E[ Ps n │ DSR │ VT100 │ Device status │
517 │ │ │ │ report. Ps=5 -> │
518 │ │ │ │ device status. │
519 │ │ │ │ Ps=6 -> cursor │
520 │ │ │ │ position. │
521 ├────────────────┼──────────────┼────────────┼──────────────────┤
522 │\E[ Ps L │ IL │ VT220 │ Insert Ps lines. │
523 ├────────────────┼──────────────┼────────────┼──────────────────┤
524 │\E[ Ps M │ DL │ VT220 │ Delete Ps lines. │
525 ├────────────────┼──────────────┼────────────┼──────────────────┤
526 │\E[ Ps P │ DCH │ VT220 │ Delete Ps char‐ │
527 │ │ │ │ acters. │
528 ├────────────────┼──────────────┼────────────┼──────────────────┤
529 │\E[ Ps @ │ ICH │ VT220 │ Insert Ps blank │
530 │ │ │ │ characters. │
531 ├────────────────┼──────────────┼────────────┼──────────────────┤
532 │\E[ Ps X │ ECH │ VT220 │ Erase Ps charac‐ │
533 │ │ │ │ ters. │
534 ├────────────────┼──────────────┼────────────┼──────────────────┤
535 │\E[ > c │ DA2 │ VT220 │ Send secondary │
536 │ │ │ │ device at‐ │
537 │ │ │ │ tributes. Foot │
538 │ │ │ │ responds with │
539 │ │ │ │ "I'm a VT220 and │
540 │ │ │ │ here's my ver‐ │
541 │ │ │ │ sion number". │
542 ├────────────────┼──────────────┼────────────┼──────────────────┤
543 │\E[ ! p │ DECSTR │ VT220 │ Soft terminal │
544 │ │ │ │ reset. │
545 ├────────────────┼──────────────┼────────────┼──────────────────┤
546 │\E[ ? Ps $ p │ DECRQM │ VT320 │ Request DEC pri‐ │
547 │ │ │ │ vate mode. │
548 ├────────────────┼──────────────┼────────────┼──────────────────┤
549 │\E[ Ps T │ SD │ VT420 │ Scroll down Ps │
550 │ │ │ │ lines. │
551 ├────────────────┼──────────────┼────────────┼──────────────────┤
552 │\E[ s │ SCOSC │ SCO, VT510 │ Save cursor po‐ │
553 │ │ │ │ sition. │
554 ├────────────────┼──────────────┼────────────┼──────────────────┤
555 │\E[ u │ SCORC │ SCO, VT510 │ Restore cursor │
556 │ │ │ │ position. │
557 ├────────────────┼──────────────┼────────────┼──────────────────┤
558 │\E[ Ps SP q │ DECSCUSR │ VT510 │ Set cursor │
559 │ │ │ │ style. In foot, │
560 │ │ │ │ Ps=0 means "use │
561 │ │ │ │ style from │
562 │ │ │ │ foot.ini". │
563 ├────────────────┼──────────────┼────────────┼──────────────────┤
564 │\E[ = Ps c │ DA3 │ VT510 │ send tertiary │
565 │ │ │ │ device at‐ │
566 │ │ │ │ tributes. Foot │
567 │ │ │ │ responds with │
568 │ │ │ │ "FOOT", in hexa‐ │
569 │ │ │ │ decimal. │
570 ├────────────────┼──────────────┼────────────┼──────────────────┤
571 │\E[ Pm d │ VPA │ ECMA-48 │ Line position │
572 │ │ │ │ absolute - move │
573 │ │ │ │ cursor to line │
574 │ │ │ │ Pm. │
575 ├────────────────┼──────────────┼────────────┼──────────────────┤
576 │\E[ Pm e │ VPR │ ECMA-48 │ Line position │
577 │ │ │ │ relative - move │
578 │ │ │ │ cursor down Pm │
579 │ │ │ │ lines. │
580 ├────────────────┼──────────────┼────────────┼──────────────────┤
581 │\E[ Pm a │ HPR │ ECMA-48 │ Character posi‐ │
582 │ │ │ │ tion relative - │
583 │ │ │ │ move cursor to │
584 │ │ │ │ the right Pm │
585 │ │ │ │ times. │
586 ├────────────────┼──────────────┼────────────┼──────────────────┤
587 │\E[ Ps E │ CNL │ ECMA-48 │ Cursor next line │
588 │ │ │ │ - move the cur‐ │
589 │ │ │ │ sor down Ps │
590 │ │ │ │ times. │
591 ├────────────────┼──────────────┼────────────┼──────────────────┤
592 │\E[ Ps F │ CPL │ ECMA-48 │ Cursor preceding │
593 │ │ │ │ line - move the │
594 │ │ │ │ cursor up Ps │
595 │ │ │ │ times. │
596 ├────────────────┼──────────────┼────────────┼──────────────────┤
597 │\E[ Pm ` │ HPA │ ECMA-48 │ Character posi‐ │
598 │ │ │ │ tion absolute - │
599 │ │ │ │ move cursor to │
600 │ │ │ │ column Pm. │
601 ├────────────────┼──────────────┼────────────┼──────────────────┤
602 │\E[ Ps G │ CHA │ ECMA-48 │ Cursor character │
603 │ │ │ │ absolute - move │
604 │ │ │ │ cursor to column │
605 │ │ │ │ Ps. cursor. Ps=2 │
606 │ │ │ │ -> all. Ps=3 -> │
607 │ │ │ │ saved lines. │
608 ├────────────────┼──────────────┼────────────┼──────────────────┤
609 │\E[ Ps S │ SU │ ECMA-48 │ Scroll up Ps │
610 │ │ │ │ lines. │
611 ├────────────────┼──────────────┼────────────┼──────────────────┤
612 │\E[ Ps I │ CHT │ ECMA-48 │ Cursor forward │
613 │ │ │ │ tabulation Ps │
614 │ │ │ │ tab stops. │
615 ├────────────────┼──────────────┼────────────┼──────────────────┤
616 │\E[ Ps Z │ CBT │ ECMA-48 │ Cursor backward │
617 │ │ │ │ tabulation Ps │
618 │ │ │ │ tab stops. │
619 ├────────────────┼──────────────┼────────────┼──────────────────┤
620 │\E[ Ps b │ REP │ ECMA-48 │ Repeat the pre‐ │
621 │ │ │ │ ceding printable │
622 │ │ │ │ character Ps │
623 │ │ │ │ times. │
624 ├────────────────┼──────────────┼────────────┼──────────────────┤
625 │\E[ ? Pi ; Pa ; │ XTSMGRAPHICS │ xterm │ Set or request │
626 │Pv S │ │ │ sixel at‐ │
627 │ │ │ │ tributes. │
628 ├────────────────┼──────────────┼────────────┼──────────────────┤
629 │\E > Ps q │ XTVERSION │ xterm │ Ps=0 -> report │
630 │ │ │ │ terminal name │
631 │ │ │ │ and version, in │
632 │ │ │ │ the form │
633 │ │ │ │ \EP>|foot(ver‐ │
634 │ │ │ │ sion)\E\. │
635 └────────────────┴──────────────┴────────────┴──────────────────┘
636
638 All OSC sequences begin with \E], sometimes abbreviated OSC.
639
640 ┌────────────────────┬────────────┬───────────────────────────┐
641 │Sequence │ Origin │ Description │
642 ├────────────────────┼────────────┼───────────────────────────┤
643 │\E] 0 ; Pt \E\ │ xterm │ Set window icon and │
644 │ │ │ title to Pt (foot │
645 │ │ │ does not support │
646 │ │ │ setting the icon) │
647 ├────────────────────┼────────────┼───────────────────────────┤
648 │\E] 2 ; Pt \E\ │ xterm │ Set window title to │
649 │ │ │ Pt │
650 ├────────────────────┼────────────┼───────────────────────────┤
651 │\E] 4 ; c ; spec │ xterm │ Change color number │
652 │\E\ │ │ c to spec, where │
653 │ │ │ spec is a color in │
654 │ │ │ XParseColor format. │
655 │ │ │ foot only supports │
656 │ │ │ RGB colors; either │
657 │ │ │ rgb:<red>/<green>/<blue>, │
658 │ │ │ or the legacy for‐ │
659 │ │ │ mat (#rgb). │
660 ├────────────────────┼────────────┼───────────────────────────┤
661 │\E] 7 ; Uri \E\ │ iTerm2 │ Update the terminal's │
662 │ │ │ current working direc‐ │
663 │ │ │ tory. Newly spawned ter‐ │
664 │ │ │ minals will launch in │
665 │ │ │ this directory. Uri must │
666 │ │ │ be on the format │
667 │ │ │ file://<hostname>/<path>. │
668 │ │ │ hostname must refer to │
669 │ │ │ your local host. │
670 ├────────────────────┼────────────┼───────────────────────────┤
671 │\E] 8 ; id=ID ; Uri │ VTE+iTerm2 │ Hyperlink (a.k.a HTML- │
672 │\E\ │ │ like anchors). id is op‐ │
673 │ │ │ tional; if assigned, all │
674 │ │ │ URIs with the same ID │
675 │ │ │ will be treated as a sin‐ │
676 │ │ │ gle hyperlink. An empty │
677 │ │ │ URI closes the hyperlink. │
678 ├────────────────────┼────────────┼───────────────────────────┤
679 │\E] 9 ; msg \E\ │ iTerm2 │ Desktop notification, │
680 │ │ │ uses notify in │
681 │ │ │ foot.ini(5). │
682 ├────────────────────┼────────────┼───────────────────────────┤
683 │\E] 10 ; spec \E\ │ xterm │ Change the default fore‐ │
684 │ │ │ ground color to spec, a │
685 │ │ │ color in XParseColor for‐ │
686 │ │ │ mat. │
687 ├────────────────────┼────────────┼───────────────────────────┤
688 │\E] 11 ; spec \E\ │ xterm │ Change the default back‐ │
689 │ │ │ ground color to spec, a │
690 │ │ │ color in XParseColor for‐ │
691 │ │ │ mat. Foot implements │
692 │ │ │ URxvt's transparency ex‐ │
693 │ │ │ tension; e.g. │
694 │ │ │ spec=[75]#ff00ff or │
695 │ │ │ spec=rgba:ff/00/ff/bf │
696 │ │ │ (pink with 75% alpha). │
697 ├────────────────────┼────────────┼───────────────────────────┤
698 │\E] 12 ; spec \E\ │ xterm │ Change cursor color to │
699 │ │ │ spec, a color in XParseC‐ │
700 │ │ │ olor format. │
701 ├────────────────────┼────────────┼───────────────────────────┤
702 │\E] 17 ; spec \E\ │ xterm │ Change selection back‐ │
703 │ │ │ ground color to spec, a │
704 │ │ │ color in XParseColor for‐ │
705 │ │ │ mat. │
706 ├────────────────────┼────────────┼───────────────────────────┤
707 │\E] 19 ; spec \E\ │ xterm │ Change selection fore‐ │
708 │ │ │ ground color to spec, a │
709 │ │ │ color in XParseColor for‐ │
710 │ │ │ mat. │
711 ├────────────────────┼────────────┼───────────────────────────┤
712 │\E] 52 ; Pc ; ? \E\ │ xterm │ Send clipboard data. Pc │
713 │ │ │ can be either c, s or p. │
714 │ │ │ c uses the clipboard as │
715 │ │ │ source, and s and p uses │
716 │ │ │ the primary selection. │
717 │ │ │ The response is \E] 52 ; │
718 │ │ │ Pc ; <base64-encoded │
719 │ │ │ data> E\, where Pc de‐ │
720 │ │ │ notes the source used. │
721 ├────────────────────┼────────────┼───────────────────────────┤
722 │\E] 52 ; Pc ; Pd │ xterm │ Copy Pd (base64 encoded │
723 │\E\ │ │ text) to the clipboard. │
724 │ │ │ Pc denotes the target: c │
725 │ │ │ targets the clipboard and │
726 │ │ │ s and p the primary se‐ │
727 │ │ │ lection. │
728 ├────────────────────┼────────────┼───────────────────────────┤
729 │\E] 104 ; c \E\ │ xterm │ Reset color number c │
730 │ │ │ (multiple semicolon sepa‐ │
731 │ │ │ rated c values may be │
732 │ │ │ provided), or all colors │
733 │ │ │ (excluding the default │
734 │ │ │ foreground/background │
735 │ │ │ colors) if c is omitted. │
736 ├────────────────────┼────────────┼───────────────────────────┤
737 │\E] 110 \E\ │ xterm │ Reset default foreground │
738 │ │ │ color │
739 ├────────────────────┼────────────┼───────────────────────────┤
740 │\E] 111 \E\ │ xterm │ Reset default background │
741 │ │ │ color │
742 ├────────────────────┼────────────┼───────────────────────────┤
743 │\E] 112 \E\ │ xterm │ Reset cursor color │
744 ├────────────────────┼────────────┼───────────────────────────┤
745 │\E] 117 \E\ │ xterm │ Reset selection back‐ │
746 │ │ │ ground color │
747 ├────────────────────┼────────────┼───────────────────────────┤
748 │\E] 119 \E\ │ xterm │ Reset selection fore‐ │
749 │ │ │ ground color │
750 ├────────────────────┼────────────┼───────────────────────────┤
751 │\E] 555 \E\ │ foot │ Flash the entire terminal │
752 │ │ │ (foot extension) │
753 ├────────────────────┼────────────┼───────────────────────────┤
754 │\E] 777;notify;ti‐ │ urxvt │ Desktop notification, │
755 │tle;msg \E\ │ │ uses notify in │
756 │ │ │ foot.ini(5). │
757 └────────────────────┴────────────┴───────────────────────────┘
758
760 All DCS sequences begin with \EP (sometimes abbreviated DCS), and are
761 terminated by \E\ (ST).
762
763 ┌───────────────────────┬────────────────────────────┐
764 │Sequence │ Description │
765 ├───────────────────────┼────────────────────────────┤
766 │\EP q <sixel data> \E\ │ Emit a sixel image at the │
767 │ │ current cursor position │
768 ├───────────────────────┼────────────────────────────┤
769 │\EP = 1 s \E\ │ Begin application synchro‐ │
770 │ │ nized updates │
771 ├───────────────────────┼────────────────────────────┤
772 │\EP = 2 s \E\ │ End application synchro‐ │
773 │ │ nized updates │
774 └───────────────────────┴────────────────────────────┘
775
777 Foot does not support 8-bit control characters ("C1").
778
779
780
781 2021-11-22 foot-ctlseqs(7)