xenial (1) seyon.1.gz

Provided by: seyon_2.20c-32_amd64 bug

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:

       -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.

RESOURCES

       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: \s^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

       quickKey?
              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

SEQUICKKEYS

       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: on
              Seyon*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 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.

              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.

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)

       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 without prior  consent  of
       the author.

BUGS

       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.

AUTHOR

       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.

ACKNOWLEDGEMENT

       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.

                                                                                                        SEYON(1)