NAME
       Seyon - X11 Telecommunications Package.

SYNOPSIS
       seyon  [-option	...]  [-toolkit_option	...]  [-- -emula-
       tor_option ...]

DESCRIPTION
       Seyon is a complete full-featured telecommunications pack-
       age for the X Window System. Some of its features are:

	      * Dialing directory that supports an unlimited num-
	      ber of entries. The directory is fully mouse-driven
	      and  features  call progress monitoring, dial time-
	      out, 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 dial-
	      ing.

	      * Terminal emulation window  supporting  DEC  VT02,
	      Tektronix	4014, and ANSI. Seyon delegates its ter-
	      minal 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  emula-
	      tion  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 inter-
	      preter uses plain-text files and has a syntax simi-
	      lar  to  that  of sh, with a few extra addtions. It
	      supports many familiar statements	such  as  condi-
	      tional  branching	by  if-else and looping by goto.
	      Scripts may be assigned to  items	in  the  dialing
	      directory	for  automatic execution after a connec-
	      tion 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

								1

	      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  acti-
	      vates  a	user-specified zmodem protocol to receive
	      incoming files. Zmodem transfers can thus	be  com-
	      pletely 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 (use-
	      ful 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  con-
       figurable.  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  follow-
       ing 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

								2

	      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 com-
	      bined with -noemulator.

       -nodefargs
	      Seyon  usually  invokes the terminal emulation pro-
	      gram 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, shell-
	      tool,  ..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 fore-
	      ground 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 speci-
	      fied 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:

								3

       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 succes-
	      sive 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  corre-
	      sponding	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

								4

	      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 com-
	      mand 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 dial-
	      ing while in progress.  Default value: ^M

       dialDelay (int)
	      How long in seconds Seyon should wait after no con-
	      nection is made withen dialTimeOut before	ciculat-
	      ing to the next number.  Default value: 10

       dialDirAutoOpen (boolean)
	      If  enabled,  Seyon  will	automatically pup up the
	      dialing directory on startup. Otherwise, the  dial-
	      ing  directory  has  to be opened manually from the
	      command center.  Default value: off

       dialDirFormat (string)
	      This is a format string that specifies  the  layout
	      of  the  dialing	direcotry.  The default is '%-15s
	      %-15s  %6s  %1c%1c%1c  %1c%1c  %s'   (no	quotes).
	      Briefly:	the  fields represent the host name, num-
	      ber,  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 direc-
	      tory, fields that use the current setting (via  the

								5

	      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 for-
	      mat. 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  con-
	      nection  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 connec-
	      tion 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  ignore-
	      ModemDCD 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

								6

	      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 con-
	      nected) 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

								7

	      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.  How-
	      ever, some modems and serial drivers choke on drop-
	      ping 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 modemAtten-
	      tionString,  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  atten-
	      tion  (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 sec-
	      onds) 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 num-
	      ber)  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 char-
	      acters 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

								8

	      data in the buffer. This results in the data  being
	      displayed in chunks and speeds up the terminal dis-
	      play. 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  sys-
	      tems  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  con-
	      nection  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.
	      Default value: Beep();

       protocolsFile (string)
	      The name of the protocols	file.	This  file  tells
	      Seyon  what  file transfer protocols are available.
	      The user will be promted with a list based on  this
	      file   when  file	transfer  is  to  be  initiated.
	      Default value: protocols

       quickKeyX
	      Refer to the section entitled SeQuickKeys below.

								9

       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:  defaultDi-
	      rectory

       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

       startupFile (string)
	      Seyon's  startup	file. Seyon will execute all com-
	      mands 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  incom-
	      ing  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

       zmodemAutoDownload (boolean)
	      Whether to enable ZMODEM auto-download. If  set  to
	      on,  Seyon  will start ZMODEM downloads whenever it
	      recieves the auto-download string from  the  remote
	      host.  Default value: on

       zmodemAutoDownloadCommand (string)
	      The  shell  command  Seyon is to execute for ZMODEM
	      auto-downloads.  Default value: $rz

