Document revision date: 30 March 2001

## OpenVMS RTL Screen Management (SMG$) Manual

Previous | Contents | Index

### 5.2.2 Numeric Capability Fields

Numeric capabilities take a numeric argument; for example, the number of columns on the terminal screen.

The format for a numeric capability field is as follows:

`NUMERIC {numeric-capability = value} [,...]`

Following are the meanings of the elements:

- Numeric-capability---One of the capability fields listed in Table 5-2
- Value---The value for the specified numeric capability

Table 5-2 Numeric Capabilities
OpenVMS Name | Used by SMG | Description
--- | --- | ---
COLUMNS | Y | Specifies the number of columns in a line.
CR_FILL | N | Specifies the number of fill characters needed after a carriage return.
LF_FILL | N | Specifies the number of fill characters needed after a line feed.
FRAME | N | Controls the number of data bits expected by the terminal driver for every character that is input or output (value must be between 5 and 8, inclusive).
NUMBER_FN_KEYS | N | Specifies the number of function keys available.
PRIVATE_NUM_1 to 10 | N | If set, these fields denote user-defined capabilities 1 through 10.
ROWS | N | Specifies the number of rows on the screen.
WIDE_SCREEN_COLUMNS | Y | Specifies the number of columns available in wide mode.

For example, the following TERMTABLE entry describes two characteristics of a VT300-series terminal:

    NAME = "VT300_series"

      NUMERIC

        rows = 24,         columns = 80

### 5.2.3 String Capability Fields

String capability fields provide several features. They let you do the following:

- Supply alternate characters for line drawing
- Provide icons so that your program can display carriage control characters (for example, form feeds) instead of executing them
- Supply the character sequences that cause a given operation (for example, ERASE_TO_END_OF_LINE) to be performed on any type of terminal
- Specify the character strings returned by special keys (for example, function keys) on a given terminal
- Specify strings having a maximum length of 255 characters (the maximum length of a string depends on its complexity, but in no case can it be longer than 255)

Table 5-3 lists string capabilities.

