Skip to content

VT features

jerch edited this page Aug 18, 2019 · 8 revisions

NOTE: WORK IN PROGRESS

Supported VT features by xterm.js

Version: 3.14.0

Table of Contents

General notes

This document lists xterm.js' support of typical VT commands. The commands are grouped by their type:

  • C0: single byte command (7bit control characters, byte range \x00 .. \x1f)
  • C1: single byte command (8bit control characters, byte range \x80 .. \x9f)
  • ESC: sequence starting with ESC (\x1b)
  • CSI - Control Sequence Introducer: sequence starting with ESC [ (7bit) or CSI (\x9b 8bit)
  • DCS - Device Control String: sequence starting with ESC P (7bit) or DCS (\x90 8bit)
  • OSC - Operating System Command: sequence starting with ESC ] (7bit) or OSC (\x9d 8bit)

Application Program Command (APC), Privacy Message (PM) and Start of String (SOS) are not supported, any sequence of these types will be ignored.

Note that the list only contains commands implemented in xterm.js' core codebase. Missing commands are either not supported or unstable/experimental. Furthermore addons can provide additional commands.

To denote the sequences the lists use the same abbreviations as xterm does:

  • Ps: A single (usually optional) numeric parameter, composed of one or more decimal digits.
  • Pm: A multiple numeric parameter composed of any number of single numeric parameters, separated by ; character(s), e.g. Ps ; Ps ; ....
  • Pt: A text parameter composed of printable characters. Note that for most commands with Pt only ASCII printables are specified to work. Additionally xterm.js will let any character >C1 pass as printable.

C0

Mnemonic Name Sequence Short Description Status
BEL Bell \x07 Rings the bell. supported
BS Backspace \x08 Moves the cursor one position to the left. supported
LF Line Feed \n Moves the cursor one row down, scrolling if needed. supported
CR Carriage Return \r Moves the cursor to the beginning of the row. supported

CSI

Mnemonic Name Sequence Short Description Status
CUU Cursor Up CSI Ps A Move the cursor position `Ps` times to the top (default=1). supported
CUD Cursor Down CSI Ps B Move the cursor position `Ps` times to the bottom (default=1). supported
CUF Cursor Forward CSI Ps C Move the cursor position `Ps` times to the right (default=1). supported
CUB Cursor Backward CSI Ps D Move the cursor position `Ps` times to the left (default=1). supported
CUP Cursor Position CSI Ps ; Ps H Set the cursor to position [`Ps`, `Ps`]. supported
SGR Select Graphic Rendition CSI Pm m Set various text attributes. partly

ESC

Mnemonic Name Sequence Short Description Status
DECALN Screen Alignment Pattern ESC # 8 Fill viewport with a test pattern (E). supported

OSC

Identifier Sequence Short Description Status
0 OSC 0 ; Pt BEL Set window title and icon name. partly
1 OSC 1 ; Pt BEL Set icon name. unsupported
2 OSC 2 ; Pt BEL Set window title. supported

TODO

  • specific notes on several commands (long description)
  • references
Clone this wiki locally