SEQUCKKEYS
       Seyon allows the	user  to  have	custom	buttons,  called
       SeQuickKeys   (z	quickies),  to  which	actions  can  be

							       10

       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  visi-
       ble.  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 but-
       ton. 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:

	      o Set(idleGuard,on); DialEntries(Default);
	      o Echo("Uploading files..."); Transmit(rz); \
		    FieTransfer(1,"*.ico $HOME/acct.wks"); Echo(Done);
	      o OpenWindow(Dial); DialEntries("2 5 6");
	      o Echo("Goodbye.."); Hangup(); Quit();
	      o Set(baud,9600); ManualDial("555-5555");
	      o Echo("Will upload..."); ShellCommand("$sz *.wks");
	      o Set(parity,0); RunScript(login.scr); Echo(Finished);

       The  following  is  a list of actions Seyon currently sup-
       ports. 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. Exam-
	      ple: CloseWindow(Dial);

       DialEntries(entries-list);*
	      Dials entries in the dialing directory  correspond-
	      ing  by  order  to  the given list. Entries will be
	      dialed as if the user  had  selected  them  on  the

							       11

	      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  dial-
	      ing 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 fre-
	      quesntly-dialed hosts to SeQuickKeys, making  dial-
	      ing  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");	Divert-
	      File();

       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  dia-
	      log  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

							       12

	      can  contain  wild cards and shell variables. Exam-
	      ples:  FileTransfer(1);	FileTransfer(2,acct.wks);
	      FileTransfer(2,"*.wks $HOME/acct.wks");

       Hangup();
	      Disconnects  the	line. Does not pop up a confirma-
	      tion box.

       IconifyWindow(window [,...]);
	      Iconifies the given  windows.  Valid  arguments  to
	      this action are Main, Dial, and Term, corresponding
	      respectively to the command center, dialing  direc-
	      tory, and terminal emulator windows. When the argu-
	      ment is Term, this action will  work  only  if  the
	      terminal	emulator  sets	the  envirenment variable
	      WINDOWID, like xterm  does.  Examples:  IconifyWin-
	      dow(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();

       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);	OpenWin-
	      dow(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

							       13

	      of commands can be performed by attaching appropri-
	      ate  scripts   to	SeQuickKeys.	Examples:   Run-
	      Script(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  let-
	      ter  of  the  command  is the character ``$'', then
	      standard input and standard output  will	be  redi-
	      rected  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  log-
       ging  into  a system.  A script file is an ascii text file
       and may be entered or edited using any standard text  edi-
       tor.

       The  script  file is read line by line.	Empty lines (con-
       sisting 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:

							       14

	      o a  sequence  of	characters  delimited	by  white
	      space, or
	      o	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 cap-
	      ture 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  trans-
	      mit  command.  These  lines  will just print TRANS-
	      MIT..., so that passwords, etc. can  be  protected.
	      If  the  argument is off, scripts will execute qui-
	      etly (this is the default setting).

       dial <number>
	      Dial the specified number.  Seyon supports  generic

							       15

	      "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  speci-
	      fied condition. Seyon supports the following condi-
	      tions:

	      waitfor: true if the last waitfor command was  suc-
	      cessful.
	      linked:  true  if this script was executed from the
	      dialing directory.

	      Conditions may be negated using the prefix  not  or

							       16

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

       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)

							       17

	      newlineTranslation (newlineTranslation)
	      del (backspaceTranslation)
	      meta_tr (metaKeyTranslation)
	      xoff (xonxoffFlowControl)
	      rtscts (rtsctsFlowControl)
	      autozm (zmodemAutoDownload)
	      idleGuard (idleGuard)

	      Boolean  keywords	accept	on or off as their argu-
	      ment, 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	transmit-
	      ted. The text is transmitted as is (no case conver-
	      sions are performed).

	      Prefix characters:

	      ^ is the Control character prefix: the next charac-
	      ter  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 transmit-
	      ted verbatim. For example, \^ would transmit a lit-
	      eral ^.

       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 dur-
	      ing waitfor processing, the displays may look a bit
	      erratic.	Use the tty off command to disable  local
	      display  of  received characters during script pro-
	      cessing.

							       18

       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, what-
	      ever   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 deped-
	      ing  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  Con-
	      tinue?"  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 proto-
       cols.   These have to be in the current directory, Seyon's
       default	directory  (~/.seyon),	or   the   user's   home

							       19

       directory. The default script directory is Seyon's default
       directory. All of these files and directories can be over-
       ridden  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  pro-
       vided  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. Permis-
       sion is also granted to modify the source as long  as  the
       modified source is not distributed.

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.

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 sug-
       gestions or bug reports.

       The MultiList widget used  in  the  dialing  directory  is

							       20

       written	by the Free Widget Foundation. You can get it and
       other FWF widgets by ftp from a.cs.uiuc.edu.

							       21

=======================================

   Seyon Copyright (c) 1992-1993 Muhammad M. Saggaf. Seyon has its
   roots in xcomm 2.2.

=======================================

Help: Gives you this help.

Set: Sets the program parameters. Parameters can also be set in the
    startup file, in the directory file, and in a script file.

Dial: Takes you to the dialing directory. Double click on an item to
    choose it. Clicking once highlights the item(s). Once the dialer
    takes over, you can interrupt the dialing or script execution at
    any time by pressing 'Cancel'.

Transfer: Takes you to the transfer console. You can double-click on
    item to choose it and you will be promted for a file name if the
    protocols needs one. Refer to the FAQ for a description of the
    format of the protocols file.

Shell: Accepts a command for to be passed to the shell. If the command
    starts with '$', stdio will be redirected to the modem. You can
    use this to do file transfer as well.

Misc: Takes to some miscelaneous utilities, you can send a break by
    choosing 'Break' under this button. You can also refresh
    (restart) the terminal process by choosing 'Refresh' from here
    this will not restart the terminal window, just the process).

Hangup: Hangs up the modem.

Exit: Exits Seyon.

=======================================

   The name of the Seyon directory is '~/.seyon'. The startup file is
   'startup'. That of the dialing directory is 'phonelist' and that of
   the protocols file is 'protocols'.  These have to be in the
   current, Seyon, or home directoy. Three examples (startup,
   phonelist, and protocols) are included.

=======================================

   Send success stories and bug reports to alsaggaf@mit.edu. If you
   like Seyon, send me email to that effect. This will give me the
   incentive to continue maintaining it.

=======================================

    FREQUENTLY ASKED QUESTIONS:

=======================================

    Warning: Some of the things below are terribly outdated. Tha
    manual page, though, is always up-to-date.

=======================================

Q: I get the messages

>> Warning: could not execute 'seyon-emu'.
>> Warning: falling to 'xterm'.

   when I start Seyon.

A: When Seyon s invoked. It looks first for seyon-emu and uses it as
   the terminal emulator. seyon-emu has to be a link to you favorite
   terminal emulation program (xterm, color xterm, xvt, mterm, Emu,
   cmdtool, ..etc). This allows for more flexibility in choosing the
   terminal emulator. If Seyon doesn't find seyon-emu, it just uses
   xterm as the terminal emulator. This warning is harmless. To get
   rid of it, make seyon-emu a link to xterm.

Q: How do I use the meta (ALT) key with Seyon?

A: If the remote host supports 8-bit-clean communications, you should
   be able to use it automatically (most hosts don't).  Otherwise, you
   can make Seyon send ESC before a character when the meta key is
   pressed with that character.  You can do that in two ways:

   1) Set Meta->ESC translation to on
      using either of the following:
      a) the resource metaKeyTranslation 
      b) from the 'Set' console
      c) in a script: 'set meta_tr on'

   2) if you're using xterm as Seyon's
      terminal emulator, use

      Seyon.vt100.eightBitInput: off

