Appearance
Terminal.app vs vt100.js
Side-by-side terminal feature comparison
Summary
126 features differ between these terminals
Feature Comparison
Character Sets
| Feature | Terminal.app | vt100.js |
|---|---|---|
| DEC line drawing character set | ✓ | ✓ |
| DEC Special Graphics | ✓ | ✓ |
| G0/G1 character set switching | ✓ | ✓ |
| UTF-8 mode | ✓ | ✓ |
Cursor
Device Status
Editing
Erase
Extensions
Input Protocols
Modes
Reset
| Feature | Terminal.app | vt100.js |
|---|---|---|
| DECALN screen alignment (ESC # 8) | ✗ | ✗ |
| Backend reset() method | ✓ | ✓ |
| Full reset (RIS) | ✓ | ✓ |
| SGR reset clears attributes | ✓ | ✓ |
| Soft reset (DECSTR) | ✓ | ✗ |
Scrollback
SGR (Text Styling)
Text
Unicode
| Feature | Terminal.app | vt100.js |
|---|---|---|
| East Asian Ambiguous Width | ✓ | ✓ |
| Grapheme Cluster Cursor Movement | ✗ | ✓ |
| Tab Stops (HT) | ✓ | ✓ |
| Wide Char at Line Wrap | ✓ | ✗ |
Only in Terminal.app
116 features supported by Terminal.app but not vt100.js:
- HPA horizontal position absolute (CSI `)Cursor
- Cursor shape (DECSCUSR)Cursor
- Secondary Device Attributes (DA2)Device Status
- Report window size in pixels (CSI 14 t)Device Status
- Report text area size in chars (CSI 18 t)Device Status
- DECCARA — change attrs in rectangleEditing
- DECCRA — copy rectangular areaEditing
- DECDC — delete columns (CSI Ps ' ~)Editing
- DECERA — erase rectangular areaEditing
- DECFRA — fill rectangular areaEditing
- DECIC — insert columns (CSI Ps ' })Editing
- DECRARA — reverse attrs in rectangleEditing
- DECSERA — selective erase rectangular areaEditing
- Delete characters (DCH)Editing
- Delete lines (DL)Editing
- Insert characters (ICH)Editing
- Insert lines (IL)Editing
- Repeat character (REP)Editing
- SL — shift left (CSI Ps SP @)Editing
- SR — shift right (CSI Ps SP A)Editing
- Erase character (ECH)Erase
- EL erases with bg colorErase
- Selective Erase (DECSED)Erase
- iTerm2 Inline Images (OSC 1337)Extensions
- Kitty graphics protocolExtensions
- Kitty graphics: animationExtensions
- Kitty graphics: displayExtensions
- Kitty graphics: transmitExtensions
- Kitty graphics: Unicode placeholdersExtensions
- Desktop Notifications (OSC 9/777)Extensions
- VS Code Shell Integration (OSC 633)Extensions
- Foreground color query (OSC 10)Extensions
- Reset color palette (OSC 104)Extensions
- Background color query (OSC 11)Extensions
- Reset foreground color (OSC 110)Extensions
- Reset background color (OSC 111)Extensions
- Reset cursor color (OSC 112)Extensions
- Reset pointer fg color (OSC 113)Extensions
- Reset pointer bg color (OSC 114)Extensions
- Cursor color (OSC 12)Extensions
- Highlight background (OSC 17)Extensions
- Set Wayland app-id (OSC 176)Extensions
- Highlight foreground (OSC 19)Extensions
- Kitty color protocol (OSC 21)Extensions
- Pointer shape (OSC 22)Extensions
- Kitty color stack push (OSC 30001)Extensions
- Systemd context (OSC 3008)Extensions
- Kitty color stack pop (OSC 30101)Extensions
- Color palette (OSC 4)Extensions
- Audio sound (OSC 440)Extensions
- Special color (OSC 5)Extensions
- Clipboard access (OSC 52)Extensions
- Screen flash (OSC 555)Extensions
- OSC 66 text sizingExtensions
- VTE termprop (OSC 666)Extensions
- Current directory (OSC 7)Extensions
- Locale query/set (OSC 701)Extensions
- Version query (OSC 702)Extensions
- Set normal font (OSC 710)Extensions
- Scroll view up (OSC 720)Extensions
- Cell size report (OSC 776)Extensions
- Notifications (OSC 777)Extensions
- Font size query/set (OSC 7770)Extensions
- Font + window size (OSC 7777)Extensions
- Hyperlinks (OSC 8)Extensions
- OSC 9;4 progress barExtensions
- Desktop notifications (OSC 99)Extensions
- Text reflow on resizeExtensions
- Semantic prompts (OSC 133)Extensions
- Sixel graphicsExtensions
- 24-bit truecolorExtensions
- Button-Event Mouse (1002)Input Protocols
- CSI u Key EncodingInput Protocols
- modifyOtherKeysInput Protocols
- modifyOtherKeys mode 3Input Protocols
- Pixel Mouse Reporting (1016)Input Protocols
- urxvt Mouse Reporting (1015)Input Protocols
- X10 Mouse Tracking (9)Input Protocols
- Enter alt screen (DECSET 1049)Modes
- Alt screen clear-on-enter (?1047)Modes
- Alt screen legacy (?47)Modes
- Bracketed paste (DECSET 2004)Modes
- Focus tracking (DECSET 1004)Modes
- Insert/replace mode (IRM)Modes
- Left/Right Margins (DECLRMM, Mode 69)Modes
- All motion mouse (DECSET 1003)Modes
- SGR mouse mode (DECSET 1006)Modes
- Mouse tracking (DECSET 1000)Modes
- Soft reset (DECSTR)Reset
- Alt screen separate scrollbackScrollback
- 256-color bg (SGR 48;5)SGR (Text Styling)
- Bright bg colors (SGR 100-107)SGR (Text Styling)
- Standard bg colors (SGR 40-47)SGR (Text Styling)
- 24-bit bg (SGR 48;2)SGR (Text Styling)
- Faint/dim (SGR 2)SGR (Text Styling)
- 256-color fg (SGR 38;5)SGR (Text Styling)
- Bright fg colors (SGR 90-97)SGR (Text Styling)
- Standard fg colors (SGR 30-37)SGR (Text Styling)
- 24-bit fg (SGR 38;2)SGR (Text Styling)
- Hidden/invisible (SGR 8)SGR (Text Styling)
- Italic (SGR 3)SGR (Text Styling)
- Strikethrough (SGR 9)SGR (Text Styling)
- Underline color, indexed (SGR 58;5)SGR (Text Styling)
- Reset underline color (SGR 59)SGR (Text Styling)
- Underline color, truecolor (SGR 58;2)SGR (Text Styling)
- Underline color (SGR 58)SGR (Text Styling)
- Curly underline (SGR 4:3)SGR (Text Styling)
- Dashed underline (SGR 4:5)SGR (Text Styling)
- Dotted underline (SGR 4:4)SGR (Text Styling)
- Double underline (SGR 21)SGR (Text Styling)
- Combining characters (0 cols)Text
- HTS set tab stop (ESC H)Text
- CJK wide chars (2 cols)Text
- Emoji wide chars (2 cols)Text
- Regional indicator flags (2 cols)Text
- Wide Char at Line WrapUnicode
Only in vt100.js
9 features supported by vt100.js but not Terminal.app:
- ANSI restore cursor (CSI u)Cursor
- ANSI save cursor (CSI s)Cursor
- Cursor back (CUB)Cursor
- Cursor down (CUD)Cursor
- Cursor up (CUU)Cursor
- Sixel geometry report (CSI ? Pi;Pa;Pv S)Extensions
- Origin mode (DECOM)Modes
- Emoji ZWJ sequences (2 cols)Text
- Grapheme Cluster Cursor MovementUnicode