1
.TH SEYON 1 \" -*- nroff -*-
4
Seyon \- X11 Telecommunications Package.
8
[\-option ...] [\-toolkit_option ...] [\-\- \-emulator_option ...]
13
\fISeyon\fP is a complete full-featured telecommunications package for
14
the \fIX Window System\fP. Some of its features are:
17
* Dialing directory that supports an unlimited number of entries. The
18
directory is fully mouse-driven and features call progress monitoring,
19
dial timeout, automatic redial, multi-number dialing, and circular
20
redial queue. Each item in the dialing directory can be configured
21
with its own baud rate, bit mask, and script file. The dialing
22
directory uses a plain-text phone book that can be edited from withen
23
Seyon. Seyon also supports manual dialing.
25
* Terminal emulation window supporting DEC VT02, Tektronix 4014, and
26
ANSI. Seyon delegates its terminal emulation to xterm, so all the
27
familiar xterm functions such as the scroll-back buffer, cut-and-paste
28
utility, and visual bell are availabe through Seyon's terminal
29
emulation window. Using xterm also means that Seyon has a more
30
complete emulation of VT102 than other any Unix or DOS
31
telecommunications program. Other terminal emulation programs can also
32
be used with Seyon to suit the user's need; for example, color xterm
33
can be used to provide emulation for color ANSI (popular on many BBS
34
systems), and xvt can be used if memory is a bit tight.
36
* Script language to automate tedious tasks such as logging into
37
remote hosts. Seyon's script interpreter uses plain-text files and has
38
a syntax similar to that of sh, with a few extra addtions. It supports
39
many familiar statements such as conditional branching by
40
\fIif\fP-\fIelse\fP and looping by \fIgoto\fP. Scripts may be assigned
41
to items in the dialing directory for automatic execution after a
44
* Unlimited number of slots for external file transfer protocols.
45
Protocols are activated from a mouse-driven transfer console that uses
46
a plain-text file, editable from withen Seyon, for protocol
47
configuration. Seyon prompts the user for filenames only if the chosen
48
protocol requires filenames or if the transfer operation is an upload,
49
for which Seyon also accepts wildcards. Multiple download directories
50
can be specified for the different transfer slots.
52
* Support for Zmodem auto-download. Seyon detects incoming Zmodem
53
signature and automatically activates a user-specified zmodem protocol
54
to receive incoming files. Zmodem transfers can thus be completely
55
automatic and require no user intervention.
57
* Translation modes. Seyon can perfrom useful trasnlations on the
58
user's input. From example, Seyon can translate backspace to delete
59
(useful on may Unix systems), newline to carriage return (useful on
60
many BBS hosts), and my favorite, meta key tranlation: to send keys
61
pressed while the meta (ALT) key is held down as an escape (ESC)
62
followed by the key press. The latter mode simulates the meta key on
63
hosts that do not support 8-bit-clean connections and makes possible
64
the use of the meta key in programs like Emacs on such hosts.
66
* Other features: interactive setting of program parameters, on-line
67
help, software (XONN/XOFF) and hardware (RTS/CTS) flow control,
68
session capture to a file, and temporary running of a local shell in
69
the terminal emulation window.
72
Seyon is intended to be both simple and extensively configurable.
73
Almost every aspect of Seyon can be configured via the resources to
74
suit the user's taste.
79
Besides the toolkit options, Seyon recognizes the following
80
command-line switches:
83
.BI \-modems " <device-list>"
84
Overrides the resource \fImodems\fP. Refer to the description of that
85
resource below. Unlike the resource, however, the list here has to be
86
quoted if it consists of more than one entry.
88
.BI \-emulator " <terminal-emulation-program>"
89
Instructs Seyon to use the specified program as the terminal emulator.
90
If Seyon fails to execute that program, it will fall back to xterm. If
91
this option is not given, Seyon will try to use seyon-emu, which
92
should be a link to your favorite terminal emulation program. Seyon
93
will fall back to xterm in this case as well if it fails to execute
97
This switch instructs Seyon to pass the rest of the command-line to
98
the terminal emulation program. All options following this switch will
99
be passed blindly to the emulator. This switch cannot be combined with
103
Seyon usually invokes the terminal emulation program with some options
104
to set the application name and window and icon titles (those are
105
\-name Seyon \-T "Seyon Terminal Emulator" \-n Terminal). If this
106
switch is given, Seyon will not pass those options to the emulator.
107
This is to accommodate terminal emulation programs that use a
108
different command-line syntax than xterm -- like xvt, cmdtool,
109
shelltool, ..etc. You can use the '--' switch to pass your own options
113
This option is valid only if Seyon is invoked from withen a terminal
114
emulation program in the foreground of an interactive shell session.
115
If given, Seyon will not launch a new terminal emulator, but will use
116
the existing one instead. You cannot use the '--' switch if this
119
.BI \-script " <script-file>"
120
Causes Seyon to automatically executes the specified script after the
121
startup script is run. The specified script file will be looked for
122
according to the rule mentioned under the description of the resource
123
\fIscriptDirectory\fP below.
125
.BI \-entries " <entries-list>"
126
Overrides the resource \fIdefaultPhoneEntries\fP. Refer to the
127
description of that resource below. Unlike the resource, however, the
128
list here has to be quoted if it consists of more than one entry.
130
.BR \-dial ", " \-nodial
131
Overrides the resource \fIdialAutoStart\fP and sets it to 'on' and
132
'off', respectively. Refer to the description of that resource below.
133
If both \fI-dial\fP and \fI-nodial\fP are specified on the
134
command-line, the override value will be set according to the last of
135
the two on the command-line.
140
Besides the toolkit resources, Seyon defines the following proprietry
144
.BI autoZmodem " (boolean)"
145
Specifies whether Seyon is to look for Zmodem auto-download signature.
146
If enabled, Seyon will detect incoming Zmodem signature and execute
147
the action given by the resource autoZmodemAction (typically to start
148
a local rz). Otherwise, Zmodem signature will be ignored.
151
.BI autoZmodemAction " (string)"
152
Specifies a simple or compound action that will be executed when
153
Zmodem auto-download signature is detected. This action will be
154
executed only if the resource autoZmodem is enabled (see above). Refer
155
to the section entitled \fISeQuickKeys\fP for a description of
157
.I Default value: ShellCommand($rz);
159
.BI backspaceTranslation " (boolean)"
160
Whether to translate user's backspace to delete. When the remote host
161
is a Unix system, it's better to set this to \fIon\fP, since many Unix
162
systems are not happy with backspace.
163
.I Default value: off
165
.BI captureFile " (string)"
166
The name of capture file. Seyon will write session captures to this
167
file when capture is enabled. This file will be placed in Seyon's
168
default directory. The capture file will not be overwritten by
169
successive capture sessions. Seyon will merely apped new capture to
171
.I Default value: capture
173
.BI connectString " (string)"
174
The modem connect string. This the string response the modem gives
175
when a connection is made after dialing.
176
.I Default value: CONNECT
178
.BI defaultBits " (int)"
179
The default number of bits (character size). Seyon will set the number
180
of bits to this value on startup and will use it for items in the
181
dialing directory for which no such parameter is given. Valid values
185
.BI defaultBPS " (string)"
186
The default baud rate. Seyon will set the baud rate to this value on
187
startup and will use it for items in the dialing directory for which
188
no baud rate is given.
189
.I Default value: 9600
191
.BI defaultDirectory " (string)"
192
Seyon's default directory. When looking for its files, Seyon will
193
first try this default directory, then the current directory. Seyon
194
will also put the capture file in this directory.
195
.I Default value: ~/\.seyon
197
.BI defaultParity " (int)"
198
The default parity. Seyon will set the parity to this value on startup
199
and will use it for items in the dialing directory for which no such
200
parameter is given. Valid values are 0 (no parity), 1 (odd parity),
204
.BI defaultPhoneEntries " (int array)"
205
This resource specifies a list of numbers corresponding to the order
206
the entries in the dialing directory appear at. Seyon will highlight
207
(select) those entries on startup and whenever you click ``Default''
208
from the dialing directory. This is useful if there is a set of
209
entries that you most frequesntly dial that want to be highlghted
210
automatically instead of doing that every time by hand. You can
211
override this resource by the \fI-entries\fP command-line switch.
212
Unlike the command-line switch, however, the list here should not be
213
quoted. Phonebook entries numbering starts at one.
216
.BI defaultStopBits " (int)"
217
The default number of stop bits. Seyon will set the number of stop
218
bits to this value on startup and will use it for items in the dialing
219
directory for which no such parameter is given. Valid values are 1 and
223
.BI dialAutoStart " (boolean)"
224
This resource specifies that Seyon should start dialing the entries
225
specified by the resource \fIdefaultPhoneEntries\fP (or its override
226
command-line switch) on startup. Seyon will commence dialing those
227
entries after executing the startup script and any script specified at
228
the command line. A more convenient way of automatic dialing on
229
startup is to use the override command-line switch \fI-dial\fP, which
230
overrides this resource and enables. If the resource is enabled, it
231
can be disabled at the command line by the override switch
232
\fI-nodial\fP. Refer to the description of these switches above.
233
.I Default value: off
235
.BI dialCancelString " (string)"
236
The string Seyon sends to the modem to cancel dialing while in
240
.BI dialDelay " (int)"
241
How long in seconds Seyon should wait after no connection is made
242
withen \fIdialTimeOut\fP before ciculating to the next number.
245
.BI dialDirFormat " (string)"
246
This is a format string that specifies the layout of the dialing
247
direcotry. The default is '%-15s %-15s %6s %1c%1c%1c %1c%1c %s' (no
248
quotes). Briefly: the fields represent the host name, number, the
249
baud rate, bits, parity, stop bits, whether there is a custom prefix,
250
suffix, and the script name. You can understand more what each field
251
refers to by comparing with dialing directory, fields that use the
252
current setting (via the keyword CURRENT) are designated by a question
253
mark. Notice that you cannot change the order the items in the dialing
254
directory appear at, only the format. For example, if the numbers you
255
call are all 7-digits, your host names are short, you never use baud
256
rates above 9600, and you like dashes between the baud rate, bits,
257
parity, and stop bits fields, then you may prefer to use the format
258
string '%-10s %-8s %5s-%1c-%1c-%1c %1c%1c %s', which would be narrower
259
than the default format.
260
.I Default value: %-15s %-15s %6s %1c%1c%1c %1c%1c %s
262
.BI dialPrefix " (string)"
263
The string Seyon sends to the modem before the phone number. To use
264
pulse dialing, set this resource to .IR ATDP .
265
.I Default value: ATDT
267
.BI dialRepeat " (int)"
268
How many times Seyon should try dialing a number. Seyon will give up
269
on dialing a number if no connection is made after this many tries.
272
.BI dialSuffix " (string)"
273
The string Seyon sends to the modem after the phone number. This
274
string has to contain a carraige return or the number will never get
278
.BI dialTimeOut " (int)"
279
How long in seconds Seyon should wait for a connection to made after
280
dialing is complete. Seyon will cancel the dialing if no connection is
281
made withen this period.
284
.BI exitConfirm " (boolean)"
285
Whether Seyon should prompt for hanguping up before exiting. If
286
off-line and the resource ignoreModemDCD is set to 'off', Seyon will
287
not prompt for hanging up upon exiting even if this resource is set to
288
'on', since it does not make sense to do so in this case.
291
.BI funMessages " (string array)"
292
The fun messages to be displayed when Seyon has no other important
293
information to show. This should be a list of double-quoted [funny]
295
.I Default value: varies, version-dependent
297
.BI funMessagesInterval " (int)"
298
The temporal interval in seconds between successive fun messages.
301
.BI idleGuard " (boolean)"
302
If set to on, Seyon will send a string to the remote host whenever the
303
terminal session is idle (no keyboard input) for a given amount of
304
time. The resources \fIidleGuardInterval\fP and \fIidleGuardString\fP
305
specify the above time interval and the string to be sent to the
306
remote host when idle. It is useful to enable this features to keep
307
the session alive when one is away from the computer for a while (e.g.
308
to prevent auto-logout).
309
.I Default value: off
311
.BI idleGuardInterval " (int)"
312
The amount of time in seconds Seyon is to consider the session idle
313
when there is no keyboard activity at the terminal for that long.
314
Seyon will send a string to the remote host every such interval as
315
long as the session is idle.
316
.I Default value: 300
318
.BI idleGuardString " (string)"
319
The string to be sent to the remote host when the session is idle.
320
This string will be sent at a regular interval as long as the sesiion
321
remains idle. Note that the current translations will be used in
322
sending this string; for example, if backspaceTranslation is enabled,
323
then the default string <Space><BS> will be sent as <Space><DEL>.
324
.I Default value: \\\s^H
325
(space then backspace)
327
.BI ignoreModemDCD " (boolean)"
328
If this resource is set to 'on', the modem DCD (Data Carrier Detect)
329
status will be ignored. Some of the consequences of setting this to
330
\'on\' is that Seyon will always prompt for hangup (if the resource
331
\fIexitConfirm\fP is set to 'on') even if the modem DCD status
332
indicates that it is off-line, and dialing will be attempted even if
333
the modem DCD status indicates that it is on-line. It is highly
334
recommended that you keep this set to 'off' unless your modem does not
335
honor the DCD line. Consult your modem's manual for more details.
336
.I Default value: off
338
.BI hangupBeforeDial " (boolean)"
339
When set to \fIon\fP, Seyon will hangup the line (if connected) before
340
dialing the phone number. Otherwise, the number will be dialed without
341
hanging up, and it is the user's responsibility to ensure that the
342
line is clear (no connection) when dialing.
345
.BI hangupConfirm " (boolean)"
346
Whether Seyon should ask for confirmation before hanging up the phone
349
.BI hangupViaDTR " (boolean)"
350
When enabled, Seyon will hangup up the modem by dropping DTR. This is
351
much quicker than hanging up by sending a Hayes-like hangup string to
352
the modem and waiting to allow for escape guard time. However, some
353
modems and serial drivers choke on dropping DTR and others just don't
354
hangup when DTR is dropped, so in these cases it should be disabled.
355
If disabled, Seyon will hangup the modem by sending the string
356
specified by the resource modemAttentionString, followed by that
357
specified by the resource modemHangupString.
358
.I Default value: off
360
.BI metaKeyTranslation " (boolean)"
361
Whether to transmit keys pressed while the meta (ALT) key is held down
362
as an escape (ESC) followed by the key press. Most hosts do not
363
support 8-bit sessions, and hence do not recognize the meta key.
364
Therefore, this translation mode has to be enabled when connected to
365
such hosts to take advantage of the meta key in programs that make use
369
.BI modemAttentionString " (string)"
370
The string to send to the modem to get its attention (switch to
371
command mode). This string will be sent to the modem before the hangup
372
string when hangupViaDTR is disabled.
373
.I Default value: +++
375
.BI modemHangupString " (string)"
376
The hangup string to send to the modem when hangupViaDTR is disabled.
379
.BI modems " (string)"
380
A list of modem devies to use. Seyon will try modems in this list one
381
after the other until it finds an available modem or the list is
385
.BI modemStatusInterval " (int)"
386
This resource controls the amount of time (in seconds) between updates
387
to the modem status toggles (including the clock). The default is five
388
seconds, but you can set it to one second (or any other number) if you
389
want the toggles to be updated more frequently. Even if you set this
390
to a large number, Seyon is intellegent enough to update the toggles
391
after each connect or hangup.
394
.BI modemVMin " (int)"
395
This resource specifies the minimum number of characters that should
396
be in the buffer before the read process is satified. The read process
397
will wait until that number of incoming characters is in the buffer or
398
0.1 second has elapsed between the receiption of two characters before
399
displaying the data in the buffer. This results in the data being
400
displayed in chunks and speeds up the terminal display. The speedup
401
would be most noticeable on slow machnes with fast modems.
403
Leave this resource at its default (1) or set it at a low value (6) if
404
you have a slow modem (e.g. 2400bps). Otherwise you might set it to
405
the maximum value, which is platform-dependent but generally 255. If
406
you set it to any number greater than the maximum value, it will be
407
truncated to the maximum value.
410
.BI newlineTranslation " (string)"
411
When the Enter key is pressed, newline character (\\n) is generated.
412
This resource determines what to translate this character to. Three
413
modes are possible: no translation (newline), carriage return (\\r),
414
and carriage return / line feed. Unix systems usually expect newline
415
or carrage return, DOS systems expect carraige return or carriage
416
return / line feed. The three keywords corresponding to the above
418
.IR nl ", " cr ", and " cr/lf .
421
.BI noConnectStringX " [X = 1-4] (string)"
422
The response strings given by the modem when connection fails.
423
.IR "Default values: NO CARRIER" ", " "NO DIALTONE" ", " BUSY ", " VOICE
426
.BI phonelistFile " (string)"
427
The name of the phone list (dialing directory) file. See the included
428
example to learn how this file should be formatted.
429
.I Default value: phonelist
431
.BI postConnectAction " (string)"
432
Specifies a simple or compound action that will be executed after a
433
connection to a remote host is made. This action will be executed
434
before running any script attached to that host in the dialing
435
directory. All actions here have to be synchronous. Refer to the
436
section entitled \fISeQuickKeys\fP below for a description of
438
.I Default value: Beep();
440
.BI protocolsFile " (string)"
441
The name of the protocols file. This file tells Seyon what file transfer
442
protocols are available. The user will be promted with a list based on
443
this file when file transfer is to be initiated.
444
.I Default value: protocols
448
Refer to the section entitled \fISeQuickKeys\fP below.
451
.BI rtsctsFlowControl " (boolean)"
452
Whether Seyon should turn on RTS/CTS hardware flow control. Make sure
453
the modem is set to use this as well.
454
.I Default value: off
456
.BI scriptDirectory " (string)"
457
Seyon's script directory. When looking for scripts, Seyon will first
458
try this script directory, then the current directory.
459
.I Default value: defaultDirectory
461
.BI showFunMessages " (boolean)"
462
Whether to display funny messages when Seyon has no other important
463
information to show. Seyon will display those messages at an interval
464
specified by the \fIfunMessagesInterval\fP resource when there is no
465
other important information to convey to the user. To disable the
466
display of fun messages, this resource has be set to off.
469
.BI startupAction " (string)"
470
Specifies a simple or compound action that will be executed on
471
startup. This action is executed prior to running any script (in case
472
the -script switch is given) or dialing any entry of the dialing
473
directory (in case the -dial switch is given or the resource
474
dialAutoStart is enabled). You can make Seyon open the dialing
475
directory automatically on startup by using the simple action
476
``OpenWidnow(Dial);'' as a constituent of this complex action stack.
477
Note that running the startup script is just a special case of this
478
resource. Refer to the section entitled \fISeQuickKeys\fP for a
479
description of available actions.
480
.I Default value: RunScript(startup);
482
.BI startupFile " (string)"
483
Seyon's startup file. Seyon will execute all commands in this file
484
upon startup. This file can have any commands acceptable as script
485
commands. The most useful command to put here is the \fIset\fP
486
command, to set the various communications parameters.
487
.I Default value: startup
489
.BI stripHighBit " (boolean)"
490
Whether to strip the high (eights) bit from incoming characters. If
491
set to on, the high bit of all incoming characters will be stripped,
492
which will make an 8-N-1 setting behave like 7-N-1, even though eight
493
bits are used for each character.
494
.I Default value: off
496
.BI xonxoffFlowControl " (boolean)"
497
Whether Seyon should turn on XON/XOFF software flow control.
498
.I Default value: off
502
Seyon allows the user to have custom buttons, called SeQuickKeys (z
503
quickies), to which actions can be attached. SeQuickKeys provide a
504
convenient way via which the user can invoke frequently-used
505
operations by a singe mouse click. SeQuickKeys are specified through
506
the resources quickKeyX, where X is an integer corresponding to the
507
order at which that SeQuickKey is to appear on the command center.
508
Relevant subparts of that resource are \fIvisible\fP, \fIaction\fP,
509
and \fIlabel\fP. Here is an example:
514
Seyon*quickKey3.visible: on
516
Seyon*quickKey3.action: FileTransfer(1,file); Beep();
518
Seyon*quickKey3.label: Upload
523
The first line specifies that SeQuickKey3 should be visible. The
524
second line specifies the action bound to the SeQuickKey (in this
525
case, a compound action), and the third line specifies the label for
526
that SeQuickKey's button. Other subparts can also be specified in a
527
similar fashion (e.g. background, foreground, ..etc.)
529
Actions can be either simple or compound. A compound action consists
530
of a stack of simple actions and can be used as simple mini-script.
534
\(bu Set(idleGuard,on); DialEntries(Default);
535
\(bu Echo("Uploading files..."); Transmit(rz); \\
536
FieTransfer(1,"*.ico $HOME/acct.wks"); Echo(Done);
537
\(bu OpenWindow(Dial); DialEntries("2 5 6");
538
\(bu Echo("Goodbye.."); Hangup(); Quit();
539
\(bu Set(baud,9600); ManualDial("555-5555");
540
\(bu Echo("Will upload..."); ShellCommand("$sz *.wks");
541
\(bu Set(parity,0); RunScript(login.scr); Echo(Finished);
545
The following is a list of actions Seyon currently supports. Asterisks
546
designate asynchronoous actions. Brackets designate optional
552
Rings the bell making a short beep.
555
.BI CloseWindow "(window [,...]);"
556
Closes (dismisses) the given windows. Currenly the only valid argument
557
to this action is Dial, which corresponds to the dialing idrectory
558
window. \fIExample:\fP CloseWindow(Dial);
561
.BI DialEntries (entries-list); *
562
Dials entries in the dialing directory corresponding by order to the
563
given list. Entries will be dialed as if the user had selected them on
564
the dialing directory. Entries will be dialed without opening the
565
dialing directory. You can use the action ``OpenWindow(Dial);'' and
566
stack the two actions in a compound action if you want the dialing
567
directory to be opened.
569
The list must be quoted if it consists of more than one entry, and
570
entries should be separated by white space, not commas. If the list
571
consists of just the word ``Default'', then the entries given by the
572
resource defaultPhoneEntries will be dialed, refer to the description
573
of that resource for more details.
575
The most common use of this action is attach frequesntly-dialed hosts
576
to SeQuickKeys, making dialing those hosts a one-click operation. If
577
this action is not the last in a compound action stack, actions
578
specified by the resource postConnectAction may not work properly.
579
\fIExamples:\fP DialEntries(2); DialEntries("2 4 5");
580
DialEntries(Default);
583
.BI DivertFile ([file]); *
584
Sends the given file to the remote host as a text upload. If the
585
optional argument ``file'' is not specified, Seyon will pop up a
586
dialog box asking for the file name. In the latter case this action is
587
similar to clicking Divert from the Misc window. \fIExamples:\fP
588
DivertFile("/tmp/acct.wks"); DivertFile();
592
Echos the given string to the terminal. Does not send it to the modem
593
(use Transmit for that). If the string consists of more than one word,
594
it must be quoted. Note that unlike the shell command of the same
595
name, this command does not accepts the switch -n but always appends
596
newline to the string. If the argument is omitted, an empty line will
597
be echoed. \fIExamples:\fP Echo(Hello); Echo("Hello there"); Echo();
600
.BI FileTransfer "(entry, [file-list]);" *
601
Executes the transfer protocol corresponding by order in the trasfer
602
console (protocols file) to ``entry''. If that protocol requires a
603
file name and file-list is omitted, Seyon will pop up a dialog box
604
asking for the file. Otherwise file-list will be passed to that
605
protocol. The list must be quotes if it consists of more than one word
606
and items in it should be separated by white space. It can contain
607
wild cards and shell variables. \fIExamples:\fP FileTransfer(1);
608
FileTransfer(2,acct.wks); FileTransfer(2,"*.wks $HOME/acct.wks");
612
Disconnects the line. Does not pop up a confirmation box.
615
.BI IconifyWindow "(window [,...]);"
616
Iconifies the given windows. Valid arguments to this action are Main,
617
Dial, and Term, corresponding respectively to the command center,
618
dialing directory, and terminal emulator windows. When the argument is
619
Term, this action will work only if the terminal emulator sets the
620
envirenment variable WINDOWID, like xterm does. \fIExamples:\fP
621
IconifyWindow(Main,Dial,Term); IconifyWindow(Dial);
624
.BI ManualDial ([number]); *
625
Dials a number as if the Manual button had been clicked from the
626
dialing directory. If ``number'' is specified, it will be dialed
627
directly and no dialog box will be popped up asking for the number.
628
\fIExamples:\fP ManualDial(555-5555); ManualDial();
631
.BI Message ([string]);
632
Echos the given string to the message box of Seyon's command center
633
(main window). If the string consists of more than one word, it must
634
be quoted. If the argument is omitted, an empty line will be echoed.
635
\fIExamples:\fP Message(Hello); Message("Hello there"); Message();
638
.BI OpenWindow "(window [,...]);"
639
Opens each of the given windows by popping it if closed or
640
de-iconifying it if in an iconic state. Valid arguments to this action
641
are Main, Dial, and Term, corresponding respectively to the command
642
center, dialing directory, and terminal emulator windows. When the
643
argument is Term, this action will work only if the terminal emulator
644
sets the envirenment variable WINDOWID, like xterm does.
645
\fIExamples:\fP OpenWindow(Main,Dial,Term); OpenWindow(Dial);
649
Exits Seyon completely and returns to the shell. Does not pop up a
653
.BI RunScript ([script-name]); *
654
Executes the script given by the file script-name. The script will be
655
executed as if the user had selected it via the Script button. If
656
script-name is omitted, a dialog box will be popped up asking for the
657
script name. This is a very versatile action, as many remote and local
658
commands or series of commands can be performed by attaching
659
appropriate scripts to SeQuickKeys. \fIExamples:\fP
660
RunScript(login.scr); RunScript();
663
.BI Set "(parameter, value);"
664
Sets the specified parameter to the given value. Can be used to set
665
the various communications parameters. Available parameters are listed
666
under the script command ``set''. \fIExamples:\fP Set(baud,9600);
667
Set(parity,0); Set(idleGuard,off).
670
.BI ShellCommand (shell-command); *
671
Executes the given shell command via the user's shell pointed to by
672
the SHELL environment variable, or /bin/sh if that environment
673
variable is not set. Note that the command must be quoted if it
674
consists of more than one word. If the first non-space letter of the
675
command is the character ``$'', then standard input and standard
676
output will be redirected to to the modem. This action can be used to
677
execute any external program from withen Seyon. \fIExample:\fP
678
ShellCommand(ls); ShellCommand("$cd $HOME; sz -vv *.wks");
681
.BI Transmit (string);
682
Transmits the given string to the remote host. The string must be
683
quoted if it consists of more than one word. The string is transmitted
684
as is (no case conversions are performed). No newline character or
685
carriage return is appended to the string, use the prefix characters
686
for that (e.g. ^M, ^J). See the discripttion of the script command
687
``transmit'' for more details. \fIExample:\fP Transmit(ls^M);
688
Transmit("ls -CF^M");
692
Script files can automate some tedious tasks such as logging into a
693
system. A script file is an ascii text file and may be entered or
694
edited using any standard text editor.
696
The script file is read line by line. Empty lines (consisting of
697
white space only) are ignored. Comments are lines whose first
698
non-space character is a pound sign (#).
700
The script processor reads each script line, ignoring leading white
701
space, into \fIwords\fP. A word is defined as either:
705
\(bu a sequence of characters delimited by white space, or
707
\(bu a sequence of characters enclosed in single or double quotes.
711
The first word of a script file is considered the \fIcommand word\fP.
712
If the last character of the command word is a colon (:), the line is
713
considered to be a \fIlabel\fP (the object of a \fIgoto\fP statement).
714
Otherwise, it is assumed to be a script command and is interpreted as
715
such. Command words are case insensative.
717
Some commands take one or more arguments. Each argument is parsed as a
718
single word as defined above. If blanks are required in an argument,
719
the argument must be quoted using single or double quotes.
721
\" .SS Startup Scripts
723
\" When XCOMM is started up, it looks for the file ".xcomm" in the current
724
\" or $HOME directory. If it is found, it is executed. This is useful for
725
\" setting your "basic" parameters without having to recompile XCOMM. For
726
\" example, your startup file may turn CIS <ENQ> mode off, set your baud
727
\" rate to 9600, and set 7BIT translation.
730
.SS Script Command List
732
Below is the description of all commands that may be used in the Seyon
736
.BI "capture on|off" " (currently may not work)"
737
The command \fIcapture on\fP will enable capture. All characters
738
received during \fIwaitfor\fP processing will be appended to the capture
739
file. The command \fIcapture off\fP will close the capture file.
740
This setting does not currently extend to terminal mode. This may be
741
offered in a later release.
745
If the argument is \fIon\fP, all subsequent command lines processed
746
will be displayed on the local screen. The exception to this is lines
747
containing a \fItransmit\fP command. These lines will just print
748
\fITRANSMIT...\fP, so that passwords, etc. can be protected. If the
749
argument is \fIoff\fP, scripts will execute quietly (this is the
754
Dial the specified number. Seyon supports generic "Hayes" compatible
755
modems for dialing. Note that this command requires an actual phone
756
number. The phonebook is not used for this function.
760
Echos the given string to the terminal. Does not send it to the
763
for that). If the string contains spaces, it must be quoted. Note that
764
unlike the shell command of the same name, this command does not
765
accepts the switch -n but always appends newline to the string.
769
Terminates the script file prior to the end of file. Returns to
774
Flushes the modem, i.e. discards data written to the modem but not
775
transmitted and data received but not read.
779
Goes to the specified label in the script file and continues execution
780
from that point. The label may either precede or follow the actual
781
\fIgoto\fP statement. A label is any \fIcommand word\fP whose last
782
character is a colon (:).
786
Hangups up the line and disconnects from the remote host.
789
.BR if ", " else ", " endif
799
Conditionally executes statements based on specified condition. Seyon
800
supports the following conditions:
804
\fIwaitfor\fP: true if the last \fIwaitfor\fP command was successful.
806
\fIlinked\fP: true if this script was executed from the dialing
810
Conditions may be negated using the prefix \fInot\fP or the character
815
\fI!waitfor\fP: true If the last \fIwaitfor\fP command timed out.
817
\fInot waitfor\fP: same as \fI!waitfor\fP above
820
The \fIelse\fP and \fIendif\fP keywords must appear on their own
821
lines. \fIIf\fP statements may not be nested.
825
Suspends execution of the script for the specified number of seconds.
826
This is usually used for timing considerations; for example, waiting a
827
couple of seconds after receiving the \fIconnect\fP message and typing
832
Reads and discards all data coming from the modem for the duration of
837
Terminates the script and exits the whole program (returns to the
843
Redials the last number dialed using the \fIdial\fP command.
847
Sends a BREAK signal to te remote host.
850
.BI set " <parameter> <value>"
851
Sets the specified parameter to the given value. Can be used to set
852
the various communications parameters for each host. The follwoing is
853
a list of the \fIset\fP keywords that Seyon recognizes. Keywords
854
marked with an asterisk set the current parameter only, not the
855
default one. Refer to the corresponig resource (in parentheses below)
856
for details of the function of each keyword.
860
\" .IR port " (modem)"
862
.IR baud "* (defaultBPS)"
864
.IR bits "* (defaultBits)"
866
.IR parity "* (defaultParity)"
868
.IR stopBits "* (defaultStopBits)"
870
.IR stripHighBit " (stripHighBit)"
872
.IR newlineTranslation " (newlineTranslation)"
874
.IR del " (backspaceTranslation)"
876
.IR meta_tr " (metaKeyTranslation)"
878
.IR xoff " (xonxoffFlowControl)"
880
.IR rtscts " (rtsctsFlowControl)"
882
.IR autozm " (zmodemAutoDownload)"
884
.IR idleGuard " (idleGuard)"
887
Boolean keywords accept \fIon\fP or \fIoff\fP as their argument, other
888
keywords accept the same arguments as the corresponding resources.
891
.BI shell " <shell-command>"
892
Executes the given shell command via the user's shell pointed to by
893
the SHELL environment variable, or /bin/sh if the environment variable
894
SHELL is not set. Note that the command must be quoted if it consists
895
of more than one word. If the first non-space letter of the command is
896
the character '$', then standard input and standard output will be
897
redirected to to the modem. This command can be used to execute any
898
external program from withen Seyon. \fIExample:\fP shell "cd /usr/dl;
902
.BI transmit " <text>"
903
Transmits the specified text to the remote host. The text argument
904
should be quoted (using single or double quotes) if there are spaces
905
to be transmitted. The text is transmitted as is (no case conversions
908
.I Prefix characters:
911
^ is the Control character prefix: the next character is made into a
912
control character. For example, ^M is \fIcarriage return\fP (0x0D) and
913
^J is \fInewline\fP (0x0A).
915
\\ is quote prefix: the next character is transmitted verbatim. For
916
example, \\^ would transmit a literal ^.
921
This command specifies whether or not characters received from the
922
modem will be displayed on the local terminal. Since the only time
923
that the script processor looks at the receive queue is during
924
\fIwaitfor\fP processing, the displays may look a bit erratic.
925
Use the \fItty off\fP command to disable local display of received
926
characters during script processing.
929
.BI waitfor " <text> [timeout]"
930
Waits for the specified text to appear from the modem. The text
931
argument should be quoted (using single or double quotes) if there are
932
spaces to be transmitted.
934
Special characters are interpreted the same as for \fItransmit\fP.
935
If the timeout argument is specified, Seyon will wait that number of
936
seconds for the string to appear. If no timeout is given, Seyon
937
defaults to 30 seconds.
939
During \fIwaitfor\fP processing, characters received (up to and
940
including the last character found in the text or in the timeout) can
941
be captured to a disk file (if \fIcapture on\fP is specified), and/or
942
displayed to the screen (if \fItty on\fP is specified).
945
.BI when " [<string-to-expect> <string-to-send>]"
946
Sends string-to-send whenever it encounters string-to-expect while
947
waiting in a \fIwaitfor\fP command, whatever the number if times
948
string-to-expect is encountered.
950
This is is useful if the order of prompts expected is not known before
951
hand. For example, some BBS systems (notably PCBoard) change the
952
prompts depeding on the time of call, and a complete script for such
953
boards cannot be written using \fIwaitfor\fP only.
955
As many number of \fIwhen\fP commands as desired can be specified. A
956
\fIwhen\fP command with no arguments clears all outstanding \fIwhen\fP
957
commands. \fIwaitfor\fP commands take precedence over \fIwhen\fP
958
commands if they expect the same string.
960
A typical use of this command would be:
963
when "Continue?" "y^M"
965
waitfor "BBS Command?"
969
The above script keeps sending "y^M" to every Continue?" prompt and
970
"n^M" to every "More?" prompt until the the string "BBS Command?" is
971
encountered. The lasy \fIwhen\fP clears all outstanding \fIwhen\fP
975
The default Seyon files are
976
.IR startup ", " phonelist ", and " protocols .
977
These have to be in the current directory, Seyon's default
980
or the user's home directory. The default script directory is Seyon's
981
default directory. All of these files and directories can be
982
overridden by setting the appropriate resources. See the description
983
of those resources as well as the description of the files above.
990
Seyon is Copyright (c) 1992-1993 of Muhammad M. Saggaf. Seyon is not
991
public domain. Permission is granted to use and distribute Seyon
992
freely for any use and to sell it at any price without reference to
993
the copyright owner provided that in all above cases Seyon is intact
994
and is not made part of any program either in whole or in part and
995
that this copyright notice is included with Seyon. Permission is also
996
granted to modify the source as long as the modified source is not
997
distributed without prior consent of the author.
1001
The script command 'set port' is not supported in this release. If the
1002
action DialEntries is not the last in a compound action stack, actions
1003
specified by the resource postConnectAction may not work properly.
1005
If Seyon is hung, it can be made to exit cleanly by killing its main
1006
process by signal 15 (SIGTERM) from another shell. Seyon's main process
1007
is the one that has the lowest PID (Process ID) number. For example,
1011
1100 p0 S 0:04 seyon -noemulator
1012
1101 p0 S 0:00 seyon -noemulator
1013
1102 p0 S 0:38 seyon -noemulator
1016
Then ``kill -15 1100'' or ``kill 1100'' would cause Seyon clean up and
1021
Muhammad M. Saggaf, alsaggaf@mit.edu. Snail Mail: Muhammad Saggaf, Box
1022
9863, Dhahran 31311, SAUDI ARABIA. I apologize that I may not be able
1023
to respond to all correspondence I receive.
1025
xcomm 2.2 was written by Eric Coe and Larry Gensch.
1029
David Boyce for helpuful suggestions, the Imake file, and patches for
1030
clean build under gcc \-Wall; Joaquim Jorge for the lex/yacc parsing
1031
routines contributed by him; and the many people who sent me patches
1032
for various platforms: Fred Appleman (SVR4), atae@spva.dnet.nasa.gov
1033
(Ultrix), Alain Hebert (SVR3.2), Peter Davies (Sun Sparc), Eric
1034
Schmidt (Apollo), David Sanderson (AIX), Jonathan Bayer (Sun), Jeff
1035
Johnson (SVR4), Glenn Geers (SVR4-Esix), Tony Vincent-Sun-Vienna
1036
(Solaris), Bob Smith (SunOS 3.x and sgtty interface). (pardon me if I
1037
forgot to mention you). I'm also thankful to all the nice people who
1038
sent me suggestions or bug reports.
1040
The MultiList widget used in the dialing directory is written by the
1041
Free Widget Foundation. You can get it and other FWF widgets by ftp