When watching a terminal, it is desirable to set the proper modes on the watcher's terminal before displaying output from the watched terminal. Ideally, the watcher's terminal should have the same modes set as the terminal which is being watched. This ensures the output will display correctly. This is not a problem when using Peek/Spy's initial-screen-display feature since the correct initial settings for the watcher's terminal will be output to it as part of the initial-screen display. However when the screen-saver is NOT in use by the person being watched, it may be desirable to set some initial terminal modes on your terminal before you begin watching. In addition you may also want to restore your own terminal modes when finished watching another terminal. The Peek/Spy /INIT_SEQUENCE=() qualifier may be used to specify an initial modes-setting sequence which is sent to your terminal just before you start watching. The /FINISH_SEQUENCE=() qualifier specifies a modes-setting sequence which will be sent to your terminal after you finish watching someone. Each of these qualifiers accepts a list of keywords. Each keyword causes a particular sequence to be sent to the watcher's terminal.
1 – Keywords
These are the keywords available for /INIT_SEQUENCE and /FINISH_SEQUENCE. Each keyword causes a particular sequence to be sent to the watcher's terminal. The order in which these sequences are output is fixed and does not depend on the order in which they appear on the command line. For information on the fixed-ordering of these sequences, see the PEEK Watching Init_and_Finish_Sequences Subtopic: Sequence_Ordering.
1.1 – 132COLUMN
Outputs "<ESC>[?3h"
1.2 – 80COLUMN
Outputs "<ESC>[?3l"
1.3 – APPLICATION
Outputs "<ESC>="
1.4 – CHARACTER_SET=()
CHARACTER_SET takes a list of the keywords HANJI, KANJI, KATAKANA, MULTINATIONAL, STANDARD, or G0=keyword, G1=keyword, G2=keyword, G3=keyword, GL=keyword, GR=keyword. The fixed order in which these terminal control sequences are output allows one to use the STANDARD, MULTINATIONAL, KANJI, or KATAKANA keywords and then customize that settings using one of the G0, G1, G2, G3, GL, GR keywords.
1.5 – MULTINATIONAL
The keyword STANDARD or MULTINATIONAL equates to the command: CHARACTER_SET=(G0=ASCII,G1=ASCII,G2=DECSUPGR,G3=DECSUPGR,- GL=G0,GR=G2) It outputs "<ESC>(B<ESC>)B<ESC>*%5<ESC>+%5<SI><ESC>}"
1.6 – STANDARD
The keyword STANDARD or MULTINATIONAL equates to the command: CHARACTER_SET=(G0=ASCII,G1=ASCII,G2=DECSUPGR,G3=DECSUPGR,- GL=G0,GR=G2) It outputs "<ESC>(B<ESC>)B<ESC>*%5<ESC>+%5<SI><ESC>}"
1.7 – HANJI
The keyword HANJI equates to the following command which might be used on a Korean HANJI terminal: CHARACTER_SET=(G0=KS_ROMAN,G1=DECSPEC,G2=KOREAN,G3=KOREAN,- GL=G0,GR=G3) It outputs "<ESC>\(%?\<ESC>\)0\<ESC>\*4\<ESC>\+4\<SI><ESC>\|\".
1.8 – KANJI
The keyword KANJI equates to the following command which might be used on a Japanese fullset KANJI terminal: CHARACTER_SET=(G0=JIS_ROMAN,G1=DECSPEC,G2=JIS_KATAKANA,- G3=DEC_KANJI,GL=G0,GR=G3) It outputs "<ESC>(J<ESC>)0<ESC>*I<ESC>+"0<SI><ESC>|".
1.9 – KATAKANA
The keyword KATAKANA equates to the following command which might be used on a Japanese KATAKANA terminal: CHARACTER_SET=(G0=JIS_ROMAN,G1=JIS_KATAKANA,- G2=JIS_KATAKANA,G3=DECSPEC,GL=G0,GR=G2) It outputs "<ESC>(J<ESC>)I<ESC>*I<ESC>+0<SI><ESC>}".
1.10 – G0-G3_KEYWORDS
The G0, G1, G2, G3 keywords take one of the following character-set keywords: Keyword Character set description Internal name ------ ------------------------- ------------- ASCII ASCII character set B DECSPEC DEC Special Graphic 0 DECSUPGR DEC Supplemental Graphic %5 DECTECH DEC Technical > ISOLATIN1 ISO Latin-1 supplemental A JIS_KATAKANA JIS-Katakana (Japanese terminal) I JIS_ROMAN JIS-Roman (Japanese terminal) J KANJI DEC Kanji (Japanese terminal) "0 (or 1 or 3) KOREAN Hanji (Korean terminal) 4 KS_ROMAN KS Roman (Korean terminal) %? LINEDRAWING DEC Line Drawing 0 USERPREF User-preferred supplemental < Or you can specify your own G0, G1, G2, or G3 94-character set final sequence by using the STRING= keyword. G0=STRING="xx" outputs "<ESC>(xx". G1=STRING="xx" outputs "<ESC>)xx". G2=STRING="xx" outputs "<ESC>*xx". G3=STRING="xx" outputs "<ESC>+xx". E.g. CHARACTER_SET=(G0=STRING="B") would be the same as CHARACTER_SET=(G0=ASCII) and CHARACTER_SET=(G0=DECSUPGR) would be the same as CHARACTER_SET=(G0=STRING="%5")
1.11 – G1-G3_96_KEYWORDS
The G1, G2, G3 keywords can also take one of the following additional 96-character-set keywords: BRITISH British national A CANADIAN French Canadian national 9 (or Q) DANISH Danish/Norwegian national ` (or E or 6) DECTECH DEC Technical > DUTCH Dutch national 4 FINNISH Finnish national 5 (or C) FRENCH French national R GERMAN German national K ITALIAN Italian national Y NORWEGIAN Norwegian/Danish national ` (or E or 6) PORTUGESE Portugese national %6 SPANISH Spanish national Z SWEDISH Swedish national 7 (or H) SWISS Swiss national = Or you can specify your own G1, G2, or G3 96-character set final sequence by using the 96STRING= keyword. G1=96STRING="xx" outputs "<ESC>-xx". G2=96STRING="xx" outputs "<ESC>.xx". G3=96STRING="xx" outputs "<ESC>/xx". E.g. CHARACTER_SET=(G1=96STRING=7) would be the same as CHARACTER_SET=(G1=SWEDISH) and CHARACTER_SET=(G2=DECTECH) would be the same as CHARACTER_SET=(G2=96STRING=">")
1.12 – GL
The GL and GR keywords take one of the following keyword values: G0, G1, G2, G3. E.g. CHARACTER_SET=(GL=G0,GR=G2). GL=G0 outputs "<SI>". GL=G1 outputs "<SO>". GL=G2 outputs "<ESC>n". GL=G3 outputs "<ESC>o".
1.13 – GR
The GL and GR keywords take one of the following keyword values: G0, G1, G2, G3. E.g. CHARACTER_SET=(GL=G0,GR=G2). GR=G1 outputs "<ESC>~". GR=G2 outputs "<ESC>}". GR=G3 outputs "<ESC>|".
1.14 – CLEAR
Outputs "<ESC>[H<ESC>[J"
1.15 – EIGHT_BIT
Outputs "<ESC> G"
1.16 – INSERT
Outputs "<ESC>[4h"
1.17 – NOINSERT
Outputs "<ESC>[4l"
1.18 – INVERSE
Outputs "<ESC>[?5h"
1.19 – NOINVERSE
Outputs "<ESC>[?5l"
1.20 – NATIONAL
Outputs "<CSI>?42h"
1.21 – NONATIONAL
Outputs "<CSI>?42l"
1.22 – NONE
The keyword NONE is used to specify that there is no /INIT or /FINISH sequence.
1.23 – NUMERIC
Outputs "<ESC>>"
1.24 – ORIGIN
Outputs "<ESC>[?6h"
1.25 – NOORIGIN
Outputs "<ESC>[?6l"
1.26 – PREFIX="string"
PREFIX takes a string parameter and outputs it before any other sequences. Parameter is a user specified string in "hot-key" format. E.g. /INIT=(PREFIX="<ESC>[2J")
1.27 – PREF_DEC
Outputs "<DCS>0!u%5<ST>"
1.28 – PREF_ISO
Outputs "<DCS>1!uA<ST>"
1.29 – REGIS
Outputs "<ESC>Pp"
1.30 – SCROLL=(top row,bottom row)
SCROLL takes two numeric parameters, top_row and bottom_row. These are substituted into the "$[t;br" escape sequence exactly as they are given on the command line. E.g. /INIT=(SCROLL=(5,20)) generates "<ESC>[5;20r".
1.31 – NOSCROLL
Outputs "<ESC>[r"
1.32 – SEVEN_BIT
Outputs "<ESC> F"
1.33 – STRING="string"
The string specified with /INIT=(STRING="string") or /FINISH=(STRING="string") is output after all the other sequences specified have been output, except for the REGIS, TEXTRONIX and VT52 sequences. The parameter is a user specified string in "hot-key" format. E.g. /INIT=(STRING="<ESC>[2J")
1.34 – STATUS_INDICATOR
Outputs "<ESC>[1$~"
1.35 – STATUS_LINE
Outputs "<ESC>[2$~"
1.36 – NOSTATUS_LINE
Outputs "<ESC>[0$~"
1.37 – STATUS START[="string"]
Outputs "<ESC>[1$}" then the optional string. This may be used to put text on the status line. It should be followed by a STATUS_END to return the cursor to the main display.
1.38 – STATUS_END
Outputs "<ESC>[0$}"
1.39 – SUFFIX="string"
The string specified with /INIT=(SUFFIX="string") or /FINISH=(SUFFIX="string") is output after all the other sequences specified have been output. The parameter is a user specified string in "hot-key" format. E.g. /INIT=(SUFFIX="<ESC>[2J")
1.40 – TEKTRONIX
Outputs "<ESC>[?38h"
1.41 – NOTEKTRONIX
Outputs "<ESC>[?38l"
1.42 – TEKTRONIX2
Outputs "<ESC>%!0"
1.43 – NOTEKTRONIX2
Outputs "<ESC>%!2"
1.44 – VT100
Outputs "<ESC><"
1.45 – VT200
Outputs "<ESC><<ESC>["62;1p"
1.46 – VT300
Outputs "<ESC><<ESC>["63;1p"
1.47 – VT400
Outputs "<ESC><<ESC>["64;1p"
1.48 – VT52
Outputs "<ESC>[?2l<ESC>\"
2 – Sequence Ordering
The sequences are output as follows and in the following order regardless of the sequence of the keywords on the command line: PREFIX="string" user specified string in "hot-key" format. SCROLL=(5,20) <ESC>[5;20r VT100 <ESC>< VT200 <ESC><<ESC>["62;1p VT300 <ESC><<ESC>["63;1p VT400 <ESC><<ESC>["64;1p SEVEN_BIT <ESC> F EIGHT_BIT <ESC> G STATUS_INDICATOR <ESC>[1$~ STATUS_LINE <ESC>[2$~ NOSTATUS_LINE <ESC>[0$~ STATUS_START <ESC>[1$} STATUS_END <ESC>[0$} PREF_DEC <DCS>0!u%5<ST> PREF_ISO <DCS>1!uA<ST> CHARACTER_SET=MULTINATIONAL <ESC>(B<ESC>)B<ESC>*%5<ESC>+%5<SI><ESC>} CHARACTER_SET=STANDARD <ESC>(B<ESC>)B<ESC>*%5<ESC>+%5<SI><ESC>} CHARACTER_SET=KATAKANA <ESC>(J<ESC>)I<ESC>*I<ESC>+0<SI><ESC>} CHARACTER_SET=KANJI <ESC>(J<ESC>)0<ESC>*I<ESC>+"0<SI><ESC>| CHARACTER_SET=G0=STRING="xx" <ESC>(xx CHARACTER_SET=G1=STRING="xx" <ESC>)xx CHARACTER_SET=G2=STRING="xx" <ESC>*xx CHARACTER_SET=G3=STRING="xx" <ESC>+xx CHARACTER_SET=G1=96STRING="xx" <ESC>-xx CHARACTER_SET=G2=96STRING="xx" <ESC>.xx CHARACTER_SET=G3=96STRING="xx" <ESC>/xx CHARACTER_SET=G0=94_charset_kw <ESC>(<94-charset-final> CHARACTER_SET=G1=94_charset_kw <ESC>)<94-charset-final> CHARACTER_SET=G2=94_charset_kw <ESC>*<94-charset-final> CHARACTER_SET=G3=94_charset_kw <ESC>+<94-charset-final> NATIONAL <CSI>?42h NONATIONAL <CSI>?42l CHARACTER_SET=G1=96_charset_kw <ESC>-<96-charset-final> CHARACTER_SET=G2=96_charset_kw <ESC>.<96-charset-final> CHARACTER_SET=G3=96_charset_kw <ESC>/<96-charset-final> CHARACTER_SET=GL=G0 <SI> CHARACTER_SET=GL=G1 <SO> CHARACTER_SET=GL=G2 <ESC>n CHARACTER_SET=GL=G3 <ESC>o CHARACTER_SET=GR=G1 <ESC>~ CHARACTER_SET=GR=G2 <ESC>} CHARACTER_SET=GR=G3 <ESC>| APPLICATION <ESC>= NUMERIC <ESC>> INSERT <ESC>[4h NOINSERT <ESC>[4l 132COLUMN <ESC>[?3h 80COLUMN <ESC>[?3l INVERSE <ESC>[?5h NOINVERSE <ESC>[?5l ORIGIN <ESC>[?6h NOORIGIN <ESC>[?6l NOSCROLL <ESC>[r CLEAR <ESC>[H<ESC>[J STRING="string" user specified string in "hot-key" format. REGIS <ESC>Pp TEKTRONIX <ESC>[?38h NOTEKTRONIX <ESC>[?38l TEKTRONIX2 <ESC>%!0 NOTEKTRONIX2 <ESC>%!2 VT52 <ESC>[?2l<ESC>\ SUFFIX="string" user specified string in "hot-key" format.
3 – Default
The following sequences are sent to the watcher's terminal to reset its state before the /FINISH_SEQUENCE (if any) is output: VT200/300/400: 1 ESC \ String terminator for DCS. 2 ESC < Switch into ANSI mode. 3 ESC [ ! p Reset everything. 4 ESC [ 1 3 2 H Go to bottom of screen. 5a ESC > Turn off application keypad. 5b ESC = Turn on application keypad. 6a ESC [ ? 3 l Switch to 80 column mode. 6b ESC [ ? 3 h Switch to 132 column mode. VT100: 1 ESC \ String terminator for DCS. 2 ESC < Switch into ANSI mode. 3 ESC ( B Set G0 to US ASCII. 4 SI Switch into G0. 5 ESC [ r Reset scrolling region. 6 ESC [ m Turn off graphic rendition. 7 ESC [ 1 3 2 H Go to bottom of screen. 8a ESC > Turn off application keypad. 8b ESC = Turn on application keypad. 9a ESC [ ? 3 l Switch to 80 column mode. 9b ESC [ ? 3 h Switch to 132 column mode. VT52 mode: As above based on type of terminal (VT100 vs VT200/300/400) plus the following: ESC [ ? 2 l Switch from ANSI mode into VT52 mode Where there is an (a) or (b) choice, just the one which corresponds to the terminal driver setting when Peek was started will be output.