=======================================

Q: When I dial, the modem says CONNECT and I get a Connection Complete
   message. To wake the remote host up, I first hit Enter a few times.
   But the host soon hangs up, apparently seeing a dead line. What's
   wrong?

A: Try setting <nl mode> in the Set console. The Seyon default is to
   send a \n when you press Enter. Many hosts expect a \r; you get
   that when <nl mode> is selected.

   (contributed by Sakari Aaltonen, <sakaria@vipunen.hut.fi>)

   NOTE: starting from version 1.5, the defaults is to enable NL->CR
   translation.

=======================================

Q: In the 'Set' console, which color means that the parameter is
   active?

A: Black means active, otherwise inactive.

=======================================

Q: How do I send an initialization string to my modem.

A: put the command

       transmit "AT(whatever)^M"

   in Seyon's startup file. Most modern modems do not need an
   initialization string though, since they store their setup in
   non-volitile memory.

=======================================

Q: How do I tell the remote host about the size of my terminal window?
   I want the applications to take advantage of the lerger size.

A: If the remote host is a Unix machine (or any other machine that
   supports X-windows), issue the command 'resize' (if that doesn't
   help, try 'eval `resize`'. If the remote host is a BBS, set the
   page length by the appropriate command (e.g. 'p' on a BBS running
   PCBoard).

=======================================

Q: What's this Xdefaults file you keep talking about?

A: It is usually named ~/.Xresources. If that doesn't exist. the
   Xserver uses the file ~/.Xdefaults. Do 'man X' to learn how to
   customize the resources in this file.

=======================================

Q: When I use 'Edit' to edit the phonelist or protocols files, the
   dialing directory and the transfer console do not reflect the
   changes I made, what's wrong?

A: You have to use 'Reread' to update the the dialing directory and
   the transfer console.

=======================================

Q: How do I make sz/rz work?

A: The following is from the readme file included with minicom. I used
   it, and it has always worked for me:

   If you are using a new version if Chuch Forsenberg's zmodem, it is
   possible that it will not run OK in a window. This is because the
   new versions *don't* use stdin and stdout, but without mercy they
   just open /dev/tty. Ai! I changed the following in the file
   "rbsb.c" and now things work allright. You might want to change
   this also.  Here is the particular function I'm talking about:

---------------------------------------
/* Line 336 */
/* Initialize tty device for serial 
   file xfer */
inittty()
{
#ifndef HVM
    Tty = open("/dev/tty", 2);
    if (Tty < 0) {
       perror("/dev/tty");  exit(2);
    }
#else
    Tty = 1;
#endif
    Ttystream = fdopen(Tty, "w");
    setbuf(Ttystream, xXbuf);        
}
---------------------------------------

   And to get the Logging output to the
   screen instead of to /tmp/szlog,
   change the following in sz.c :

---------------------------------------
if (npats < 1 && !Command && !Test) 
    usage();
if (Verbose) {
/* Line 403 of sz.c */
#ifndef HVM
    if (freopen(LOGFILE, "a", stderr)==NULL) {
        printf("Can't open log file %s\n",LOGFILE);
        exit(2);
    }
#endif
    setbuf(stderr, NULL);
}
vfile("%s %s for %s\n", Progname, VERSION, OS);
---------------------------------------

   You might want to change the same in the file "rz.c" also, around
   line 249.  It is now possible to use the -v[vv] flag with rz/sz and
   see the debugging output appear in the status window!

   You have to define 'HVM' to make the change effective, ofcourse!

   NOTE (for Seyon users): Once you have done that, use '$rz -vv' as
   your zmodem command (or '$sz -vv').

=======================================

Q: What are Seyon's configuration files? and where should they be put?

A: Those are 'startup', 'phonelist', and 'protocols'. Seyon looks for
   them in the current directory, then the default Seyon directory
   ('~/.seyon'), and finally in the user's home directory. The names
   of these files as well as that of the default directory can be
   overridden by setting the appropriate resources. Refer to that in
   another answer somewhere in this file.

=======================================

Q: Can I put the scripts somewhere else other than in my home
   directory?

A: Yes, use the resource 

        Seyon.scriptDirectory:

   (default is defaultDirectory). Seyon will look for scripts in the
   current directory, then in the script directory, and finally in the
   user's home directory.

=======================================

Q: I'd like to start a local shell but I don't want to start another
   xterm, can I have a shell in the Seyon's terminal emulation window?

A: Yes, click the 'Shell' button and instead of giving it a usual
   shell command, use the name of your shell (i.e. tcsh, sh, ..etc).
   This will start the shell of your choice in the terminal window.

=======================================

Q: Do I have to specify the BITS and BPS fileds for each entry in the
   phonelist directory?

A: No. Seyon will use the default BPS rate and bit mask if none is
   specified in the phonelist entry.

=======================================

Q: Can I specify an alternate location and name for the help file?

A: You can, but it's highly discouraged unless you have no write
   permission to the default location (determined automatically at
   compile-time). Use the resource

            Seyon.helpFile:

   You have to specify the complete file path and name.

=======================================

Q: Seyon comes up tiny and with overlapping buttons, what's wrong?

A: The app-defaults file must be installed properly or Seyon will not
   function properly. Use 'make install' to install the app-defaults
   file in the proper place and make sure it is installed properly and
   is not corrupt.

=======================================

Q: I get 'killed by siganl 11' when I start seyon.

A: You must be using old versions of libraraies. Test that by using

            ldd seyon-cmd

   This will tell you what libraries you have linked Seyon with. If
   you get anything other than

      /lib/XawVen.so.2.1 (Classic 2.1)
      /lib/libX11.so.2.1 (Classic 2.1)
      /lib/libc.so.4 (Jump table 4.1)

   it's time to upgrade to newer libraries.

   (This question is for linux only, for platforms it may be a bug.
   Report it.)

=======================================

Q: How does the dialer work?

A: Click on an item to toggles it. Once you have selected all the
   items you want, click on 'Go'. The dialer will dial each number
   until a connection is made. once a connection is made, that item is
   unselected automatically. Double-clicking on an item will select
   that item, unselect all others, and dial that item. You can
   interrupt the dialing or the script execution at any time by
   chossing 'Cancel'. 'Can. & hangup' will additionally hangup the
   line.

=======================================

Q: How do use pulse dialing?

A: Use the resources. Set

       Seyon.dialPrefix = ATDP

   There is also another resources, dialSuffix.

=======================================

Q: How can I setup the ZMODEM autodownload feature or disable it?

A: Via the resources. The resource

     Seyon.zmodemAutoDownload: off

   will disable it (default is 'on'). The resource

   Seyon.zmodemAutoDownloadCommand: $cd /usr/dl; rz -vv

   tells Seyon what command to use to for ZMODEM (default is 'rz').
   The format of the command is the same as that of the shell and
   transfer commands.

=======================================

Q: How do I turn off the 'fun' messages or make them less frequent?

A: The resource

           Seyon.showFunMessages: off

   will turn them off (default is 'on'). The resource

        Seyon.funMessagesInterval: 30

   specifies that the messages should appear every 15 seconds (unless
   Seyon has something more important to say, like a real message).
   Default interval is 1 minute.

=======================================

Q: How can tell seyon what port to use?

A: There are two ways to do that:

   1) Specify it in your Xdefaults file, something like:
             
             Seyon.modems: /dev/ttys0

   2) Invoke Seyon by the the switch -modems, e.g.
             
             seyon -modems /dev/ttys0