Table 5-3 String Capabilities
OpenVMS Name | Used by SMG | Description
--- | --- | ---
BEGIN_ALTERNATE_CHAR | N | Begins alternate character set.
BEGIN_AUTOPRINT_MODE | N | Begins autoprint mode.
BEGIN_AUTOREPEAT_MODE | N | Begins autorepeat mode.
BEGIN_AUTOWRAP_MODE | N | Begins autowrap mode.
BEGIN_BLINK | Y | Begins blinking characters.
BEGIN_BOLD | Y | Begins bolded characters.
BEGIN_DELETE_MODE | N | Begins delete mode.
BEGIN_INSERT_MODE | N | Begins insert mode.
BEGIN_LINE_DRAWING_CHAR | Y | Begins using line-drawing character set.
BEGIN_NORMAL_RENDITION | Y | Begins using normal video attributes.
BEGIN_REVERSE | Y | Begins reverse video characters.
BEGIN_UNDERSCORE | Y | Begins underscored characters.
BOTTOM_T_CHAR | Y | Displays line-drawing character bottom t.
CLEAR_TAB | N | Clears tab at current column.
CR_GRAPHIC | Y | Defines character to indicate a carriage return when control characters are being represented rather than executed.
CROSS_CHAR | Y | Defines character to represent the intersection of perpendicular lines.
CURSOR_DOWN | N | Moves cursor n lines down (does not cause scrolling).
CURSOR_LEFT | N | Moves cursor n positions to the left.
CURSOR_NEXT_LINE | N | Accepts an argument n and moves the cursor to the first position in the nth following line.
CURSOR_POSITION_REPORT | N | Reports the active position using two arguments.
CURSOR_PRECEDING_LINE | N | Accepts an argument n and moves the cursor to the first position in the nth preceding line.
CURSOR_RIGHT | N | Accepts an argument n and moves the cursor n positions to the right.
CURSOR_UP | N | Accepts an argument n and and moves cursor up n lines (does not cause scrolling).
DARK_SCREEN | Y | Makes screen background color dark (normal video).
DELETE_CHAR | N | Accepts an argument n and deletes n characters.
DELETE_LINE | N | Accepts an argument n and deletes n lines.
DEVICE_ATTRIBUTES | N | Terminal's response to a "What are you?" sequence.
DOUBLE_HIGH_BOTTOM | Y | Changes line to double height bottom half.
DOUBLE_HIGH_TOP | Y | Changes line to double height top half.
DOUBLE_WIDE | Y | Changes line to double width.
END_ALTERNATE_CHAR | N | Ends alternate character set.
END_AUTOPRINT_MODE | N | Ends autoprint mode.
END_AUTOREPEAT_MODE | N | Ends autorepeat mode.
END_AUTOWRAP_MODE | N | Ends autowrap mode.
END_BLINK | N | Ends blinking characters.
END_BOLD | N | Ends bolding mode.
END_DELETE_MODE | N | Ends delete mode.
END_INSERT_MODE | N | Ends insert mode.
END_LINE_DRAWING_CHAR | Y | Ends line-drawing characters.
END_REVERSE | N | Ends reverse video characters.
END_UNDERSCORE | N | Ends underscore.
ERASE_DISPLAY_TO_CURSOR | N | Erases display to virtual cursor position.
ERASE_LINE_TO_CURSOR | N | Erases line to virtual cursor position.
ERASE_TO_END_DISPLAY | N | Erases to end of display.
ERASE_TO_END_LINE | Y | Erases to end of line.
ERASE_WHOLE_DISPLAY | Y | Erases whole display.
ERASE_WHOLE_LINE | N | Erases whole line.
ERROR_ICON | Y | Defines character that indicates an error.
FF_GRAPHIC | Y | Uses this character to indicate a form feed when control characters are displayed rather than executed.
HOME | Y | Defines home cursor.
HORIZONTAL_BAR | Y | Displays line-drawing character horizontal bar.
HT_GRAPHIC | Y | Uses this character to indicate a horizontal tab when control characters are displayed rather than executed.
INDEX | N | Moves the cursor down one line without changing the column position (contents of the screen scroll up if necessary).
INIT_STRING | Y | Defines terminal initialization string.
INSERT_CHAR | N | Accepts an argument n and inserts n characters.
INSERT_LINE | N | Accepts an argument n and inserts n lines.
INSERT_PAD | N | Accepts an argument n and inserts n pad characters after character inserted.
KEY_0 | Y | Returned by keypad 0 in applications mode.
KEY_1 | Y | Returned by keypad 1 in applications mode.
KEY_2 | Y | Returned by keypad 2 in applications mode.
KEY_3 | Y | Returned by keypad 3 in applications mode.
KEY_4 | Y | Returned by keypad 4 in applications mode.
KEY_5 | Y | Returned by keypad 5 in applications mode.
KEY_6 | Y | Returned by keypad 6 in applications mode.
KEY_7 | Y | Returned by keypad 7 in applications mode.
KEY_8 | Y | Returned by keypad 8 in applications mode.
KEY_9 | Y | Returned by keypad 9 in applications mode.
KEY_BACKSPACE | N | Returned by backspace key.
KEY_COMMA | Y | Returned by keypad comma key.
KEY_DOWN_ARROW | Y | Returned by down arrow key.
KEY_E1 | Y | Returned by E1 (editing key 1).
KEY_E2 | Y | Returned by E2 (editing key 2).
KEY_E3 | Y | Returned by E3 (editing key 3).
KEY_E4 | Y | Returned by E4 (editing key 4).
KEY_E5 | Y | Returned by E5 (editing key 5).
KEY_E6 | Y | Returned by E6 (editing key 6).
KEY_ENTER (k) | Y | Returned by keypad enter key.
KEY_F1 . . . | Y | Returned by F1 (function key 1). . . .
KEY_F20 | Y | Returned by F20 (function key 20).
KEY_LABEL_F1 . . . | N | Legend on F1 (function key 1). . . .
KEY_LABEL_F20 | N | Legend on F20 (function key 20).
KEY_LEFT_ARROW | Y | Returned by left arrow key.
KEY_MINUS | Y | Returned by keypad minus key.
KEY_PERIOD | Y | Returned by keypad period key.
KEY_PF1 | Y | Returned by PF1 key.
KEY_PF2 | Y | Returned by PF2 key.
KEY_PF3 | Y | Returned by PF3 key.
KEY_PF4 | Y | Returned by PF4 key.
KEY_RIGHT_ARROW | Y | Returned by right arrow key.
KEY_UP_ARROW | Y | Returned by up arrow key.
LEFT_T_CHAR | Y | Displays line-drawing character left t.
LF_GRAPHIC | Y | Uses this character to indicate a line feed when control characters are displayed rather than executed.
LIGHT_SCREEN | Y | Makes screen background color light (reverse video).
LOWER_LEFT_CORNER | Y | Displays line-drawing character lower left corner.
LOWER_RIGHT_CORNER | Y | Displays line-drawing character lower right corner.
NAME | Y | Defines terminal name; must be the first field in the entry.
NEWLINE_CHAR | N | Defines new-line character.
NEXT_LINE | N | Displays next line.
NO_PRINTER | N | Defines no attached printer status.
PAD_CHAR | N | Defines pad character (if other than null).
PRINT_SCREEN | N | Prints contents of screen.
PRINTER_READY | N | Defines printer ready status.
PRINTER_NOT_READY | N | Defines printer not ready status.
PRIVATE_STR_1 . . . | N | User-defined capability 1. . . .
PRIVATE_STR_10 | N | User-defined capability 10.
REQUEST_CURSOR_POSITION | N | Requests the active cursor position.
REQUEST_PRINTER_STATUS | N | Requests status of attached printer.
RESTORE_CURSOR | N | Restores cursor to previously saved position.
REVERSE_INDEX | N | Moves the cursor to the same column on the preceding line (contents of the screen scroll down if necessary).
RIGHT_T_CHAR | Y | Displays line-drawing character right t.
SAVE_CURSOR | N | Saves cursor position.
SCROLL_FORWARD | N | Accepts an argument n and scrolls forward n lines.
SCROLL_REVERSE | Y | Accepts an argument n and scrolls backward n lines.
SEL_ERASE_TO_END_DISPLAY | N | Selectively erases from cursor to end of display (does not change attributes).
SEL_ERASE_TO_END_LINE | N | Selectively erases from cursor to end of line (does not change attributes).
SEL_ERASE_WHOLE_DISPLAY | N | Selectively erases entire display (does not change attributes).
SEL_ERASE_WHOLE_LINE | N | Selectively erases entire line (does not change attributes).
SET_APPLICATION_KEYPAD | Y | Begins applications keypad mode.
SET_CHAR_NOT_SEL_ERASE | N | Designates all subsequent characters as not selectively erasable.
SET_CHAR_SEL_ERASE | N | Designates all subsequent characters as selectively erasable.
SET_CURSOR_ABS | Y | Directs cursor addressing (accepts row and column arguments).
SET_CURSOR_OFF | Y | Sets cursor to invisible.
SET_CURSOR_ON | Y | Sets cursor to visible.
SET_JUMP_SCROLL | Y | Sets scrolling to jump scroll.
SET_NUMERIC_KEYPAD | Y | Ends keypad applications mode (resumes numeric mode).
SET_ORIGIN_ABSOLUTE | N | Allows cursor positioning outside current scrolling region.
SET_ORIGIN_RELATIVE | N | Prohibits cursor positioning outside current scrolling region.
SET_PRINTER_OUTPUT | N | Sends output to printer port rather than screen.
SET_SCREEN_OUTPUT | N | Sends output to terminal screen.
SET_SCROLL_REGION | Y | Sets scrolling region (accepts as arguments top margin and bottom margin).
SET_SMOOTH_SCROLL | Y | Sets scrolling to smooth scroll.
SET_TAB | N | Sets tab at current column.
SINGLE_HIGH | Y | Changes this line to single height, single width.
TAB_CHAR | N | Defines tab character (other than Ctrl/I or tab with padding); note that this field should be used only for non-ASCII terminals.
TOP_T_CHAR | Y | Displays line-drawing character top t.
TRUNCATION_ICON | Y | Defines the character that indicates overflow characters were truncated.
UNDERLINE_CHAR | N | Underlines a character.
UPPER_LEFT_CORNER | Y | Displays line-drawing character upper left corner.
UPPER_RIGHT_CORNER | Y | Displays line-drawing character upper right corner.
VERTICAL_BAR | Y | Displays line-drawing character vertical bar.
VT_GRAPHIC | Y | Defines the character that indicates a vertical tab when control characters are displayed rather than executed.
WIDTH_NARROW | Y | Sets terminal width to narrow (usually 80 columns).
WIDTH_WIDE | Y | Sets terminal width to wide (usually 132 columns).

