TerminalEmulatorDoc.tioga
Spreitzer, February 19, 1986 10:25:46 pm PST
Mike Spreitzer December 16, 1986 4:59:52 pm PST
Last tweaked by Mike Spreitzer on April 4, 1990 12:26:54 pm PDT
Crow, August 24, 1988 11:24:47 am PDT
TerminalEmulator
CEDAR 6.0 — FOR INTERNAL XEROX USE ONLY
TerminalEmulator
Mike Spreitzer
© Copyright 1985, 1990 Xerox Corporation. All rights reserved.
Abstract: TerminalEmulator emulates a standard array-of-characters style terminal.
Keywords: terminal, emulate, simulate, TTY, glass, character, screen
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

For Internal Xerox Use Only
1. User Interface
TerminalEmulator is like Chat, in that it provides Pup telnet connections. It differs from Chat in that the kind of terminal it emulates is more sophisticated. Chat can only append characters to a linear typescript. TerminalEmulator models a terminal with an array of characters, which is randomly addressable. TerminalEmulator implements the TerminalEmulator command:
TerminalEmulator:
syntax
TerminalEmulator switch* [hostName]
description
Make a terminal emulator, and maybe login to a host. If no hostName is given, no connection is initially attempted.
switches
-term terminalTypeName
Names the type of terminal you wish to emulate. If given ? as the terminalTypeName, a list of the available terminal types is given.
-host hostName
Names the host to connect to.
-connect
Don't try to login, just connect.
-login
Try to login.
-logRaw
Store a log of all incoming characters in Term.RawLog in the current working directory. This is not done by default.
-dontLogRaw
Do not store a log of all incoming characters.
-display displayClassName
Names the implementation of the array-of-characters abstraction to use. If given ? as the displayClassName, a list of the available display classes is given.
-protocol protocolName
Names the kind of communication protocol to use (eg, PupTelnet). If given ? as the protocolName, a list of the available protocols is given.
examples
% TerminalEmulator vaxc
This makes a terminal emulator of the default type, and tries to connect it to VAXC and then login.
warnings
If the host you connect to is not properly prepared for a PUP telnet standard login, it might echo your password.
stop/undo
Impossible
TerminalEmulator:
syntax
TerminalEmulator -term ?
description
List the available terminal types.
examples
% TerminalEmulator -term ?
Available Terminal Types: adm3, adm3a, debug, dm2500, dm2500w, dmdd, vt100, vt52.
stop/undo
Impossible
2. Installation
BringOver the public part of TerminalEmulator.DF into ///Commands/. Then, from any directory, issue the TerminalEmulator command.
3. Bugs, Misfeatures, and Quirks
You can shift-select from a TerminalEmulator viewer. You should not try to `stuff' characters into it. As a consolation prize, the menu includes a ``Grab'' button, which causes the terminal emulator to gobble the current Tioga selection.
The control keys have the usual ASCII meanings. The looks key sets the eighth bit of the character. On VAXC, when telnetting to yet another machine, you have to use telnet8, instead of telnet, to get the 8th bit to leave VAXC.
You should not try any Tioga editing operations on the TerminalEmulator viewer. Since the control and looks keys have been trapped, there are few available. But if you think of one, don't try it.
To attract the attention of a TerminalEmulator viewer, simply select anywhere in it. User selection operations do not affect where the logical cursor of the terminal is. The caret you see tries to track the logical cursor, but fails sometimes. In particular, if you explicitly make a selection (and thus move the carat) in a TerminalEmulator viewer, the carat will not automatically be moved back to indicate the logical cursor position. You can explicitly request that the carat be moved to indicate the logical cursor position by hitting the ``FixCarat'' menu entry.
When a TerminalEmulator viewer is first created, it may look like you have its attention, but you won't; click in it before trying to do something.
Tioga will scroll the viewer psuedo-randomly.
The Dorado keyboard has no key that is an obvious candidate to produce ASCII code 140(octal)(the "back quote" character: `). The choice made is shift dash.
4. Dorado keyboard
Tip tables may be built to emulate foreign keyboards on the Dorado. The following shows the plain Dorado keyboard and the Sun overlay for it as described in the file "SunKeyboard.TIP".
[Artwork node; type 'Artwork on' to command tool]
Dorado keyboard
[Artwork node; type 'Artwork on' to command tool]
Dorado keyboard with Sun overlay