SEYON
Section: User Commands (1)
Index
Return to Main Contents
NAME
Seyon - X11 Telecommunications Package.
SYNOPSIS
seyon
[-option ...] [-toolkit_option ...] [-- -emulator_option ...]
DESCRIPTION
Seyon is a complete full-featured telecommunications package for
the X Window System. Some of its features are:
-
* Dialing directory that supports an unlimited number of entries. The
directory is fully mouse-driven and features call progress monitoring,
dial timeout, automatic redial, multi-number dialing, and circular
redial queue. Each item in the dialing directory can be configured
with its own baud rate, bit mask, and script file. The dialing
directory uses a plain-text phone book that can be edited from withen
Seyon. Seyon also supports manual dialing.
-
* Terminal emulation window supporting DEC VT02, Tektronix 4014, and
ANSI. Seyon delegates its terminal emulation to xterm, so all the
familiar xterm functions such as the scroll-back buffer, cut-and-paste
utility, and visual bell are availabe through Seyon's terminal
emulation window. Using xterm also means that Seyon has a more
complete emulation of VT102 than other any Unix or DOS
telecommunications program. Other terminal emulation programs can also
be used with Seyon to suit the user's need; for example, color xterm
can be used to provide emulation for color ANSI (popular on many BBS
systems), and xvt can be used if memory is a bit tight.
-
* Script language to automate tedious tasks such as logging into
remote hosts. Seyon's script interpreter uses plain-text files and has
a syntax similar to that of sh, with a few extra addtions. It supports
many familiar statements such as conditional branching by
if-else and looping by goto. Scripts may be assigned
to items in the dialing directory for automatic execution after a
connection is made.
-
* Unlimited number of slots for external file transfer protocols.
Protocols are activated from a mouse-driven transfer console that uses
a plain-text file, editable from withen Seyon, for protocol
configuration. Seyon prompts the user for filenames only if the chosen
protocol requires filenames or if the transfer operation is an upload,
for which Seyon also accepts wildcards. Multiple download directories
can be specified for the different transfer slots.
-
* Support for Zmodem auto-download. Seyon detects incoming Zmodem
signature and automatically activates a user-specified zmodem protocol
to receive incoming files. Zmodem transfers can thus be completely
automatic and require no user intervention.
-
* Translation modes. Seyon can perfrom useful trasnlations on the
user's input. From example, Seyon can translate backspace to delete
(useful on may Unix systems), newline to carriage return (useful on
many BBS hosts), and my favorite, meta key tranlation: to send keys
pressed while the meta (ALT) key is held down as an escape (ESC)
followed by the key press. The latter mode simulates the meta key on
hosts that do not support 8-bit-clean connections and makes possible
the use of the meta key in programs like Emacs on such hosts.
-
* Other features: interactive setting of program parameters, on-line
help, software (XONN/XOFF) and hardware (RTS/CTS) flow control,
session capture to a file, and temporary running of a local shell in
the terminal emulation window.
Seyon is intended to be both simple and extensively configurable.
Almost every aspect of Seyon can be configured via the resources to
suit the user's taste.
OPTIONS
Besides the toolkit options, Seyon recognizes the following
command-line switches:
- -modem <device>
-
Overrides the resource modem. Refer to the description of that
resource below.
- -script <script file>
-
Causes Seyon to automatically executes the specified script after the
startup script is run. The specified script file will be looked for
according to the rule mentioned under the description of the resource
scriptDirectory below.
- -entries <entries list>
-
Overrides the resource defaultPhoneEntries. Refer to the
description of that resource below. Unlike the resource, however, the
list here has to be quoted if it consists of more than one entry.
- -dial, -nodial
-
Overrides the resource dialAutoStart and sets it to 'on' and
If both -dial and -nodial are specified on the
command-line, the override value will be set according to the last of
the two on the command-line.
RESOURCES
Besides the toolkit resources, Seyon defines the following proprietry
resources:
- modem (string)
-
The modem device Seyon should use by default.
No default value.
- defaultBPS (string)
-
The default baud rate. Seyon will set the baud rate to this value on
startup and will use it for items in the dialing directory for which
no baud rate is given.
Default value: 9600
- defaultBits (int)
-
The default number of bits (character size). Seyon will set the number
of bits to this value on startup and will use it for items in the
dialing directory for which no such parameter is given. Valid values
are 5, 6, 7, and 8.
Default value: 8
- defaultParity (int)
-
The default parity. Seyon will set the parity to this value on startup
and will use it for items in the dialing directory for which no such
parameter is given. Valid values are 0 (no parity), 1 (odd parity),
and 2 (even parity).
Default value: 0
- defaultStopBits (int)
-
The default number of stop bits. Seyon will set the number of stop
bits to this value on startup and will use it for items in the dialing
directory for which no such parameter is given. Valid values are 1 and
2.
Default value: 1
- stripHighBit (boolean)
-
Whether to strip the high (eights) bit from incoming characters. If
set to on, the high bit of all incoming characters will be stripped,
which will make an 8-N-1 setting behave like 7-N-1, even though eight
bits are used for each character.
Default value: off
- newlineTranslation (string)
-
When the Enter key is pressed, newline character (\n) is generated.
This resource determines what to translate this character to. Three
modes are possible: no translation (newline), carriage return (\r),
and carriage return / line feed. Unix systems usually expect newline
or carrage return, DOS systems expect carraige return or carriage
return / line feed. The three keywords corresponding to the above
modes are
nl, cr, and cr/lf.
Default value: cr
- backspaceTranslation (boolean)
-
Whether to translate user's backspace to delete. When the remote host
is a Unix system, it's better to set this to
on,
since many Unix systems are not happy with backspace.
Default value: off
- metaKeyTranslation (boolean)
-
Whether to transmit keys pressed while the meta (ALT) key is held down
as an escape (ESC) followed by the key press. Most hosts do not
support 8-bit sessions, and hence do not recognize the meta key.
Therefore, this translation mode has to be enabled when connected to
such hosts to take advantage of the meta key in programs that make use
of it like Emacs.
Default value: on
- xonxoffFlowControl (boolean)
-
Whether Seyon should turn on XON/XOFF software flow control.
Default value: off
- rtsctsFlowControl (boolean)
-
Whether Seyon should turn on RTS/CTS hardware flow control. Make sure
the modem is set to use this as well.
Default value: off
- dialPrefix (string)
-
The string Seyon sends to the modem before the phone number. To use
pulse dialing, set this resource to .IR ATDP .
Default value: ATDT
- dialSuffix (string)
-
The string Seyon sends to the modem after the phone number. This
string has to contain a carraige return or the number will never get
sent to the mode.
Default value: ^M
- dialCancel (string)
-
The string Seyon sends to the modem to cancel dialing while in
progress.
Default value: ^M
- dialTimeOut (int)
-
How long in seconds Seyon should wait for a connection to made after
dialing is complete. Seyon will cancel the dialing if no connection is
made withen this period.
Default value: 45
- dialDelay (int)
-
How long in seconds Seyon should wait after no connection is made
withen
dialTimeOut
before ciculating to the next number.
Default value: 10
- dialRepeat (int)
-
How many times Seyon should try dialing a number. Seyon will give up
on dialing a number if no connection is made after this many tries.
Default value: 5
- connectString (string)
-
The modem connect string. This the string response the modem gives
when a connection is made after dialing.
Default value: CONNECT
- noConnectString[1|2|3|4] (string)
-
The response strings given by the modem when connection fails.
Default values: NO CARRIER, NO DIALTONE, BUSY, VOICE
(respectively)
- hangupBeforeDial (boolean)
-
When set to
on,
Seyon will hangup the line (if connected) before dialing the phone
number. Otherwise, the number will be dialed without hanging up, and
it is the user's responsibility to ensure that the line is clear (no
connection) when dialing.
Default value: on
- dialDirAutoOpen (boolean)
-
If set to on, Seyon will automatically pup up the dialing directory on
startup. Otherwise, the dialing directory has to opened manually from
the command center.
Default value: off
- dialAutoStart (boolean)
-
This resource specifies that Seyon should start dialing the entries
specified by the resource defaultPhoneEntries (or its override
command-line switch) on startup. Seyon will commence dialing those
entries after executing the startup script and any script specified at
the command line. If set to 'on', this resource overrides the resource
DialDirAutoOpen and forces it to be 'on'. A more convenient way
of automatic dialing on startup is to use the override command-line
switch -dial, which overrides this resource and sets it to 'on'.
If the resource is set to 'on', it can set to 'off' at the command
line by the override switch -nodial. Refer to the description of
these switches above.
Default value: off
- dialDirAutoClose (boolean)
-
If set to on, Seyon will automatically close the dialing directory
window when a successful connection is made. Otherwise the dialing
directory will remain up until closed by the user. It is common
practice to leave the dialing directory up all the time as it does not
interfere with other functions of Seyon (it can also be iconized).
Default value: off
- dialDirFormat (string)
-
This is a format string that specifies the layout of the dialing
direcotry. The default is '%-15s %-15s %6s %1c%1c%1c %1c%1c %s' (no
quotes). Briefly: the fields represent the host name, number, the
baud rate, bits, parity, stop bits, whether there is a custom prefix,
suffix, and the script name. You can understand more what each field
refers to by comparing with dialing directory, fields that use the
current setting (via the keyword CURRENT) are designated by a question
mark. Notice that you cannot change the order the items in the dialing
directory appear at, only the format. For example, if the numbers you
call are all 7-digits, your host names are short, you never use baud
rates above 9600, and you like dashes between the baud rate, bits,
parity, and stop bits fields, then you may prefer to use the format
string '%-10s %-8s %5s-%1c-%1c-%1c %1c%1c %s', which would be narrower
than the default format.
Default value: %-15s %-15s %6s %1c%1c%1c %1c%1c %s
- defaultPhoneEntries (int array)
-
This resource specifies a list of numbers corresponding to the order
the entries in the dialing directory appear at. Seyon will highlight
(select) those entries on startup and whenever you click 'Reread' from
the dialing directory. This is useful if there is a set of entries
that you most frequesntly dial that want to be highlghted
automatically instead of doing that every time by hand. You can
override this resource by the -entries command-line switch.
Unlike the command-line switch, however, the list here should not be
quoted. Phonebook entries numbering starts at one.
Default value: no default value
- modemVMin (int)
-
This resource specifies the minimum number of characters that should
be in the buffer before the read process is satified. The read process
will wait until that number of incoming characters is in the buffer or
0.1 second has elapsed between the receiption of two characters before
displaying the data in the buffer. This results in the data being
displayed in chunks and speeds up the terminal display. The speedup
would be most noticeable on slow machnes with fast modems.
Leave this resource at its default (1) or set it at a low value (6) if
you have a slow modem (e.g. 2400bps). Otherwise you might set it to
the maximum value, which is platform-dependent but generally 255. If
you set it to any number greater than the maximum value, it will be
truncated to the maximum value.
Default value: 1
- ignoreModemDCD (boolean)
-
If this resource is set to 'on', the modem DCD (Data Carrier Detect)
status will be ignored. Some of the consequences of setting this to
'on' is that Seyon will always prompt for hangup (if the resource
exitConfirm is set to 'on') even if the modem DCD status
indicates that it is off-line, and dialing will be attempted even if
the modem DCD status indicates that it is on-line. It is highly
recommended that you keep this set to 'off' unless your modem does not
honor the DCD line. Consult your modem's manual for more details.
Default value: off
- hayesHangup (boolean)
-
When set to
on,
Seyon will use the Hayes hangup command sequesnce. Otherwise, hangup
is done by dropping DTR. Should normally be set to
off,
unless your modem doesn't hangup when DTR is dropped. Consult your
modem manual for more details.
Default value: off
- hangupConfirm (boolean)
-
Whether Seyon should ask for confirmation before hanging up the phone
Default value: on
- exitConfirm (boolean)
-
Whether Seyon should prompt for hanguping up before exiting. If
off-line and the resource ignoreModemDCD is set to 'off', Seyon will
not prompt for hanging up upon exiting even if this resource is set to
Default value: on
- zmodemAutoDownload (boolean)
-
Whether to enable ZMODEM auto-download. If set to
on,
Seyon will start ZMODEM downloads whenever it recieves the
auto-download string from the remote host.
Default value: on
- zmodemAutoDownloadCommand (string)
-
The shell command Seyon is to execute for ZMODEM auto-downloads.
Default value: $rz
- modemStatusInterval (int)
-
This resource controls the amount of time (in seconds) between updates
to the modem status toggles (including the clock). The default is five
seconds, but you can set it to one second (or any other number) if you
want the toggles to be updated more frequently. Even if you set this
to a large number, Seyon is intellegent enough to update the toggles
after each connect or hangup.
Default value: 5
- idleGuard (boolean)
-
If set to on, Seyon will send a string to the remote host whenever the
terminal session is idle (no keyboard input) for a given amount of
time. The resources idleGuardInterval and idleGuardString
specify the above time interval and the string to be sent to the
remote host when idle. It is useful to enable this features to keep
the session alive when one is away from the computer for a while (e.g.
to prevent auto-logout).
Default value: off
- idleGuardInterval (int)
-
The amount of time in seconds Seyon is to consider the session idle
when there is no keyboard activity at the terminal for that long.
Seyon will send a string to the remote host every such interval as
long as the session is idle.
Default value: 300
- idleGuardString (string)
-
The string to be sent to the remote host when the session is idle.
This string will be sent at a regular interval as long as the sesiion
remains idle. Note that the current translations will be used in
sending this string; for example, if backspaceTranslation is enabled,
then the default string <Space><BS> will be sent as <Space><DEL>.
Default value: \^H
(space then backspace)
- showFunMessages (boolean)
-
Whether to display funny messages when Seyon has no other important
information to show. Seyon will display those messages at an interval
specified by the
funMessagesInterval
resource when there is no other important information to convey to the
user. To disable the display of fun messages, this resource has be set
to off.
Default value: on
- funMessages (string array)
-
The fun messages to be displayed when Seyon has no other important
information to show. This should be a list of double-quoted [funny]
sentences.
Default value: varies, version-dependent
- funMessagesInterval (int)
-
The temporal interval in seconds between successive fun messages.
Default value: 15
- defaultDirectory (string)
-
Seyon's default directory. When looking for its files, Seyon will
first try the current directory, then this default directory, and
finally the user's home directory. Seyon will also put the capture
file in this directory.
Default value: ~/.seyon
- scriptDirectory (string)
-
Seyon's script directory. When looking for scripts, Seyon will
first try the current directory, then this script directory, and
finally the user's home directory.
Default value: defaultDirectory
- startupFile (string)
-
Seyon's startup file. Seyon will execute all commands in this file
upon startup. This file can have any commands acceptable as script
commands. The most useful command to put here is the
set
command, to set the various communications parameters.
Default value: startup
- phonelistFile (string)
-
The name of the phone list (dialing directory) file. See the included
example to learn how this file should be formatted.
Default value: phonelist
- protocolsFile (string)
-
The name of the protocols file. This file tells Seyon what file transfer
protocols are available. The user will be promted with a list based on
this file when file transfer is to be initiated.
Default value: protocols
- captureFile (string)
-
The name of capture file. Seyon will write session captures to this
file when capture is enabled. This file will be placed in Seyon's
default directory. The capture file will not be overwritten by
successive capture sessions. Seyon will merely apped new capture to
its end.
Default value: capture
SCRIPT LANGUAGE
Script files can automate some tedious tasks such as logging into a
system. A script file is an ascii text file and may be entered or
edited using any standard text editor.
The script file is read line by line. Empty lines (consisting of
white space only) are ignored. Comments are lines whose first
non-space character is a pound sign (#).
The script processor reads each script line, ignoring leading white
space, into words. A word is defined as either:
-
* a sequence of characters delimited by white space, or
-
* a sequence of characters enclosed in single or double quotes.
The first word of a script file is considered the command word.
If the last character of the command word is a colon (:), the line is
considered to be a label (the object of a goto statement).
Otherwise, it is assumed to be a script command and is interpreted as
such. Command words are case insensative.
Some commands take one or more arguments. Each argument is parsed as a
single word as defined above. If blanks are required in an argument,
the argument must be quoted using single or double quotes.
Script Command List
Below is the description of all commands that may be used in the Seyon
script language:
- capture on|off (currently may not work)
-
The command capture on will enable capture. All characters
received during waitfor processing will be appended to the capture
file. The command capture off will close the capture file.
This setting does not currently extend to terminal mode. This may be
offered in a later release.
- debug on|off
-
If the argument is on, all subsequent command lines processed
will be displayed on the local screen. The exception to this is lines
containing a transmit command. These lines will just print
TRANSMIT..., so that passwords, etc. can be protected. If the
argument is off, scripts will execute quietly (this is the
default setting).
- dial <number>
-
Dial the specified number. Seyon supports generic "Hayes" compatible
modems for dialing. Note that this command requires an actual phone
number. The phonebook is not used for this function.
- echo <string>
-
Echos the given string to the terminal. Does not send it to the
modem (use
transmit
for that). If the string contains spaces, it must be quoted. Note that
unlike the shell command of the same name, this command does not
accepts the switch -n but always appends newline to the string.
- exit
-
Terminates the script file prior to the end of file. Returns to
terminal mode.
- flush
-
Flushes the modem, i.e. discards data written to the modem but not
transmitted and data received but not read.
- goto <label>
-
Goes to the specified label in the script file and continues execution
from that point. The label may either precede or follow the actual
goto statement. A label is any command word whose last
character is a colon (:).
- hanup
-
Hangups up the line and disconnects from the remote host.
- if, else, endif
-
Syntax:
if <condition>
<statements>
[else
<statements>]
endif
Conditionally executes statements based on specified condition. Seyon
supports the following conditions:
-
waitfor: true if the last waitfor command was successful.
-
linked: true if this script was executed from the dialing
directory.
Conditions may be negated using the prefix not or the character
!:
-
!waitfor: true If the last waitfor command timed out.
-
not waitfor: same as !waitfor above
The else and endif keywords must appear on their own
lines. If statements may not be nested.
- pause <time>
-
Suspends execution of the script for the specified number of seconds.
This is usually used for timing considerations; for example, waiting a
couple of seconds after receiving the connect message and typing
^C to CompuServe.
- purge
-
Reads and discards all data coming from the modem for the duration of
one second.
- quit
-
Terminates the script and exits the whole program (returns to the
shell).
- redial
-
Redials the last number dialed using the dial command.
- send_break
-
Sends a BREAK signal to te remote host.
- set <parameter> <value>
-
Sets the specified parameter to the given value. Can be used to set
the various communications parameters for each host. The follwoing is
a list of the set keywords that Seyon recognizes. Keywords
marked with an asterisk set the current parameter only, not the
default one. Refer to the corresponig resource (in parentheses below)
for details of the function of each keyword.
-
port (modem)
-
baud* (defaultBPS)
-
bits* (defaultBits)
-
parity* (defaultParity)
-
stopBits* (defaultStopBits)
-
stripHighBit (stripHighBit)
-
newlineTranslation (newlineTranslation)
-
del (backspaceTranslation)
-
meta_tr (metaKeyTranslation)
-
xoff (xonxoffFlowControl)
-
rtscts (rtsctsFlowControl)
-
autozm (zmodemAutoDownload)
-
idleGuard (idleGuard)
Boolean keywords accept on or off as their argument, other
keywords accept the same arguments as the corresponding resources.
- transmit <text>
-
Transmits the specified text to the remote host. The text argument
should be quoted (using single or double quotes) if there are spaces
to be transmitted. The text is transmitted as is (no case conversions
are performed).
Prefix characters:
-
^ is the Control character prefix: the next character is made into a
control character. For example, ^M is carriage return (0x0D) and
^J is newline (0x0A).
-
\ is quote prefix: the next character is transmitted verbatim. For
example, \^ would transmit a literal ^.
- tty on|off
-
This command specifies whether or not characters received from the
modem will be displayed on the local terminal. Since the only time
that the script processor looks at the receive queue is during
waitfor processing, the displays may look a bit erratic.
Use the tty off command to disable local display of received
characters during script processing.
- waitfor <text> [timeout]
-
Waits for the specified text to appear from the modem. The text
argument should be quoted (using single or double quotes) if there are
spaces to be transmitted.
Special characters are interpreted the same as for transmit.
If the timeout argument is specified, Seyon will wait that number of
seconds for the string to appear. If no timeout is given, Seyon
defaults to 30 seconds.
During waitfor processing, characters received (up to and
including the last character found in the text or in the timeout) can
be captured to a disk file (if capture on is specified), and/or
displayed to the screen (if tty on is specified).
- when [<string-to-expect> <string-to-send>]
-
Sends string-to-send whenever it encounters string-to-expect while
waiting in a waitfor command, whatever the number if times
string-to-expect is encountered.
This is is useful if the order of prompts expected is not known before
hand. For example, some BBS systems (notably PCBoard) change the
prompts depeding on the time of call, and a complete script for such
boards cannot be written using waitfor only.
As many number of when commands as desired can be specified. A
when command with no arguments clears all outstanding when
commands. waitfor commands take precedence over when
commands if they expect the same string.
A typical use of this command would be:
when "Continue?" "y^M"
when "More?" "n^M"
waitfor "BBS Command?"
when
The above script keeps sending "y^M" to every Continue?" prompt and
"n^M" to every "More?" prompt until the the string "BBS Command?" is
encountered. The lasy when clears all outstanding when
commands.
FILES
The default Seyon files are
startup, phonelist, and protocols.
These have to be in the current directory, Seyon's default
directory
(~/.seyon),
or the user's home directory. The default script directory is Seyon's
default directory. All of these files and directories can be
overridden by setting the appropriate resources. See the description
of those resources as well as the description of the files above.
SEE ALSO
xterm(1), resize(1)
COPYRIGHT
Seyon is Copyright (c) 1992-1993 of Muhammad M. Saggaf. Seyon is not
public domain. Permission is granted to use and distribute Seyon
freely for any use and to sell it at any price without reference to
the copyright owner provided that in all above cases Seyon is intact
and is not made part of any program either in whole or in part and
that this copyright notice is included with Seyon. Permission is also
granted to modify the source as long as the modified source is not
distributed.
AUTHOR
Muhammad M. Saggaf, alsaggaf@mit.edu
ACKNOWLEDGEMENT
David Boyce for helpuful suggestions, the Imake file, and patches for
clean build under gcc -Wall; and the many people who sent me patches
for various platforms: Fred Appleman (SVR4), atae@spva.dnet.nasa.gov
(Ultrix), Alain Hebert (SVR3.2), Peter Davies (Sun Sparc), Eric
Schmidt (Apollo), David Sanderson (AIX), Jonathan Bayer (Sun), Jeff
Johnson (SVR4), Glenn Geers (SVR4-Esix), Tony Vincent-Sun-Vienna
(Solaris). (pardon me if I forgot any to you, I 'm terribly
disorganized). I'm also thankful to all the nice people who sent me
suggestions or bug reports.
The MultiList widget used in the dialing directory is written by the
Free Widget Foundation. You can get it and other FWF widgets by ftp
from a.cs.uiuc.edu.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- RESOURCES
-
- SCRIPT LANGUAGE
-
- Script Command List
-
- FILES
-
- SEE ALSO
-
- COPYRIGHT
-
- AUTHOR
-
- ACKNOWLEDGEMENT
-
This document was created by
man2html,
using the manual pages.
Time: 00:13:04 GMT, February 07, 2023