seyon(1)


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)

COPYRIGHT

   Seyon is Copyright (c) 1992-1993 of Muhammad M. Saggaf.  Seyon  is  not
   public domain. Permission is granted to use and distribute Seyon freely
   for any use and to sell it  at  any  price  without  reference  to  the
   copyright owner provided that in all above cases Seyon is intact and is
   not made part of any program either in whole or in part and  that  this
   copyright  notice is included with Seyon. Permission is also granted to
   modify the source as long as the modified  source  is  not  distributed
   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)





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.