Syntax
Chat remoteHostName [-loginSwitchChar] [>logFile] [<initialKeystrokeFile | -k "keyStroke String"] [-d] [-s] [-D]
login switch characters are:
-l -- use UserCredentials to log in to remote host (default)
-c -- connect without logging in
-i -- leave viewer iconic, initialize remote host name, but don't connect (see below)
remoteHostName would be something like "indigo", "dls+100016", "3#177#" or other Pup network name.
logFile is the name of the file you wish to use for a typescript. Only characters which arrive from the remote host are recorded, not your own keystrokes. (If the ">logFile" is omitted, the logFile name will be simply Chat.log.) This is a little different from CommandTool IO redirection, there is no space after the '> and it is interpreted by Chat rather than by the CommandTool.
initialKeystrokeFile is the name of a file whose contents will be sent to the remote host as soon as the connection is established and the login sequence (if requested) has been completed. After the end of the initialKeystrokeFile is reached, Chat will enter its usual interactive mode. Again, there is no space after the '< and this "input redirection" is interpreted by Chat rather than by the CommandTool. Instead of a keystroke file, you may place the initial sequence of characters to send right on the command line, using the -k switch.
The -d tells chat to destroy the Chat viewer if the connection is closed remotely.
The -s switch tells chat to not return to the CommandTool until the chat viewer is destroyed (either by hand or by the -d option).
The -D switch enables special debugging output and slows Chat down considerably. The special output is a raw log of characters received from the remote host, before any translations done by Chat. The raw log is kept on the file Chat.rawLog.
Description
Chat is a remote terminal program, or "User Telnet." It is useful for talking to IFS or Maxc or other machines offering a chat server. Multiple chat viewers can coexist, with connections to the same or different remote hosts.
A chat viewer is an ordinary editable typescript with a number of added facilities. Chief among these is that when a connection to a remote host is open, characters entered at the end of the typescript are sent to the remote host and characters from the remote host appear at the end of the typescript.
A chat viewer has the usual Viewers menu items plus several special menu items:
Disconnect - closes connection if one is open.
Login - opens connection using specified host name (see below) and transmits "Login UserName Password" to the remote host.
Connect - opens connection
BreakKey - transmits an Ascii NUL ('\000) if there is an open connection. (The DLS interprets NUL as a request to send a line break.)
Interrupt - transmits an Interrupt sequence. This is the same as the STOP key on the XDE Chat. (That's a ^C for you old Tenex hackers.)
FlushLog - Forces all characters which have arrived from the remote host to be written to disk.
The Login and Connect buttons are a bit more complex. If you previously had an open connection which is now closed, pushing Login or Connect with the Yellow or Blue mouse buttons will re-open a connection to the old remote host, rather than using a newly specified host name.
Specifying a host name:
If the primary selection is longer than one character, then the selected text is interpreted by Chat as the name of the remote host. If the primary selection is one character long or is a point selection, then Chat scans backwards interprets the token to the left of the caret as the name of the remote host.
Keyboard commands:
Chat uses a special TIP table that permits some commands to be entered from the keyboard during interactive use:
LF - same as Connect. Type the name of the remote host and hit LF to connect.
Shift-LF - same as Login. Type the name of the remote host and hit Shift-LF to login.
Control-Space - same as BreakKey. Transmit a NUL if there is an open connection.
Control-DEL - same as Disconnect.
The only exception is that if Control-DEL is typed while characters are being read from a keystroke file, the keystroke file will be immediately closed and control will become interactive, but the connection will not be closed.