=======================================

Q: How can I control the bahavior of the terminal emulation winow?

A: You can do that via the resources of the vt100 widget of xterm. he
   following is an example of what you can put in your Xdefaults file:

     Seyon.vt100.foreground: black
     Seyon.vt100.background: white
     Seyon.vt100.geometry: 80x25+50+250
     Seyon.vt100.saveLines: 100
                        .            
                        .
                        .

   Refer to the xterm manual page for the full set of the resources.

=======================================

Q: The resourecs I put in my Xdefaults file do not seem to work, why?

A: You have to use xrdb to load the resourecs or restart your X
   server.  Also, you have to use the class name 'Seyon' and not the
   instance 'seyon' in your Xdefaults file.

=======================================

Q: How shoud the protocols file be formatted?

A: Here is an example:

    regu_zm_dl  "$ cd /dl; rz -vv" n
    "reg zm ul" "$sz -vv"          y
    graphic_zm_dl grz              No
    xrz3D       $cd /dl; xrz"      NO

   The first field is the title of the protocol. You can anything in
   there for your refrence as long as it is either one word or quoted.

   The second field is the actual command that will be executed.
   Again,if the command is more than one word, it has to be quoted.
   Notice how 'cd' is used to have one or more download or upload
   directories. If the command begins with '$', the standard input and
   standard outpt will be redirected to the modem.

   The last field tells Seyon whether it should prompt for a file name
   or not. this field can be either a yes or a no. Normally, you would
   put yes for an upload and no otherwise.

