Skip to content

VTE (GNOME Terminal and others)

libvte is the terminal widget behind GNOME Terminal, Ptyxis, Tilix, xfce4-terminal, Terminator, Black Box, and most GTK-based terminals. Wire behavior belongs to the library; the host application contributes profiles, menus, and policy toggles.

Identity

  • TERM: xterm-256color.
  • TERM_PROGRAM: not set by the library; hosts may set it.
  • VTE_VERSION: set in the environment as a numeric version, e.g. 7800 for 0.78.
  • DA1: CSI ? 65 ; 1 ; 9 c.
  • DA2: CSI > 65 ; Pv ; 1 c where Pv is the VTE version number.
  • XTVERSION: answered; the exact string form is version-dependent.

Documentation

Notable behavior

  • Originated OSC 8 hyperlinks (jointly with iTerm2, 2017); the hyperlink specification is hosted by a VTE developer.
  • Adds Sixel support (0.70, off by default; enabled in later releases depending on build options) and does not implement the Kitty graphics protocol.
  • Deliberately does not implement several xterm reporting features that leak state, and gates OSC 52 clipboard access behind host policy.
  • Underline styles (SGR 4:3) and underline color (SGR 58) are supported.
  • Many hosts (notably GNOME Terminal) are on a slower release cadence than the library, so a distribution's VTE version determines behavior.

Version notes

See NEWS in the repository; VTE uses 0.<even> stable series with VTE_VERSION numbers of the form MMNN.

Probe

echo "$VTE_VERSION"
tools/query '\033[>0q'   # XTVERSION
tools/query '\033[>c'    # DA2 carries the VTE version

Feature support

Records are maintained independently in tdn/terminals/vte.yaml. Unlisted features are unknown. See the comparison for all features.

FeatureSupportAs ofNotes and evidence
BEL urgency/visual
c0-bel-attention
SupportedImported · unverifiedUnversionedYes

import

14/16 pixel sizes
csi-14-16-t-pixel-sizes
SupportedImported · unverifiedUnversionedYes

import

18 size in cells
csi-18-t-text-size
SupportedImported · unverifiedUnversionedYes

import

22/23 title stack
csi-22-23-t-title-stack
SupportedImported · unverifiedUnversionedYes

import

ED 3 (scrollback)
csi-3-j-erase-scrollback
SupportedImported · unverifiedUnversionedYes

import

DECRQM
csi-decrqm
SupportedImported · unverifiedUnversionedYes

import

DECSTBM
csi-decstbm
SupportedImported · unverifiedUnversionedYes

import

DECSTR
csi-decstr
SupportedImported · unverifiedUnversionedYes

import

ED/EL/ECH/ICH/DCH/IL/DL
csi-editing-operations
SupportedImported · unverifiedUnversionedYes

import

REP
csi-rep
SupportedImported · unverifiedUnversionedYes

import

SU/SD
csi-su-sd-scroll
SupportedImported · unverifiedUnversionedYes

import

DECRQSS
dcs-decrqss
SupportedImported · unverifiedUnversionedYes; `?` which `Pt` values

import