Table 5-4 lists the STRING_2 capabilities. In order to construct one of the user-defined renditions SMG$M_USER1 through SMG$M_USER8, you must provide an appropriate definition in the file TERMTABLE.TXT using STRING_2 capabilities.

Table 5-4 String_2 Capabilities
OpenVMS Name | Used by SMG | Description
--- | --- | ---
BEGIN_STATUS_LINE | Y | Begins output to hardware status line.
BEGIN_USER1 | Y | Begins first user-defined attribute.
BEGIN_USER2 | Y | Begins second user-defined attribute.
BEGIN_USER3 | Y | Begins third user-defined attribute.
BEGIN_USER4 | Y | Begins fourth user-defined attribute.
BEGIN_USER5 | Y | Begins fifth user-defined attribute.
BEGIN_USER6 | Y | Begins sixth user-defined attribute.
BEGIN_USER7 | Y | Begins seventh user-defined attribute.
BEGIN_USER8 | Y | Begins eighth user-defined attribute.
END_STATUS_LINE | Y | Ends output to hardware status line.
END_USER1 | N | Ends first user-defined attribute.
END_USER2 | N | Ends second user-defined attribute.
END_USER3 | N | Ends third user-defined attribute.
END_USER4 | N | Ends fourth user-defined attribute.
END_USER5 | N | Ends fifth user-defined attribute.
END_USER6 | N | Ends sixth user-defined attribute.
END_USER7 | N | Ends seventh user-defined attribute.
END_USER8 | N | Ends eighth user-defined attribute.
BLACK_SCREEN | Y | Makes screen background color black.
BLUE_SCREEN | Y | Makes screen background color blue.
CYAN_SCREEN | Y | Makes screen background color cyan (green-blue).
GREEN_SCREEN | Y | Makes screen background color green.
MAGENTA_SCREEN | Y | Makes screen background color magenta.
RED_SCREEN | Y | Makes screen background color red.
WHITE_SCREEN | Y | Makes screen background color white.
YELLOW_SCREEN | Y | Makes screen background color yellow.
USER1_SCREEN | Y | User-defined background color.
USER2_SCREEN | Y | User-defined background color.

Previous | Next | Contents | Index

| privacy and legal statement |
5935PRO_005.HTML