=======================================

Q: How can tell Seyon about the non-standard responses of my modem?

A: Use the following resources:

       Seyon.connectString
       Seyon.noConnectString1
       Seyon.noConnectString2
       Seyon.noConnectString3
       Seyon.noConnectString4

   Refer to what the defaults are for these resources in another
   answer in this file.
       
=======================================

Q: When I choose an item in the dialing direcory or from the transfer
   protocols directory it get highlighted but nothing happens, why?

A: Clicking once on an item only highlightes it. You have to
   double-click on it to choose it. You can highlight multiple items
   in the dialing directory and then click 'Go' to dial them
   (circulate) until a connection is made.

=======================================

Q: How can I control the dialer behavior?

A: Via the following resources:

       Seyon.dialTimeOut
       Seyon.dialDelay
       Seyon.dialRepeat

   Dial timeout is the time given for each try (default is 45
   seconds), dial delay is the time between tries (default is 10
   seconds), and dial repeat is the number of tries Seyon attempts
   before up (default is 5 seconss).

=======================================

Q: How can disable the confirmation popups for hangup and exit?

A: Via the resources hangupConfirm and exitConfirm. Put the following
   in your Xdefaults file:

           Seyon.hangupConfirm: off
           Seyon.exitConfirm: off

=======================================

Q: What do I do if the terminal is stuck?