Sixel
dcs-sixel
SupportedImported · unverifiedUnversionedYes, 0.70+ opt-in ([VTE NEWS](https://gitlab.gnome.org/GNOME/vte/-/blob/master/NEWS), 0.70.) | Also recorded: Yes, 0.70+ ([VTE NEWS](https://gitlab.gnome.org/GNOME/vte/-/blob/master/NEWS).); Build option and `VTE_SIXEL` / `enable-sixel` property; distributions vary

import import

1000 mouse
dec-mode-1000-mouse
SupportedImported · unverifiedUnversionedYes

import

1002 button motion
dec-mode-1002-button-motion
SupportedImported · unverifiedUnversionedYes

import

1003 all motion
dec-mode-1003-all-motion
SupportedImported · unverifiedUnversionedYes

import

1004 focus
dec-mode-1004-focus
SupportedImported · unverifiedUnversionedYes (VTE has no protocol reference; support is visible in `src/vte.cc` of [gnome/vte](https://gitlab.gnome.org/GNOME/vte).)

import

1006 sgr mouse
dec-mode-1006-sgr-mouse
SupportedImported · unverifiedUnversionedYes

import

1007 alternate scroll
dec-mode-1007-alternate-scroll
SupportedImported · unverifiedUnversionedYes

import

1015 urxvt mouse
dec-mode-1015-urxvt-mouse
SupportedImported · unverifiedUnversionedYes

import

1049 alternate screen
dec-mode-1049-alternate-screen
SupportedImported · unverifiedUnversionedYes

import

2004 bracketed paste
dec-mode-2004-bracketed-paste
SupportedImported · unverifiedUnversionedYes | Also recorded: Yes; Strips C0 controls and `CSI 201 ~` ([gnome/vte](https://gitlab.gnome.org/GNOME/vte), paste handling in `src/vte.cc`.)

import import

2026 synchronized output
dec-mode-2026-synchronized-output
SupportedImported · unverifiedUnversionedYes

import

win32-input-mode
dec-mode-9001-win32-input
UnknownImported · unverifiedUnversioned?; Not a Unix protocol; not documented by any of them

import

DEC Special Graphics
esc-dec-special-graphics
SupportedImported · unverifiedUnversionedYes ([VTE source](https://gitlab.gnome.org/GNOME/vte), `src/parser-charset-tables.hh`.)

import

OSC 0/2 set
osc-0-2-title
SupportedImported · unverifiedUnversionedYes

import

OSC 1 icon
osc-1-icon-name
PartialImported · unverifiedUnversionedPartial (Accepted and parsed; no distinct icon name exists on the platform, so it is ignored or aliased to the title.)

import

OSC 10/11 query
osc-10-11-default-colors-query
SupportedImported · unverifiedUnversionedYes

import

OSC 10/11 set
osc-10-11-default-colors-set
SupportedImported · unverifiedUnversionedYes

import

104/110/111 reset
osc-104-110-111-color-reset
SupportedImported · unverifiedUnversionedYes

import

OSC 12 cursor
osc-12-cursor-color
SupportedImported · unverifiedUnversionedYes

import

aid= / cl=
osc-133-aid-cl
SupportedImported · unverifiedUnversionedYes

import

OSC 133 A–D
osc-133-prompt-marks
SupportedImported · unverifiedUnversionedYes

import

OSC 17/19 selection
osc-17-19-selection-colors
SupportedImported · unverifiedUnversionedYes

import

OSC 4 query
osc-4-palette-query
SupportedImported · unverifiedUnversionedYes

import

OSC 4 set
osc-4-palette-set
SupportedImported · unverifiedUnversionedYes

import

OSC 52 read
osc-52-read
UnknownImported · unverifiedUnversioned?; Writes allowed; reads unimplemented. Older VTE ignores OSC 52 entirely

import

OSC 52 write
osc-52-write
SupportedImported · unverifiedUnversionedYes (0.72); Writes allowed; reads unimplemented. Older VTE ignores OSC 52 entirely

import

OSC 7
osc-7-working-directory
SupportedImported · unverifiedUnversionedYes (0.34)

import

OSC 777 notify
osc-777-notification
PartialImported · unverifiedUnversionedPartial (Some VTE-based terminals (e.g. Tilix, Terminator) handle OSC 777 in the host application; VTE itself does not emit a notification.)

import

OSC 8 hyperlinks
osc-8-hyperlinks
SupportedImported · unverifiedUnversionedYes (0.50)

import

id= grouping
osc-8-link-id
SupportedImported · unverifiedUnversionedYes

import

X11 color names
osc-x11-color-names
SupportedImported · unverifiedUnversionedYes

import

256 colors
sgr-256-colors
SupportedImported · unverifiedUnversionedYes

import

Italic 3
sgr-3-italic
SupportedImported · unverifiedUnversionedYes

import

Colon form 38:2
sgr-38-2-colon-form
SupportedImported · unverifiedUnversionedYes

import

Truecolor 38;2
sgr-38-2-truecolor
SupportedImported · unverifiedUnversionedYes

import

Underline styles 4:n
sgr-4-underline-styles
SupportedImported · unverifiedUnversionedYes (0.52+)

import

Blink 5
sgr-5-blink
SupportedImported · unverifiedUnversionedYes (config)

import

Overline 53
sgr-53-overline
SupportedImported · unverifiedUnversionedYes

import

Underline color 58
sgr-58-underline-color
SupportedImported · unverifiedUnversionedYes

import

Strikethrough 9
sgr-9-strikethrough
SupportedImported · unverifiedUnversionedYes

import

Ships its own shell scripts
shell-integration-scripts
SupportedImported · unverifiedUnversionedYes

import

bce
terminfo-bce
SupportedImported · unverifiedUnversionedYes

import

Ambiguous-width option
text-ambiguous-width
SupportedImported · unverifiedUnversionedYes ([VTE](https://gitlab.gnome.org/GNOME/vte), `VTE_CJK_WIDTH` and `src/vte.cc`.)

import

Bidi reordering
text-bidi
SupportedImported · unverifiedUnversionedYes ([VTE bidi documentation](https://gitlab.gnome.org/GNOME/vte/-/blob/master/doc/bidi.md).)

import

Bold-is-bright option
text-bold-is-bright
SupportedImported · unverifiedUnversionedYes

import

Synthesized box drawing
text-box-drawing
SupportedImported · unverifiedUnversionedYes

import

Color emoji rendering
text-color-emoji
SupportedImported · unverifiedUnversionedYes

import

Italic face
text-italic-face
SupportedImported · unverifiedUnversionedYes

import

Bundled Unicode tables
text-unicode-tables
PartialImported · unverifiedUnversionedPartial

import

VS16 widens
text-vs16-width
SupportedImported · unverifiedUnversionedYes ([VTE](https://gitlab.gnome.org/GNOME/vte), `VTE_CJK_WIDTH` and `src/vte.cc`.)

import