Table of Contents
Seyon - X11 Telecommunications Package.
seyon [-option ...] [-toolkit_option
...] [-- -emulator_option ...]
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.
Besides the toolkit options, Seyon recognizes
the following command-line switches:
- -modems <device-list>
- Overrides the resource
modems. 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.
- -emulator <terminal-emulation-program>
- Instructs Seyon to use the specified
program as the terminal emulator. If Seyon fails to execute that program,
it will fall back to xterm. If this option is not given, Seyon will try
to use seyon-emu, which should be a link to your favorite terminal emulation
program. Seyon will fall back to xterm in this case as well if it fails
to execute seyon-emu.
- --
- This switch instructs Seyon to pass the rest of the
command-line to the terminal emulation program. All options following this
switch will be passed blindly to the emulator. This switch cannot be combined
with -noemulator.
- -nodefargs
- Seyon usually invokes the terminal emulation
program with some options to set the application name and window and icon
titles (those are -name Seyon -T "Seyon Terminal Emulator" -n Terminal). If
this switch is given, Seyon will not pass those options to the emulator.
This is to accommodate terminal emulation programs that use a different
command-line syntax than xterm -- like xvt, cmdtool, shelltool, ..etc. You can
use the '--' switch to pass your own options to the emulator.
- -noemulator
- This
option is valid only if Seyon is invoked from withen a terminal emulation
program in the foreground of an interactive shell session. If given, Seyon
will not launch a new terminal emulator, but will use the existing one
instead. You cannot use the '--' switch if this option is given.
- -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.
Besides
the toolkit resources, Seyon defines the following proprietry resources:
- autoZmodem (boolean)
- Specifies whether Seyon is to look for Zmodem auto-download
signature. If enabled, Seyon will detect incoming Zmodem signature and execute
the action given by the resource autoZmodemAction (typically to start a
local rz). Otherwise, Zmodem signature will be ignored. Default value: on
- autoZmodemAction (string)
- Specifies a simple or compound action that will
be executed when Zmodem auto-download signature is detected. This action
will be executed only if the resource autoZmodem is enabled (see above).
Refer to the section entitled SeQuickKeys for a description of available
actions. Default value: ShellCommand($rz);
- 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
- 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
- connectString
(string)
- The modem connect string. This the string response the modem gives
when a connection is made after dialing. Default value: CONNECT
- 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
- 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
- defaultDirectory (string)
- Seyon's default directory. When looking for
its files, Seyon will first try this default directory, then the current
directory. Seyon will also put the capture file in this directory. Default
value: ~/.seyon
- 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
- 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 ``Default'' 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.
No default value.
- 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
- 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. A more convenient
way of automatic dialing on startup is to use the override command-line
switch -dial, which overrides this resource and enables. If the resource
is enabled, it can be disabled at the command line by the override switch
-nodial. Refer to the description of these switches above. Default value:
off
- dialCancelString (string)
- The string Seyon sends to the modem to cancel
dialing while in progress. Default value: ^M
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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)
- 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
- 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
- hangupConfirm (boolean)
- Whether Seyon should
ask for confirmation before hanging up the phone Default value: on
- hangupViaDTR
(boolean)
- When enabled, Seyon will hangup up the modem by dropping DTR.
This is much quicker than hanging up by sending a Hayes-like hangup string
to the modem and waiting to allow for escape guard time. However, some modems
and serial drivers choke on dropping DTR and others just don't hangup when
DTR is dropped, so in these cases it should be disabled. If disabled, Seyon
will hangup the modem by sending the string specified by the resource modemAttentionString,
followed by that specified by the resource modemHangupString. 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
- modemAttentionString (string)
- The string
to send to the modem to get its attention (switch to command mode). This
string will be sent to the modem before the hangup string when hangupViaDTR
is disabled. Default value: +++
- modemHangupString (string)
- The hangup string
to send to the modem when hangupViaDTR is disabled. Default value: ATH^M
- modems (string)
- A list of modem devies to use. Seyon will try modems in
this list one after the other until it finds an available modem or the
list is exhausted. No default value.
- 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
- 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
- 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
- noConnectStringX [X = 1-4] (string)
- The response strings given by the modem when connection fails. Default
values: NO CARRIER, NO DIALTONE, BUSY, VOICE (respectively)
- 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
- postConnectAction (string)
- Specifies a simple or compound action that will
be executed after a connection to a remote host is made. This action will
be executed before running any script attached to that host in the dialing
directory. All actions here have to be synchronous. Refer to the section
entitled SeQuickKeys below for a description of available actions. Default
value: Beep();
- 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
- quickKeyX
- Refer to the section entitled SeQuickKeys
below.
- 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
- scriptDirectory (string)
- Seyon's script directory. When looking
for scripts, Seyon will first try this script directory, then the current
directory. Default value: defaultDirectory
- 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
- startupAction (string)
- Specifies a
simple or compound action that will be executed on startup. This action
is executed prior to running any script (in case the -script switch is given)
or dialing any entry of the dialing directory (in case the -dial switch
is given or the resource dialAutoStart is enabled). You can make Seyon open
the dialing directory automatically on startup by using the simple action
``OpenWidnow(Dial);'' as a constituent of this complex action stack. Note that
running the startup script is just a special case of this resource. Refer
to the section entitled SeQuickKeys for a description of available actions.
Default value: RunScript(startup);
- 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
- 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
- xonxoffFlowControl (boolean)
- Whether Seyon should turn on XON/XOFF
software flow control. Default value: off
Seyon allows the user
to have custom buttons, called SeQuickKeys (z quickies), to which actions
can be attached. SeQuickKeys provide a convenient way via which the user
can invoke frequently-used operations by a singe mouse click. SeQuickKeys
are specified through the resources quickKeyX, where X is an integer corresponding
to the order at which that SeQuickKey is to appear on the command center.
Relevant subparts of that resource are visible, action, and label. Here
is an example:
Seyon*quickKey3.visible: onSeyon*quickKey3.action: FileTransfer(1,file);
Beep();
Seyon*quickKey3.label: Upload
The first line specifies that SeQuickKey3
should be visible. The second line specifies the action bound to the SeQuickKey
(in this case, a compound action), and the third line specifies the label
for that SeQuickKey's button. Other subparts can also be specified in a similar
fashion (e.g. background, foreground, ..etc.)
Actions can be either simple
or compound. A compound action consists of a stack of simple actions and
can be used as simple mini-script. Examples:
· Set(idleGuard,on); DialEntries(Default);
· Echo("Uploading files..."); Transmit(rz); \
FieTransfer(1,"*.ico $HOME/acct.wks"); Echo(Done);
· OpenWindow(Dial); DialEntries("2 5 6");
· Echo("Goodbye.."); Hangup(); Quit();
· Set(baud,9600); ManualDial("555-5555");
· Echo("Will upload..."); ShellCommand("$sz *.wks");
· Set(parity,0); RunScript(login.scr); Echo(Finished);
The following is a list of actions Seyon currently supports. Asterisks
designate asynchronoous actions. Brackets designate optional arguments.
- Beep();
- Rings the bell making a short beep.
- CloseWindow(window [,...]);
- Closes
(dismisses) the given windows. Currenly the only valid argument to this
action is Dial, which corresponds to the dialing idrectory window. Example:
CloseWindow(Dial);
- DialEntries(entries-list);*
- Dials entries in the dialing
directory corresponding by order to the given list. Entries will be dialed
as if the user had selected them on the dialing directory. Entries will
be dialed without opening the dialing directory. You can use the action
``OpenWindow(Dial);'' and stack the two actions in a compound action if you
want the dialing directory to be opened.
The list must be quoted if it
consists of more than one entry, and entries should be separated by white
space, not commas. If the list consists of just the word ``Default'', then
the entries given by the resource defaultPhoneEntries will be dialed, refer
to the description of that resource for more details.
The most common use
of this action is attach frequesntly-dialed hosts to SeQuickKeys, making
dialing those hosts a one-click operation. If this action is not the last
in a compound action stack, actions specified by the resource postConnectAction
may not work properly. Examples: DialEntries(2)
; DialEntries("2 4 5"); DialEntries(Default);
- DivertFile([file]);*
- Sends the given file to the remote host as a text
upload. If the optional argument ``file'' is not specified, Seyon will pop up
a dialog box asking for the file name. In the latter case this action is
similar to clicking Divert from the Misc window. Examples: DivertFile("/tmp/acct.wks");
DivertFile();
- Echo([string]);
- Echos the given string to the terminal. Does
not send it to the modem (use Transmit for that). If the string consists
of more than one word, 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. If the argument is omitted, an empty line
will be echoed. Examples: Echo(Hello); Echo("Hello there"); Echo();
- FileTransfer(entry,
[file-list]);*
- Executes the transfer protocol corresponding by order in
the trasfer console (protocols file) to ``entry''. If that protocol requires
a file name and file-list is omitted, Seyon will pop up a dialog box asking
for the file. Otherwise file-list will be passed to that protocol. The list
must be quotes if it consists of more than one word and items in it should
be separated by white space. It can contain wild cards and shell variables.
Examples: FileTransfer(1)
; FileTransfer(2,acct.wks); FileTransfer(2,"*.wks
$HOME/acct.wks");
- Hangup();
- Disconnects the line. Does not pop up a confirmation
box.
- IconifyWindow(window [,...]);
- Iconifies the given windows. Valid arguments
to this action are Main, Dial, and Term, corresponding respectively to
the command center, dialing directory, and terminal emulator windows. When
the argument is Term, this action will work only if the terminal emulator
sets the envirenment variable WINDOWID, like xterm does. Examples: IconifyWindow(Main,Dial,Term);
IconifyWindow(Dial);
- ManualDial([number]);*
- Dials a number as if the Manual
button had been clicked from the dialing directory. If ``number'' is specified,
it will be dialed directly and no dialog box will be popped up asking for
the number. Examples: ManualDial(555-5555); ManualDial();
- Message([string]);
- Echos the given string to the message box of Seyon's command center (main
window). If the string consists of more than one word, it must be quoted.
If the argument is omitted, an empty line will be echoed. Examples: Message(Hello);
Message("Hello there"); Message();
- OpenWindow(window [,...]);
- Opens each
of the given windows by popping it if closed or de-iconifying it if in an
iconic state. Valid arguments to this action are Main, Dial, and Term, corresponding
respectively to the command center, dialing directory, and terminal emulator
windows. When the argument is Term, this action will work only if the terminal
emulator sets the envirenment variable WINDOWID, like xterm does. Examples:
OpenWindow(Main,Dial,Term); OpenWindow(Dial);
- Quit();
- Exits Seyon completely
and returns to the shell. Does not pop up a confirmation box.
- RunScript([script-name]);*
- Executes the script given by the file script-name. The script will be executed
as if the user had selected it via the Script button. If script-name is omitted,
a dialog box will be popped up asking for the script name. This is a very
versatile action, as many remote and local commands or series of commands
can be performed by attaching appropriate scripts to SeQuickKeys. Examples:
RunScript(login.scr); RunScript();
- Set(parameter, value);
- Sets the specified
parameter to the given value. Can be used to set the various communications
parameters. Available parameters are listed under the script command ``set''.
Examples: Set(baud,9600); Set(parity,0); Set(idleGuard,off).
- ShellCommand(shell-command);*
- Executes the given shell command via the user's shell pointed to by the
SHELL environment variable, or /bin/sh if that environment variable is
not set. Note that the command must be quoted if it consists of more than
one word. If the first non-space letter of the command is the character ``$'',
then standard input and standard output will be redirected to to the modem.
This action can be used to execute any external program from withen Seyon.
Example: ShellCommand(ls)
; ShellCommand("$cd $HOME; sz -vv *.wks");
- Transmit(string);
- Transmits the given string to the remote host. The string must be quoted
if it consists of more than one word. The string is transmitted as is (no
case conversions are performed). No newline character or carriage return
is appended to the string, use the prefix characters for that (e.g. ^M, ^J).
See the discripttion of the script command ``transmit'' for more details. Example:
Transmit(ls^M); Transmit("ls -CF^M");
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
- .
-
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.
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.
- 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.
- shell <shell-command>
- Executes
the given shell command via the user's shell pointed to by the SHELL environment
variable, or /bin/sh if the environment variable SHELL is not set. Note
that the command must be quoted if it consists of more than one word. If
the first non-space letter of the command is the character '$', then standard
input and standard output will be redirected to to the modem. This command
can be used to execute any external program from withen Seyon. Example:
shell "cd /usr/dl; rz -vv".
- 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.
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.
xterm(1)
, resize(1)
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.
The script command 'set port' is not supported
in this release. If the action DialEntries is not the last in a compound
action stack, actions specified by the resource postConnectAction may not
work properly.
If Seyon is hung, it can be made to exit cleanly by killing
its main process by signal 15 (SIGTERM) from another shell. Seyon's main
process is the one that has the lowest PID (Process ID) number. For example,
if ps shows:
1100 p0 S 0:04 seyon -noemulator
1101 p0 S 0:00 seyon -noemulator
1102 p0 S 0:38 seyon -noemulator
Then ``kill -15 1100'' or ``kill 1100'' would cause Seyon clean up and exit gracefully.
Muhammad M. Saggaf, alsaggaf@mit.edu. Snail Mail: Muhammad Saggaf,
Box 9863, Dhahran 31311, SAUDI ARABIA. I apologize that I may not be able
to respond to all correspondence I receive.
xcomm 2.2 was written by Eric
Coe and Larry Gensch.
David Boyce for helpuful suggestions,
the Imake file, and patches for clean build under gcc -Wall; Joaquim Jorge
for the lex/yacc parsing routines contributed by him; 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), Bob Smith (SunOS
3.x and sgtty interface). (pardon me if I forgot to mention you). 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.
Table of Contents