A: Choose 'Refresh' under the 'Misc' button. This will restart the
   terminal process (not the terminal window).

=======================================

Q: How can I use hardware flow control (RTS/CTS)?

A: Use the rtscts mode. It is enabled by default. You disable it in
   the startup file, in a script, or interactively from the 'Set'
   console.

=======================================

Q: How can I make Seyon send delete instead of backspace?

A: Put the line

       set del "on"

   in the startup file or in the script. or set the parameter
   interactively by the 'Set' button.

=======================================

Q: Can Seyon do ANSI color that most BBS systems use?

A: Yes, but yu have to get color xterm.  Patches for that are on
   export.lcs.mit.edu.

=======================================

Q: Where can I get the latest copy of Seyon?

A: By ftp from sipb.mit.edu at the directory /pub/seyon.

=======================================

Q: How can I help?

A: 1) Send your impression of he program after each upgrade.
   2) Send suggestions for improvement (even the little details).
   3) Send any pretty color customization you do.
   4) If you implement an extra feature, send it to be included in the
      standard release.

=======================================

Q: Where can I send bug reports and suggestions? Where can I get more
   information about the development and use of Seyon? Where can I
   participate in general discussions about Seyon? Where can I get the
   most up-to-date announcements about official and test releases?

A: Join the Seyon channel on the linux-activists mailing list. Send a
   message to

   linux-activists-request@joker.hut.fi

   with the following as one of the headers:

    X-Mn-Admin: join Seyon

   That should do it. To get more information about how to use the
   mailing list and send to it, send a message to the above address
   with the single word 'help' as the subject and the body of the
   message.

=======================================

Q: How can I send bug reports?

A: Use the form included in the file BUGS. If you don't, I cannot
   guarantee that I'm going to look into it. Sending me something like
   'the dialer doesn't work' doesn't tell anything. I have to know
   more.

=======================================

Q: How can I contact the author?

A: Send him (that's me!) email at alsaggaf@mit.edu

=======================================

								   