Skip navigation.

Bit's World

Hope the best,plan the worst!

Posts tagged with "color"

ansi/vt100 terminal control

,


[ Status | Setup | Fonts | Cursor | Scrolling | Tabs | Erasing | Printing | Keyboard | Colors ]

Many computer terminals and terminal emulators support color and cursor control through a system of escape sequences. One such standard is commonly referred to as ANSI Color. Several terminal specifications are based on the ANSI color standard, including VT100.

The following is a partial listing of the VT100 control set.

<ESC> represents the ANSI "escape" character, 0x1B. Bracketed tags represent modifiable decimal parameters eg. {ROW} would be replaced by a row number.


Device Status

The following codes are used for reporting terminal/display settings, and vary depending on the implementation:
Query Device Code<ESC>[c
    Requests a Report Device Code response from the device.

Report Device Code<ESC>[{code}0c
    Generated by the device in response to Query Device Code request.

Query Device Status<ESC>[5n
    Requests a Report Device Status response from the device.

Report Device OK<ESC>[0n
    Generated by the device in response to a Query Device Status request; indicates that device is functioning correctly.

Report Device Failure<ESC>[3n
    Generated by the device in response to a Query Device Status request; indicates that device is functioning improperly.

Query Cursor Position<ESC>[6n
    Requests a Report Cursor Position response from the device.

Report Cursor Position<ESC>[{ROW};{COLUMN}R
    Generated by the device in response to a Query Cursor Position request; reports current cursor position.


Terminal Setup

The h and l codes are used for setting terminal/display mode, and vary depending on the implementation. Line Wrap is one of the few setup codes that tend to be used consistently:

Reset Device<ESC>c
    Reset all terminal settings to default;.

Enable Line Wrap<ESC>[7h
    Text wraps to next line if longer than the length of the display area.

Disable Line Wrap<ESC>[7l
    Disables line wrapping.


Fonts

Some terminals support multiple fonts: normal/bold, swiss/italic, etc. There are a variety of special codes for certain terminals the following are fairly standard:

Font Set G0<ESC>(
    Set default font.

Font Set G1<ESC>)
    Set alternate font.


Cursor Control

Cursor Home <ESC>[{ROW};{COLUMN}H
    Sets the cursor position where subsequent text will begin. If no row/column parameters are provided (ie. <ESC>[H), the cursor will move to the home position, at the upper left of the screen.

Cursor Up<ESC>[{COUNT}A
    Moves the cursor up by COUNT rows the default count is 1.

Cursor Down<ESC>[{COUNT}B
    Moves the cursor down by COUNT rows the default count is 1.

Cursor Forward<ESC>[{COUNT}C
    Moves the cursor forward by COUNT columns the default count is 1.

Force Cursor Position<ESC>[{ROW};{COLUMN}f
    Identical to Cursor Home.

Save Cursor<ESC>[s
    Save current cursor position.

Unsave Cursor<ESC>[u
    Restores cursor position after a Save Cursor.

Save Cursor & Attrs<ESC>7
    Save current cursor position.

Restore Cursor & Attrs<ESC>8
    Restores cursor position after a Save Cursor.


Scrolling

Scroll Screen<ESC>[r
    Enable scrolling for entire display.

Scroll Screen<ESC>[{start};{end}r
    Enable scrolling from row {start} to row {end}.

Scroll Down<ESC>D
    Scroll display down one line.

Scroll Up<ESC>M
    Scroll display up one line.


Tab Control

Set Tab <ESC>H
    Sets a tab at the current position.

Clear Tab <ESC>[g
    Clears tab at the current position.

Clear All Tabs <ESC>[3g
    Clears all tabs.


Erasing Text

Erase End of Line<ESC>[K
    Erases from the current cursor position to the end of the current line.

Erase Start of Line<ESC>[1K
    Erases from the current cursor position to the start of the current line.

Erase Line<ESC>[2K
    Erases the entire current line.

Erase Down<ESC>[J
    Erases the screen from the current line down to the bottom of the screen.

Erase Up<ESC>[1J
    Erases the screen from the current line up to the top of the screen.

Erase Screen<ESC>[2J
    Erases the screen with the background color and moves the cursor to home.


Printing

Some terminals support local printing:
Print Screen<ESC>[i
    Print the current screen.

Print Line<ESC>[1i
    Print the current line.

Stop Print Log<ESC>[4i
    Disable log.

Start Print Log<ESC>[5i
    Start log all received text is echoed to a printer.


Define Key

Set Key Definition<ESC>[{key};"{string}"p
    Associates a string of text to a keyboard key. {key} indicates the key by its ASCII value in decimal.


Set Display Attributes

Set Attribute Mode<ESC>[{attr1};...;{attrn}m
    Sets multiple display attribute settings. The following lists standard attributes:
    0Reset all attributes
    1Bright
    2Dim
    4Underscore
    5Blink
    7Reverse
    8Hidden
    
    Foreground Colors
    30Black
    31Red
    32Green
    33Yellow
    34Blue
    35Magenta
    36Cyan
    37White
    
    Background Colors
    40Black
    41Red
    42Green
    43Yellow
    44Blue
    45Magenta
    46Cyan
    47White
    

[ Top | Status | Setup | Fonts | Cursor | Scrolling | Tabs | Erasing | Printing | Keyboard | Colors ]

For comments/correction/additions regarding this reference, email specs@graphcomp.com.