






                                   X APPEAL

                                 Version 3.1



                                     USER
                                    MANUAL








                               c XTREME s.a.s.


































































                                      2






                          USER LICENSE AGREEMENT FOR
                            THE X APPEAL SOFTWARE
                               BY XTREME S.A.S.


         Read the  following clauses of the license agreement before
         opening  the  envelope containing  the user  disks  of this
         program product. By opening the package you unconditionally
         accept this agreement.
         If  you refuse  to accept the  license conditions,  you can
         return the closed envelope for a refund.

         1. OWNERSHIP
            The  program, including the supporting documentation, is
            the  property and constitutes a  trade secret of Xtreme.
            The customer  does not acquire any title or ownership in
            the  program other  than the  license rights  granted by
            this agreement.

         2. SECURITY
            The   program  is  delivered   to  the   customer  on  a
            confidential  basis;  the  customer  is  responsible for
            taking  all the necessary actions  to avoid unauthorized
            diffusion of  the program to third parties. The customer
            can make copies only for backup purposes.
            The customer is not authorized in any case to modify the
            program,  reverse engineer  it or remove  any trademark,
            copyright  notice, serial  number or customer  name from
            it.

         3. LICENSE
            The  customer has the right to use  a binary copy of the
            program   on  the  licensed  number   of  machines.  The
            concurrent  use of  the program on  a greater  number of
            machines  is not allowed and  constitutes a violation of
            the license agreement.

         4. DISCLAIMER OF WARRANTY AND LIMITATION OF LIABILITY
            Xtreme grants no warranties with respect to the licensed
            program,   and   all   implied   warranties,   including
            merchantability  and fitness for  purpose, are excluded.
            IN  NO   EVENT  SHALL  XTREME  BE  LIABLE  FOR  SPECIAL,
            INDIRECT,  CONSEQUENTIAL OR INCIDENTAL DAMAGES RESULTING
            FROM LOSS  OF USE, DATA OR PROFITS, ARISING OUT OF OR IN
            CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE,
            EVEN  IF XTREME HAS  BEEN ADVISED OF  THE POSSIBILITY OF
            SUCH  DAMAGES; THE MAXIMUM LIABILITY  OF XTREME SHALL BE
            LIMITED TO  REFUND TO THE CUSTOMER THE PRICE PAID BY THE
            CUSTOMER FOR THE PROGRAM.











                                      3






         5. TRANSFER OF THE AGREEMENT
            The   license  granted  by  this   agreement  cannot  be
            transferred or  sublicensed by the customer to any third
            party without the prior written permission of Xtreme.

         6. TERM AND TERMINATION
            The license  will automatically terminate if you fail to
            comply with any term or condition of this agreement. You
            agree  upon  such termination  to  destroy  the licensed
            program  and  all materials  delivered  therewith, along
            with any backup or other copies in your possession.

         7. ENTIRE AGREEMENT
            YOU  ACKNOWLEDGE THAT YOU  HAVE READ  THIS AGREEMENT AND
            UNDERSTAND  IT AND  AGREE TO BE  BOUND BY  ITS TERMS AND
            CONDITIONS.  YOU FURTHER AGREE  THAT IT  IS THE COMPLETE
            AND  EXCLUSIVE  STATEMENT OF  THE  AGREEMENT  BETWEEN US
            WHICH  SUPERSEDES ANY PROPOSAL OR  PRIOR AGREEMENT, ORAL
            OR  WRITTEN,  AND ANY  OTHER  COMMUNICATIONS  BETWEEN US
            RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT.








































                                      4






                                  COPYRIGHT

         X Appeal is a trademark of Xtreme s.a.s.

         X  Appeal  is based  on the  X Window  System,  Version 11,
         Release 6.

                            Portions Copyright by:

                                 X Consortium

                                     and

                                  2001 S.A.
                          Adobe Systems Incorporated
                               AGE Logic, Inc.
                             Gerrit Jan Akkerman
                             Apollo Computer Inc.
                             Apple Computer, Inc
                               Ardent Computer
                                     ATI
                                  AT&T, Inc.
                                 Robert Baron
                                 Don Bennett
                               Bigelow & Holmes
                               Bitstream, Inc.
                Center for Information Technology Integration
                               Cognition Corp.
                               Simon P. Cooper
                                Robin Cutshaw
                         Daewoo Electronics Co.,Ltd.
                           Data General Corporation
                                 David Dawes
                                 Adam de Boor
                        Digital Equipment Corporation
                   Evans & Sutherland Computer Corporation
                               Rickard E. Faith
                           Franz Inc, Berkeley, Ca.
                        Free Software Foundation, Inc.
                               Joseph Friedman
                             Fuji Xerox Co., Ltd.
                     Fujitsu Open Systems Solutions, Inc.
                                Fujitsu, Ltd.
                                Stephen Gildea
                                  Tiago Gons
                          GUI Consortium, CAIR/KAIST
                                H. Hanemaayer
                           Hewlett-Packard Company
                                Alan Hourihane
                               IBM Corporation
                  The Institute of Software, Academia Sinica
                    International Business Machines, Corp.
                              Kaleb S. Keithley
                              William Kucharski
                                 Glenn G. Lai
                                Thomas G. Lane
                            Lexmark International, Inc.
                               Kevin E. Martin


                                      5






                                 Davor Matic
                            Matra Datavision Inc.
                               David McCullough
                                 Larry Medwin
                             Megatek Corporation
                         MIPS Computer Systems, Inc.
                                 Rich Murphe
                    National Computer Graphics Association
                               NCR Corporation
                       Network Computing Devices, Inc.
                  Nippon Telegraph and Telephone Corporation
                           NTT Software Corporation
                          Number Nine Computer Corp.
                                   Hans Oey
                      Oki Technosystems Laboratory, Inc.
                          Olivetti Research Limited
                              OMRON Corporation
                        Open Software Foundation, Inc.
                        O'Reilly and Associates, Inc.
                               Orest Zborowski
                                 Panacea Inc.
                                Pascal Haible
                                Prentice Hall
                          Quarterdeck Office Systems
                                Bill Reynolds
                                 Thomas Roell
                               Dale Schumacher
                        Sequent Computer Systems, Inc.
                              ShoGraphics, Inc.
                      Silicon Graphics Computer Systems
                     Snitily Graphics Consulting Services
                           Solbourne Computer, Inc.
                                Marvin Solomon
                               Sony Corporation
                                     SRI
                             Stanford University
                            Sun Microsystems, Inc.
                                SUNSOFT, INC.
                                Tektronix,Inc.
                        Texas Instruments Incorporated
                                  Jon Tombs
                             TOSHIBA Corporation
                                James Tsillas
                            UniSoft Group Limited
                 The Regents of the University of California
                               University of Toronto
                              UNIX International
                        UNIX System Laboratories, Inc.
                              Vrije Universiteit
                                  Larry Wall
                               David Wexelblat
                           University of Wisconsin
                            Wyse Technology, Inc.
                            X/Open Company Limited






                                      6






         X Appeal version 3.1 interfaces to all SVGA video cards
         using the UniVBE video driver developed by SciTech Software
         and distributed under license.

         The  X Appeal  internal TCP/IP  network layer  is partially
         derived from the free WATTCP networking library code.
         The free  packet driver collection included in the X Appeal
         distribution  is the  latest version available  from Crynwr
         Software.

         The  DOS Extender included in the X  Appeal executable is a
         modified   version   of   GO32,   Copyright   DJ   Delorie;
         redistributed under license.

         X Appeal  is packaged on the install disks using Info-ZIP's
         compression utility. The installation program uses UnZip to
         read  zip files from the disks.   Info-ZIP's software (Zip,
         UnZip and related utilities) is free and can be obtained as
         source  code  or  executables  from  various  anonymous-ftp
         sites,        including        ftp.uu.net,        directory
         /pub/archiving/zip/*.


         MS-DOS  and  Microsoft Windows  are trademark  of Microsoft
         Corporation.

         UNIX is a registered trademark of X-Open.

         All other  product names used in this manual are trademarks
         or registered trademarks of their respective owners.






























                                      7


































































                                      8






                                   CONTENTS


         CHAPTER 1 - INTRODUCTION                               11
             1.1 Features                                       11
             1.2 Documentation                                  12

         CHAPTER 2 - STARTING X APPEAL                          13

         CHAPTER 3 - X APPEAL SYNTAX AND PROGRAMS               15
             3.1 XAPPEAL X SERVERS                              15
             3.2 BDFTOPCF.EXE                                   25
             3.3 MKFNTDIR.EXE                                   27

         CHAPTER 4 - SECURITY                                   29
             4.1 HOST ACCESS                                    29
             4.2 MIT-MAGIC-COOKIE-1                             29

         CHAPTER 5 - USING OF THE RCP AND RSH SERVER FUNCTIONS  31

         CHAPTER 6 - CONFIGURATION FILE PARAMETERS              33
             6.1 Introduction                                   33
             6.2 Configuring Files                              33
             6.3 Configuring Server Flags                       34
             6.4 Configuring Network                            34
             6.5 Configuring Keyboard                           36
             6.6 Configuring Pointer                            37
             6.7 Configuring Monitor                            37
             6.8 Configuring Graphics Device                    39
             6.9 Configuring Screen                             46

         APPENDIX A - THE VIDEO DISPLAY SUBSYSTEM               49

         APPENDIX B - TROUBLESHOOTING                           57

         APPENDIX C - X WINDOW SYSTEM AND CLIENTS               59
























                                      9


































































                                      10






                                  CHAPTER 1
                                 INTRODUCTION


            X Appeal  is a DOS  application developed  for the users
         who  wish to turn their  PC into a X  Window System server.
         With  its   excellent  features  and  performance,  a  true
         workstation environment is available on the PC display.

         1.1 Features

         The main features of X Appeal are:

         -  Full    X11R6   Server   implementation   with   XFree86
            extensions,  including PEX, XIE and  font server support
            (using  a font server  can save a  lot of  disk space on
            each PC running the X Server).

         -  Support for really all SVGA cards, with special features
            like  run-time  resolution switching  and  panning  on a
            bigger  virtual screen  (this allows  full use  of video
            memory even with a low resolution monitor).

         -  Accelerated  versions for  most SVGA chips  with graphic
            coprocessors

         -  Very high graphics performance.

         -  Support for Mono, 256 Colors, HighColor and ThrueColor
            modes.

         -  32  bit  flat mode  execution  environment  with virtual
            memory.

         -  Built-in TCP/IP network support, using packet drivers or
            converters for other driver types.

         -  SLIP and PPP serial connection support to allow use of X
            Appeal  through  modem links.  A fast  modem  (V32bis or
            better)  is  recommended  to  obtain  useful performance
            levels.

         -  Built-in rcp/rsh server, to allow file transfers and the
            execution of  useful DOS functions without leaving the X
            environment.

         -  X  Display  Manager Control  Protocol support  (for easy
            connection to hosts running xdm).

         -  X-Authorization (MIT-MAGIC-COOKIE-1).

         -  Font compiler.

         -  Support for Adobe Type 1 scaleable fonts.

         -  Support for  compressed bitmap fonts; users can compress
            local fonts to save disk space on the PC.



                                      11






         -  Simple   interactive   installation   and  configuration
            utility with context-sensitive help screens.

         -  3-button mouse emulation with a 2-button mouse.

         -  Support  for  mapping all  the  major  national keyboard
            layouts.

         -  A  set  of freeware  networking utilities  to  help with
            setups not using a plain packet driver.

         1.2 Documentation

         A  printable version  of this manual  and of   installation
         manual  is included on disks of  the installation kit, both
         in plain  ASCII text format (XINSTALL.TXT and USER.TXT) and
         in Rich  Text Format (XINSTALL.RTF and USER.RTF). The ASCII
         version  has  no MS-DOS  line-drawing  characters  to allow
         viewing  and  printing on  any  environment;  therefore the
         graphics  information in  the Installation  section showing
         the  appearance  of the  screen when  running  the XINSTALL
         program is missing in this version.






































                                      12






                                  CHAPTER 2
                              STARTING X APPEAL


            To start X Appeal, you have just to run the command:

                   x [host address]

         where  <host address> is the IP address  in dot notation or
         the symbolic name where you want to connect to.

            If  you  select  one  of  the  three  methods  of  XDMCP
         interaction:  direct query, indirect query, broadcast query
         the access  control method used is the "MIT-MAGIC-COOKIE-1"
         for  which see also  the chapter "SECURITY".  In the former
         two  cases a default host address is  included in the X.BAT
         file, and X Appeal can be started by just typing "x".

            If  you   select   the  rexec   startup   method  during
         installation  usually an xterm session  or a window manager
         is  started  using  the rexec  protocol.  Beware  that this
         protocol   sends  unencrypted   login  name   and  password
         information  on the network. Host  based authorization must
         also be enabled, see below.

            After a greeting message and a 5 seconds delay which can
         be stopped by pressing any key, the screen should blank and
         then  display  the  standard  X11  background,  with  the X
         cursor. Then  the xdm login request should appear, awaiting
         user identification (see also the XDM description).

            If no  host on your  network is running  the xdm process
         nor  the rexec demon,  the screen will  display nothing but
         the  stippled background with  the cursor. In  that case an
         old-style method  of running X applications can be used and
         the access control mechanism is the Host Access based one.
            In this case  and when using the  rexec method, you have
         first to statically enable access for the host(s) that will
         run  applications on your X  Server (the IP  address of the
         host(s) to  be enabled must be listed in the X0.HOS file in
         the  same directory where the  X Appeal configuration files
         are  installed, one IP address on each  line). Then you can
         run X  clients from one of the enabled hosts, after setting
         the   DISPLAY  Unix  environment   variable  to  <yourPC>:0
         (<yourPC> being  the IP address or the symbolic name of the
         PC where X Appeal is running).

            By default  the X_SVGA Server  is started  in 8bpp mode;
         other  Servers and/or modes  can be  activated by modifying
         X.BAT  with   the  required  options  (see  Chapter  3  for
         details).









                                      13


































































                                      14






                                  CHAPTER 3
                         X APPEAL SYNTAX AND PROGRAMS


         3.1 XAPPEAL X SERVERS

         XAPPEAL - X Window System server

         SYNOPSIS
         X_MONO [-option ...]
         X_SVGA [-option ...]
         X_S3 [-option ...]
         X_MACH8 [-option ...]
         X_MACH32 [-option ...]
         X_MACH64 [-option ...]
         X_AGX [-option ...]
         X_8514 [-option ...]

         DESCRIPTION

         X  Appeal 3.1  is derived from  XFree86 3.1  and features a
         high level of compatibility with Unix; the package includes
         a collection of X servers for various video cards:

           X_MONO
              is  a 1-bit StaticGray X server for  VGA and  SuperVGA
              cards.
              It  supports generic VGA cards  with a maximum virtual
              resolution of (approximately) 800x650.
              On  supported SVGA  chipsets, X_Mono will  use up   to
              1/4 of  display memory, which yields a maximum virtual
              resolution  of (approximately)  1664x1260 with  1MB of
              display   memory.     X_Mono  does  not   support  the
              accelerated functions of the supported chipsets.

           X_SVGA
              is an 8-bit PseudoColor,  16-bit  TrueColor  and 24-
              bit TrueColor  X server  for  Super-VGA  cards.
              16-bit    and   24-bit   TrueColor  is  currently only
              supported for some chips.

           X_S3
              is  an   8-bit  PseudoColor,  16-bit TrueColor and 24-
              bit  TrueColor  X server  for  S3  graphic accelerator
              cards.  Note,    16-bit and  24-bit  operation  is not
              supported on all S3 accelerator cards.
              Virtual  resolutions up  to (approximately)   1152x800
              are  supported, when  using   (up  to) 1Mb  of display
              memory (the  S3 uses an internal  width of 1280 except
              for  new revisions of   some  of the  chips, hence 1Mb
              can't support 1152x900).
              Physical  resolutions  up to  1280x1024  (1600x1280 on
              some cards) are possible  using 2Mb or more of display
              memory (virtual  resolution is dependent solely on the
              amount  of memory installed, with  the maximum virtual
              width being 2048, and max virtual height being 4096).




                                      15






           X_MACH8
              is an 8-bit PseudoColor X Server for ATI Mach8
              graphics accelerator cards. The maximum virtual width
              is 1024.

           X_MACH32
              is an 8-bit  PseudoColor and 16-bit TrueColor X server
              for ATI Mach32 graphic accelerator cards. Note, 16-bit
              operation is not  supported on all Mach32  accelerator
              cards.
              The  maximum virtual  width  is 1536  and  the maximum
              virtual height is 1280.

           X_MACH64
              is an  8-bit PseudoColor, 16-bit TrueColor, and 24-bit
              TrueColor X  server for ATI Mach64 graphic accelerator
              cards.  Note,  16-bit  and  24-bit  operation  is  not
              supported  for  all  RAMDACs.

           X_AGX
              is   an   8-bit  PseudoColor   and  16-bit TrueColor X
              server for AGX/XGA graphic accelerator cards.
              For  the  AGX  chips,  maximum resolution depends upon
              the  chip revision  and   amount of  available display
              memory.  See   _Virtual_  in  the  configuration  file
              description (Chap. 6.9).


           X_8514
              is   an   8-bit   PseudoColor  X server   for   8514/A
              cards. The maximum resolution is 1024x768.


         NETWORK CONNECTIONS
            The  X  server  supports   connections  made  using  the
         following reliable byte-streams:

         1) TCP/IP
            The  server  listens on  port  6000+n,  where  n  is the
         display number.

         2) Serial Connection
            SLIP  and  PPP  serial  connections are  now  supported,
         allowing the use of X Appeal through modem links. (See also
         the CONFIGURATION  FILE PARAMETERS chapter for more details
         on configuration parameters).

         OPTIONS
         The  XAPPEAL  server  accepts  the  following  command line
         options:

         -a number
              sets pointer acceleration  (i.e. the ratio of how much
              is  reported to how  much the user  actually moved the
              pointer).





                                      16






         -ac
              disables host-based access control mechanism.
              Enables access by  any host and permits host to modify
              the access control list

         -audit level
             Sets  the audit trail level.   The default  level is 1,
             meaning only  connection rejections are reported. Level
             2  additionally reports all  successful connections and
             disconnects.  Level 0 turns off  the audit trail. Audit
             lines  are  sent to the XAPPEAL.LOG file located in the
             configuration directory.


         -auth authorization-file
              Specifies  a  file  which  contains  a  collection  of
              authorization   records  that   the  server   uses  to
              authenticate access when started with this option. (If
              the access control  mechanism is the host based one it
              is not useful). See also Xsecurity section.

         bc
              disables  certain  kinds of  error  checking,  for bug
              compatibility  with previous  releases (e.g.,  to work
              around  bugs  in  R2  and  R3  xterms  and  toolkits).
              Deprecated.

         -bpp n
              Set  number of bits  per pixel.   The default   is  8.
              Legal   values   are   8,   16, 32.   Not  all servers
              support all values.

         -bs
              disables backing store support on all screens.

         -cc class
              sets  the visual  class for the  root window  of color
              screens. The  class numbers are as  specified in the X
              protocol. Not obeyed by all servers.

         -co filename
              sets name of  RGB color database.

         -config  filename
              reads more options from the given file. Options in the
              file may be separated by newlines if desired. The '#'
              character is the comment symbol.

         -dpi resolution
              sets the  resolution of the screen,  in dots per inch.
              To be used when the server cannot determine the screen
              size from the hardware.








                                      17






         -deferglyphs whichfonts
              specifies   the  types of fonts  for which  the server
              should   attempt  to   use  deferred   glyph  loading.
              whichfonts   can   be   all  (all  fonts),   none  (no
              fonts), or 16 (16 bit fonts only).

         -fc cursorFont
              sets default cursor font.

         -fn font
              sets the default font.

         -fp fontPath
              sets the  search path for fonts. This  path is a comma
              separated  list  of  directories  which  the  X server
              searches for font databases.

         -gamma value
              Set the gamma correction.  value must  be  between 0.1
              and  10. The   default  is  1.0 This  value is applied
              equally  to the  R, G  and B  values. Not  all servers
              support this.

         -rgamma value
              Set   the   red   gamma   correction.  value   must be
              between 0.1  and 10.  The  default is  1.0.   Not  all
              servers support this.

         -ggamma value
              Set   the   green  gamma   correction.   value must be
              between 0.1  and 10.  The  default is  1.0.   Not  all
              servers support this.

         -bgamma value
              Set   the  blue   gamma   correction.    value must be
              between 0.1  and 10.  The  default is  1.0.   Not  all
              servers support this.

         -help
              prints a usage message.

         -I
              causes  all remaining command line arguments to be
         ignored.

          -kb
              disables the XKEYBOARD extension if present.

          -p minutes
                   sets screen-saver pattern cycle time in minutes.

         -probeonly
               Causes  the server to  exit after  the device probing
              stage.   The XAPPEAL.CFG file   is  still   used  when
              this   option   is given,  so information  that can be
              auto-detected should be commented out.




                                      18






         -quiet
              Suppress most informational messages at startup.

         -r
              turns off auto-repeat.

         r
              turns on auto-repeat.

         -showconfig
              Print  out  a list of screen drivers configured in the
              server.   This  is   useful   to  log   your  hardware
              configuration in the XAPPEAL.LOG file.

         -s minutes
              sets screen-saver time-out time in minutes.

         -su
              disables save under support on all screens.

         -terminate
              causes  the  server  to terminate at server reset,
              instead of continuing to run.

         -t number
              sets   pointer   acceleration   threshold   in  pixels
              (i.e.after how many pixels pointer acceleration should
              take effect).

         -to seconds
              sets default connection time-out in seconds.

         -verbose
              Maximize information printed at startup  (this  is the
              default).

         -weight nnn
              Set  RGB weighting at  16 bpp.   The default  is  565.
              This applies   only to those  servers which support 16
              bpp.

         -wm
              forces  the  default backing-store  of all  windows to
              beWhenMapped;  a cheap  trick way of  getting backing-
              store to apply to all windows.
              Although  all   mapped    windows   will  have backing
              store,  the backing store  attribute   value  reported
              by   the server  for a window  will be  the last value
              established by a client. If it has never been set by a
              client,   the  server will  report the  default value,
              NotUseful.    This behavior  is required   by    the X
              protocol,   which   allows   the server  to exceed the
              client's  backing  store expectations  but    does not
              provide  a way to tell the client that it is doing so.






                                      19






         -x extension
              extension loads  the specified extension at init. This
              is no-op for most implementations.

         -xfconfig file
              Read   the    server   configuration   from  file. The
              default is XAPPEAL.CFG.


            You can  have the  XAPPEAL server  connect to  xdm using
         XDMCP.  For more  information on this  protocol, see  the X
         Display   Manager   Control  Protocol   specification.  The
         following options control the behavior of XDMCP.

         -query host-name
              Enable  XDMCP and send Query  packets to the specified
              host.

         -broadcast
              Enable  XDMCP and broadcast  BroadcastQuery packets to
              the network. The first responding display manager will
              be chosen for the session. This is the default.

         -indirect host-name
              Enable  XDMCP and  send  IndirectQuery packets  to the
              specified host.

         -class display-class
              XDMCP  has  an additional  display  qualifier  used in
              resource  lookup  for  display-specific  options. This
              option sets that value, by default it is "X-Appeal".

         -cookie xdm-auth-bits
              When testing XDM-AUTHENTICATION-1 a private key is
              shared between the server and the manager. This option
              sets the value of that private data.

         -displayID display-id
              Yet another XDMCP  specific value, this one allows the
              display  manager to identify  each display  so that it
              can locate the shared key.


            Alternatively, when not using  XDMCP, the rexec protocol
         can be selected with the following option:

         -rexec host-name
              select the REXEC startup method, sending the request
              to the specified host.




         KEYBOARD
            Multiple keypresses recognized directly by X Appeal are:





                                      20






         Ctrl+Alt+Backspace
              Immediately   kills   the  server   --   no  questions
              asked.  (Can  be disabled by  specifying  "DontZap" in
              the ServerFlags  section  of  the  XAPPEAL.CFG file.)

         Ctrl+Alt+Keypad-9 (PgUp)
              Change  video mode to  next  one   specified   in  the
              configuration    file,   (increasing  video resolution
              order).

         Ctrl+Alt+Keypad-3 (PgDown)
              Change  video mode  to previous  one specified  in the
              configuration    file,   (decreasing  video resolution
              order).


            X Appeal uses a  configuration file  called  XAPPEAL.CFG
         for   its  initial  setup.  Refer to the CONFIGURATION FILE
         PARAMETERS chapter for more information.









































                                      21






         FONTS
            Fonts  are   usually  stored  as   individual  files  in
         directories. The X server can obtain fonts from directories
         and/or from  font servers. The list of directories and font
         servers  the X server  uses when trying  to open  a font is
         controlled  by the  font path. Although  most installations
         will  choose  to  have  the  X  server  start  up  with the
         appropriate font path (using the -fp option mentioned above
         or  the  Fontpath  directive  in  XAPPEAL.CFG),  it  can be
         overridden using the xset program.
            The default font path for the X server contains a list
         of directories:

         <your_base_directory>/fonts/misc
            This directory contains  many miscellaneous bitmap fonts
         that  are useful  on all systems.  It contains  a family of
         fixed-width fonts,  a family of fixed-width fonts from Dale
         Schumacher,   optionally  several  Kana   fonts  from  Sony
         Corporation,  the  standard cursor  font, two  cursor fonts
         from  Digital Equipment  Corporation, and cursor  and glyph
         fonts from  Sun Microsystems. It also has various font name
         aliases for the fonts, including fixed and variable.

         <your_base_directory>/fonts/Speedo
            This directory  contains  outline fonts  for Bitstream's
         Speedo  rasterizer. A  single font  face, in  normal, bold,
         italic,  and  bold  italic,  is  provided,  contributed  by
         Bitstream, Inc.

         <your_base_directory>/fonts/Type1
            This directory contains  outline fonts for  Adobe Type 1
         rasterizer.  A single font  face, in  normal, bold, italic,
         and bold italic, is provided, contributed by IBM Corp.

         <your_base_directory/fonts>/75dpi
            This  directory  contains  bitmap  fonts contributed  by
         Adobe   Systems,   Inc.,  Digital   Equipment  Corporation,
         Bitstream, Inc.,  Bigelow and Holmes, and Sun Microsystems,
         Inc. for 75 dots per inch displays. An integrated selection
         of sizes, styles, and weights are provided for each family.

         <your_base_directory>/fonts/100dpi
             This directory contains  100 dots per  inch versions of
         the  fonts in the 75dpi directory. It  is useful when using
         high-resolution displays.

             Font databases  are  created by  running  the mkfnntdir
         program  in the directory containing  the compiled versions
         of the  fonts (the .pcf files). Whenever fonts are added to
         a  directory, mkfnntdir should be rerun  so that the server
         can find the new fonts. If mkfnntdir is not run, the server
         will not be able to find any fonts in the directory.

         FILES
         <your_configuration_directory>/X0.HOS   Initial access
                                        control list (not created by
                                        default)
         <your_base_directory>/fonts/100dpi,     |


                                      22






         <your_base_directory>/fonts/misc,  > Bitmap font
         directories
         <your_base_directory>/fonts/75dpi, |
         <your_base_directory>/fonts/Speedo,     Outline font
         directories
         <your_base_directory>/fonts/Type1, Outline font directories
         <your_base_directory>/fonts/Pex,   Pex font directories
         <your_base_directory>/fonts/RGB.TXT,    color database
         <your_configuration_directory>/HOSTS,   host data base (not
         created by default)
         <your_configuration_directory>/RHOSTS,  remote host data
                                        base to enable access for
                                        rcp and rsh (not created by
                                        default).
         <your_configuration_directory>/XAPPEAL.CFG, configuration
         file
         <your_configuration_directory>/XAPPEAL.LOG, log file
         generated during execution.










































                                      23


































































                                      24






         3.2 BDFTOPCF.EXE

            Convert X  font  from Bitmap  Distribution   Format   to
         Portable Compiled Format.


         SYNOPSIS
         bdftopcf  [ -pn ] [ -un ] [ -m ] [ -l ] [ -M ] [ -L ]
                [  -t ] [ -i ] [ -o outputfile ] fontfile.bdf

         DESCRIPTION
            Bdftopcf  is   a  font   compiler  for  the X server and
         font server.   Fonts in  Portable Compiled  Format  can  be
         read  by any architecture, although  the file is structured
         to  allow  one particular    architecture to    read   them
         directly   without reformatting.   This allows fast reading
         on  the  appropriate  machine,  but  the  files  are  still
         portable (but read more slowly) on other machines.

         OPTIONS
         -pn  Sets  the font glyph  padding. Each glyph  in the font
              will  have each scanline padded in to  a multiple of n
              bytes, where n is 1, 2, 4 or 8.

         -un  Sets the  font scanline  unit.   When   the  font  bit
              order   is  different  from   the font byte order, the
              scanline unit  n describes  what  unit   of  data  (in
              bytes)  are to be swapped; the unit i can be 1, 2 or 4
              bytes.

         -m   Sets  the font bit order  to   MSB  (most  significant
              bit)   first.  Bits  for each glyph will  be placed in
              this order;  i.e. the left most bit on the screen will
              be in the highest valued bit in each unit.

         -l   Sets the font bit order to LSB (least significant bit)
              first.  The left most bit on the screen will be in the
              lowest valued bit in each unit.

         -M   Sets  the font byte order to  MSB first. All multibyte
              data  in the  file (metrics,  bitmaps and  every thing
              else) will be written most significant  byte first.

         -L   Sets  the font byte order to  LSB first. All multibyte
              data  in  the file  (metrics,  bitmaps  and everything
              else) will be written least significant  byte first.

         -t   When  this option is specified,  bdftopcf will convert
              fonts into "terminal" fonts when possible.  A terminal
              font has each glyph image  padded  to  the  same size;
              the  X server can usually render  these types of fonts
              more quickly.








                                      25






         -i   This  option inhibits the normal computation   of  ink
              metrics.  When a  font has glyph  images which  do not
              fill  the bitmap  image   (i.e. the  "on" pixels don't
              extend to the edges of the metrics)  bdftopcf computes
              the  actual ink  metrics and places  them in  the .pcf
              file; the -t option inhibits this behavior.

         -o <output-file-name>
              By  default bdftopcf writes  the pcf  file to standard
              output;  this option  gives the name  of a  file to be
              used instead.

















































                                      26






         3.3 MKFNTDIR.EXE

            mkfntdir, fonts.dir,  fonts.scale, fonts.alias  - create
         an index of X font files in a directory.

         SYNOPSIS
         mkfntdir [directory-names]

         DESCRIPTION
            For each  directory argument,  mkfntdir   reads   all of
         the  font files in  the directory  searching for properties
         named  "FONT",  or  (failing that)  the  name  of  the file
         stripped  of its suffix. These are  converted to lower case
         and  used as font names  which are written out  to the file
         "fonts.dir"   in  the  directory along with the name of the
         font  file. The X server  and font server   use _fonts.dir"
         to  find  font files.

            The kinds  of  font files  read by  mkfntdir  depends on
         configuration   parameters,  but   typically   include  PCF
         (suffix  ".pcf"),  SNF  (suffix  ".snf")  and  BDF  (suffix
         ".bdf").  If a  font exists  in multiple  formats, mkfntdir
         will first choose PCF, then SNF and finally BDF.

            The  first  line of  fonts.dir gives the number of fonts
         in   the  file.    The  remaining   lines  list  the  fonts
         themselves, one   per  line,  in  two fields.  First is the
         name of  the font file, followed by a space and the name of
         the font.

         SCALEABLE FONTS
            Because scaleable font files  do not usually include the
         X font  name, the file "fonts.sca" can be edited by hand to
         include  the appropriate entries for  those scaleable fonts
         in the directory.  The fonts listed  in  it are  copied  to
         fonts.dir by mkfontdir.  "fonts.sca" has the same format as
         the "fonts.dir" file.

         FONT NAME ALIASES
            The file "fonts.ali"  which can be put  in any directory
         of  the  font-path  is   used to map  new names to existing
         fonts,  and  should  be edited  by  hand.    The  format is
         straight   forward    enough,   two   white-space separated
         columns,  the  first  containing  aliases  and  the  second
         containing font-name  patterns.
            Lines  beginning   with  "!"   are  comment   lines  and
         are ignored.

            If neither  the alias nor   the   value   specifies  the
         size fields of the font name, this is a scaleable alias.  A
         font  name  of any  size that  matches this  alias  will be
         mapped to the same size of the font that the alias resolves
         to.

            When a  font alias  is used, the  name it  references is
         search  for   in  the  normal manner,  looking through each
         font  directory in turn.  This means that  the aliases need
         not  mention fonts in the same directory as the alias file.


                                      27






            To embed white-space in either name, simply enclose them
         in double-quote  marks,  to  embed  double-quote  marks (or
         any other character), precede them with back-slash: "magic-
         alias with spaces"  "\"font\name\" with quotes"   regular-
         alias     fixed.
            If the  string  "FILE_NAMES_ALIASES" stands  alone  on a
         line,  each  file-name  in the  directory (stripped of it's
         suffix) will be used as an alias for that font.

         FILES

           fonts.dir    List  of  fonts   in  the  directory and the
                        files  they  are   stored  in.   Created  by
                        mkfontdir.   Read   by the X server and font
                        server each time the  font path is set  (see
                        xset(1)).

           fonts.sca    List  of  scaleable  fonts in the directory.
                        Contents   are   copied   to   fonts.dir  by
                        mkfontdir.

           fonts.ali    List  of  font  name aliases.  Read by the X
                        server and font server  each time  the  font
                        path is set (see xset(1)).


         USAGE
            The  X server  looks  for  "fonts.dir",  "fonts.sca" and
         "fonts.ali"  files in each directory in  the font path each
         time it is set.






























                                      28






                                  CHAPTER 4
                                   SECURITY


            X  servers  provide  mechanisms  for  implementing  many
         access control systems.
            X Appeal includes two mechanisms:

              -    HOST ACCESS
              -    MIT-MAGIC-COOKIE-1


         4.1 HOST ACCESS

            The X  server can use  a host-based  access control list
         for  deciding  whether or  not to  accept  connections from
         clients on  a particular machine. If no other authorization
         mechanism  is being used,  this list  initially consists of
         the       machines       listed      in       the      file
         <your_configuration_directory>/X0.HOS.  Each  line  of  the
         file  should  contain  either  an  Internet  hostname (e.g.
         expo.lcs.mit.edu)  or IP address (e.g. 192.47.65.23). There
         should be no leading or trailing spaces on any lines.
            For example:

              joesworkstation
              corporate.company.com
              192.77.21.50

            Users can add or remove  hosts from this list and enable
         or disable  access control using the xhost command from one
         of the already enabled hosts.
            Any client on a host in  the host access control list is
         allowed access  to the X Server. When using the more secure
         mechanism   listed  below,   the  host  list   is  normally
         configured  to be the  empty list, so  that only authorized
         programs can connect to the display.

         4.2 MIT-MAGIC-COOKIE-1

            When using the MIT-MAGIC-COOKIE-1 protocol, private data
         is  used to  authorize clients  and the  server. This  is a
         rather  trivial scheme; if the  client passes authorization
         data  which is the  same as the  server has,  it is allowed
         access.  XDM  generates such  "cookies"  automatically when
         this form of access control is used, and passes them to the
         server for  each new login session while storing the user's
         copy  of the cookie at login in  a special file .Xauthority
         (generally  in the home  directory) which only  the user is
         allowed to read.
            The  .Xauthority files  can  be merged  using  the xauth
         program,  so if you need access to  another server which is
         Xauth-secured,  just  add its  cookies to  your .Xauthority
         file.






                                      29






            Each  entry  in  .Xauthority  file  matches  the  TCP/IP
         connection family and X display name, and the xauth program
         manipulates   its   format   understanding   the   specific
         semantics,  the address formats  and displaying  them in an
         easy to  understand way. If you switch machines you have to
         create  a  new  .Xauthority file,  since  the  name  of the
         machine  the   server  is  on  is  part  of  the  authority
         mechanism; this is how it knows which cookie to send to the
         server it is connecting to.

            This scheme is worse  than the host-based access control
         mechanisms  in  environments with  unsecure networks  as it
         allows  any host to  connect, given that  it has discovered
         the  private key (the cookie is  transmitted on the network
         without  encryption). But in many  environments, this level
         of  security is  better  than the  host-based scheme  as it
         allows access control per-user instead of per-host.

            Normally the  list of  hosts from which  connections are
         always accepted should be empty, so that only clients which
         are explicitly  authorized can connect to the display. When
         you add  entries to the host list (with the xhost command),
         the   server  no  longer  performs   any  authorization  on
         connections  from those  machines. In  fact the  X protocol
         intrinsically does  not have any notion of window operation
         permissions or  place any restrictions on what a client can
         do;  if a  program can connect  to a  display, it  has full
         control of the screen.
































                                      30






                                  CHAPTER 5
                   USING  THE RCP AND RSH SERVER FUNCTIONS


            The rcp and rsh server functions are enabled by creating
         a   file  named  RHOSTS  in   the  X  Appeal  configuration
         directory,  containing the host name and  login name of the
         users  which  are  enabled  to  access  the  functions (for
         security  reasons these functions are  disabled if the file
         does  not exist). The format of the  file is the same found
         on  Unix; a '+'  character in a  field enables unrestricted
         access  (See   Installation  manual  Chap.  3.17  for  more
         details).

            When these functions are  enabled, the user can transfer
         files  between the  PC and the  host in  both directions by
         using the rcp command.
            The rsh  command can also  be used to  execute an useful
         subset  of DOS functions, by  simulating the following Unix
         commands:

             pwd   display the PC current directory
             cd    change the PC current directory
             rm    remove a file from the PC
             mv    rename a file on the PC
             lp    send rsh standard input to the PC printer
             ls    list the PC files.

         The following options are recognized by the lp command:

             -2    use LPT2 instead of LPT1
             -n    translate end-of-line (LF  --> CR-LF)

         The following options are recognized by the ls command:

             -1    list in one column format
             -F    mark directories  with a trailing '\', executable
                   files with a trailing '*' and system files with a
                   trailing '@'
             -P    display the directory name before listing
             -S    sort by file size
             -a    list all files including hidden and system
             -d    list directories as normal files
             -f    list unsorted,  in the order files  appear in the
                   directory
             -l    list in long format
             -r    reverse sort order
             -s    list file size in kilobytes
             -t    sort by time

            The rm command  can only remove  a file at  a time (this
         limitation  has   the  purpose  to  limit  accidental  file
         deletions on the PC).
            The mv command can move files between directories on the
         same DOS disk, but not between different disks.
            Remember to  use the  symbolic  name of  your PC,  as it
         appears  in your host database, as argument  of the rcp and



                                      31






         rsh commands (the same as the DISPLAY environment variable,
         without the trailing ':0').
            The directory separator for  the rcp and rsh commands is
         '/'.

            Some usage examples follow:

              rsh <yourPC> pwd
                   show your PC current directory

              rcp unixfile <yourPC>:dosfile
                   copy  unixfile  to  dosfile  on  the  PC  current
         directory

              rcp <yourPC>:dosfile unixfile
                   copy  dosfile  on  the  PC  current  directory to
         unixfile

              rsh <yourPC> ls -l
                   list  the files  on the  PC current  directory in
         long format

              cat unixfile | rsh <yourPC> lp
                   print  a file  resident on the  unix host  on the
         printer connected to the PC

            The usage of the rcp and rsh commands can be made easier
         by setting some shell aliases.
































                                      32






                                  CHAPTER 6
                        CONFIGURATION FILE PARAMETERS


         6.1 Introduction

            X Appeal  uses a  configuration file  called XAPPEAL.CFG
         for its  initial setup. This configuration file is searched
         for  in the  X Appeal  installation directory;  the XAPPEAL
         environment variable can specify alternate location.


         This  file  is  composed  of  a  number  of  sections. Each
         section has the form:

                 Section "SectionName"
                 SectionEntry
                        ...
                 EndSection

         The section names are:

                 Files       (File pathnames)
                 ServerFlags (Server flags)
                 Network     (Network configuration)
                 Keyboard    (Keyboard configuration)
                 Pointer     (Pointing device configuration)
                 Monitor     (Monitor description)
                 Device      (Graphics device description)
                 Screen      (Screen configuration)

         6.2 Configuring Files

            The Files  section is used  to specify  the default font
         path and the path to the RGB database. These paths can also
         be  set from  the command line  (see X  Appeal command line
         options).

            The entries available for this section are:

         FontPath "path"
              sets the  search path for fonts. This  path is a comma
              separated list  of directories which X Appeal searches
              for  font databases. Multiple FontPath  entries may be
              specified,  and they will be  concatenated to build up
              the fontpath used by the server.

              X Appeal can  request fonts from a font server. A font
              server      is     specified      by     placing     a
              "<trans>/<hostname>:<port_number>"   entry   into  the
              fontpath. For example, the fontpath:
              "c:/xappeal3/fonts/misc/,tcp/zok:7100"
              tells the X server to first try to locate the fonts in
              the local directory c:/xappeal3/fonts/misc.
              If  that fails,  then it requests  the fonts  from the
              font  server  running  on  machine  zok  listening for
              connections on TCP port number 7100.



                                      33






         RGBPath "path"
              sets the path name for the RGB color database.


         6.3 Configuring Server Flags

            The  ServerFlags   section  is  used   to  specify  some
         miscellaneous  X  Appeal options.  In this  version  of the
         product the entries available for this section are:

         DontZap
              This  disallows  the  use  of  the  Ctrl+Alt+Backspace
              sequence. This sequence  allows you to terminate the X
              server. Setting DontZap allows this key sequence to be
              passed  to clients  (in  this case  the X  server runs
              forever).

         DontZoom
              This  disallows the  use of the  Ctrl+Alt+Keypad-9 and
              Ctrl+Alt+Keypad-3 sequences. These sequences allow you
              to switch between video modes. Setting DontZoom allows
              these key sequences to be passed to clients.


         6.4 Configuring Network

            The Network section is used to specify the network layer
         parameters. The entries available for this section are:

         MyIP       "Ip_address"
              This  entry is mandatory and  specifies the IP address
              of  the  PC  where X  Appeal  will  be  executed. Each
              machine (including X servers) on a network must have a
              unique  IP address. You  should get  this address from
              your network administrator.
              The IP address must be inserted in dotted form:

                   AAA.BBB.CCC.DDD (i.e.:  192.34.1.24).

              The special value _bootp_ can be entered to select the
              use of a bootp server.

         Netmask    "net_mask"
              This entry is mandatory and set the Netmsak.
              If  your network is divided into  subnets, you need to
              specify  the right subnet  mask for  your local subnet
              (also called simply a Netmask).
              If   your network is not divided in this way, then you
              need to  specify the right subnet mask for the network
              class  you are using. You  should get this information
              from your network administrator.









                                      34






              The Netmask must be inserted in dotted form:

                   AAA.BBB.CCC.DDD (i.e.:  255.255.255.0).

         Gateway  "Ip_address"
              If  your network uses one or  more gateways to connect
              it with other networks, the X server needs to know the
              address  of a gateway to communicate  out of the local
              network. If  you don't have a gateway, don't configure
              any address.
              The Gateway address must be inserted in dotted form:

                   AAA.BBB.CCC.DDD (i.e.:  192.34.1.3).


         SockDelay  delay
              This  optional  parameter set  the time-out  value for
              network  connections before  a time-out  error occurs.
              For  example,  the maximum  response time  to  an open
              request  before the connection  is given  up should be
              reasonably  long so that distant  connections will  be
              usable,  but  short  enough  that  the  user  will not
              believe the computer has hung.
              The  default value is  30 seconds. A  smaller value is
              unwise,  but  larger values     may  be  necessary for
              particularly bad connections.

         Mss   size
              This optional parameter can be used to set the Maximum
              Segment  Size for the Network card  or serial port you
              are  using. The default value is  1400; some old cards
              and  SLIP  or PPP  connections may  require  a smaller
              value.

         NameServer  "Ip_address"
              This  parameter is optional. You  can use a Nameserver
              to  translate a logical host name  into an IP address.
              If you do not want to use a nameserver, do not specify
              this  parameter,  otherwise  insert  the  Name  Server
              address in dotted form:
                   AAA.BBB.CCC.DDD (i.e.:  192.34.1.1).

         DomainsList  "list"
              This is the comma-separated list of the Domain names
              that can be used when querying a Domain Name Server
              for the name-to-address translation.
                   i.e.: domainslist="university.edu,socety.com"

         Domto  time_out
              This  optional parameter  set the  Time Out  value, in
              seconds, for  the answer from the Domain Name Server .
              The default value is 120.

         Bootpto  time_out
              This  optional parameter  set the  Time Out  value, in
              seconds,  for the  answer from  the BOOTP  server. The
              default value is 30.



                                      35






         Rexec  "command"
              Set  the startup command that the X  server will send,
              when  using the REXEC protocol, to the  remote host to
              start an X session. For example:

               /usr/X11/bin/xterm -ls -display 192.192.192.192

         PktInt  int_vect
              This  optional  parameter sets  a  particular software
              interrupt vector for the packet driver interface.
              If this  parameter is omitted, a search is done at the
              startup  of the  Server, and  the first  packet driver
              found  is used. If  you choose a  particular value you
              could  have  problems if  the  value  selected doesn't
              match the interrupt vector installed.


         6.5 Configuring Keyboard

            The Keyboard  section  is used  to specify  the keyboard
         parameters and  some  keyboard mapping options. The entries
         available for this section are:

         ServerNumLock
              forces  the  X   server  to  handle  the  numlock  key
              internally.  The X  server  sends a  different  set of
              keycodes  for  the  numpad  when  the  numlock  key is
              active.  This enables applications to  make use of the
              numpad.

         Layout  "code"
              specifies  the  national  keyboard  layout;  code  can
              assume one of the following values:

              BE   Belgian
              CF   Canadian French
              DK   Danish
              FR   French
              GR   German
              IT   Italian
              NL   Dutch
              NO   Norwegian
              PO   Portuguese
              SF   Swiss French
              SG   Swiss German
              SP   Spanish
              SU   Finnish
              UK   U.K. English
              US   U.S. English

         LeftAlt  mapping
         RightAlt mapping
         AltGr    mapping
         ScrollLock     mapping
         RightCtl mapping
              Allows a  default mapping to be set for the above keys
              (note that AltGr is a synonym for  RightAlt).
              The values that may be specified for mapping are:


                                      36







                 Meta
                 Compose
                 ModeShift
                 ScrollLock
                 Control

              The  default mapping  when none  of these  options are
              specified is:

                 LeftAlt     Meta
                 RightAlt    Meta
                 ScrollLock  Compose
                 RightCtl    Control

         6.6 Configuring Pointer

            The  Pointer section  is  used to  specify  the pointing
         device  parameters. The entries available  for this section
         are:


         Emulate3Buttons
              enables  the emulation of  the third  mouse button for
              mice which only have two physical buttons.
              The third button  is emulated by pressing both buttons
              simultaneously.

         Emulate3Timeout timeout
              sets the time  (in milliseconds) that the server waits
              before   deciding   if   two   buttons   were  pressed
              _simultaneously_  when 3 button  emulation is enabled.
              The default timeout is 50 ms.


         6.7 Configuring Monitor

            The   Monitor   sections   are   used  to   define   the
         specifications  of  a monitor  and  a list  of  video modes
         suitable  for use  with  a monitor.  More than  one Monitor
         section may  be present in an XAPPEAL.CFG file. The entries
         available for this section are:

         Identifier "ID string"
              This  specifies a string  by which the  monitor can be
              referred  to in a  later Screen  section. Each Monitor
              section should have a unique ID string.

         Mode "name"
              indicates  the   start  of  a  multi-line  video  mode
              description. The  mode description  is terminated with
              an  EndMode line.  This entry  is used  by the  SVGA X
              Server and by the Mono X Server; all the accelerated X
              Servers  use the Modeline entry.  The mode description
              consists of the following entries:

              HTimings hdisp



                                      37






                   hdisp  specifies the  horizontal timings  for the
              mode (i. e. 640).

              VTimings vdisp
                   vdisp specifies  the vertical timing for the mode
              (i.e. 480).

         Modeline "name" mode-description
              is  a single line  format for  specifying video modes.
              This  entry is used  by all the  accelerated X Servers
              instead  of the Mode  entry, and it  is mandatory. The
              mode-description is  in four sections, the first three
              of which are mandatory.
              - the first is the pixel clock or dot clock. This is a
                single number  specifying the  pixel clock  rate for
                the mode. It must correspond to  one of those listed
                in the clocks entry of the Device Section.
              -  the  second   section  is a  list  of  four numbers
                specifying the  horizontal timings;    these numbers
                are the hdisp, hsyncstart, hsyncend, htotal.
              -  the  third  section  is  a  list  of  four  numbers
                specifying the vertical  timings, these  numbers are
                vdisp, vsyncstart, vsyncend, vtotal.
              -  the final  section  is a  list of  flags specifying
                other  characteristics   of   the   mode.  Interlace
                indicates that  the mode  is  interlaced. DoubleScan
                indicates a  mode  where each  scanline  is doubled.
                +HSync and -HSync can be used to select the polarity
                of the HSync signal.  +VSync and -VSync  can be used
                to  select  the   polarity  of   the  VSync  signal.
                Composite can be  used to specify  composite sync on
                hardware where this  is supported.  Additionally, on
                some hardware,  +CSync  and -CSync  may  be  used to
                select the composite sync polarity.
              Some examples:

                       Mode name   clock    Horizontal timing
         Vertical timing",
              ModeLine "640x480"   25.175  640  664  760  800  480
         491 493 525",
              ModeLine "640x480"   31.5    640  664  704  832  480
         489 492 520",
              ModeLine "800x600"    40     800  840  968 1056  600
         601 605 628 +hsync +vsync",
              ModeLine "1024x768"   65    1024 1064 1220 1344  768
         769 775 806 -hsync -vsync",
              ModeLine "1280x1024i" 80    1280 1296 1512 1568  1024
         1025 1037 1165  Interlace",
              ModeLine "1280x1024"  110   1280 1328 1512 1712  1024
         1025 1028 1054",
              ModeLine "1024x768"   67    1024 1048 1208 1264  768
         776 784 817",
              ModeLine "1024x768"   65    1024 1036 1186 1324  768
         771 777 806 -hsync -vsync",
              ModeLine "800x600"    36     800  824  896 1024  600
         601 603 625",
              ModeLine "800x600"    50     800  856  976 1040  600
         637 643 666 +hsync +vsync",


                                      38






              ModeLine "1024x768"   65    1024 1032 1176 1344  768
         771 777 806 -hsync -vsync",
              ModeLine "1024x768"   75    1024 1048 1184 1328  768
         771 777 806 -hsync -vsync",

              See Appendix  A to learn how  the video display works,
              to have  an exhaustive explanation of these parameters
              and how to change them.

         HorizSync horizsync-range
              this  entry is  mandatory  for all  the  accelerated X
              Servers;  it  gives the  range(s)  of  horizontal sync
              frequencies supported  by the monitor. horizsync-range
              may  be  a  comma separated  list  of  either discrete
              values or   ranges of values. A range of values is two
              values separated by  a dash. By default the values are
              in units of kHz. They may be specified in Mhz or Hz if
              MHz or Hz is added  to  the end of  the line. The data
              given  here is  used by the  X server  to determine if
              video  modes are  within  the   specifications  of the
              monitor.  This information should be  available in the
              monitor's handbook. Some examples:

              HorizSync 30-64         # multisync
              HorizSync 31.5,  35.2         #  multiple  fixed  sync
              frequencies
              HorizSync 15-25,  30-50   #  multiple  ranges  of sync
              frequencies


         VertRefresh vertrefresh-range
              this  entry is  mandatory  for all  the  accelerated X
              Servers;  it gives  the  range(s) of  vertical refresh
              frequencies  supported  by  the  monitor. vertrefresh-
              range may be a comma separated list of either discrete
              values or  ranges of values. A range  of values is two
              values separated by  a dash. By default the values are
              in units of Hz. They may be specified in MHz or kHz if
              MHz or kHz is added to the end of the  line. The  data
              given  here is  used by the  X server  to determine if
              video  modes are  within  the  specifications of   the
              monitor.  This information should be  available in the
              monitor's handbook. Some examples:

              VertRefresh    40-100        # multisync
              VertRefresh    60,  65          #  multiple fixed sync
              frequencies
              VertRefresh    40-50, 80-100 # multiple ranges of sync
              frequencies


         6.8 Configuring Graphics Device

            The  Device sections  are  used to  define  a   graphics
         device  (video card). More  than one Device  section may be
         present  in an XAPPEAL.CFG file.  The entries available for
         this   section  are  (note:  not   all  these  entries  are
         applicable  to all  the X Servers;  the name  of the Server


                                      39






         will be  specified in brackets for those entries applicable
         to it):

         Identifier "ID string"
              This  specifies a string by  which the graphics device
              can  be referred  to in a  later Screen  section. Each
              Device  section should have  a unique  ID string. This
              entry is mandatory for all the Servers.

         Chipset "chipset-type"
              This optional entry  specifies the chipset used on the
              graphics  card.  In  most  cases  this  entry  is  not
              required  because X Appeal will  probe the hardware to
              determine  the  chipset  type.  Only  the  AGX  Server
              requires this entry to be specified in the XAPPEAL.CFG
              file. Supported value for chipset-type are:

                   vesa      (SVGA)
                   generic   (Mono)
                   s3_generic     (S3)  for a  standard   I/O driven
                   server
                   mmio_928  (S3)  for  a  memory  mapped  IO driven
                             server  on  86C928,     86C732, 86C764,
                             86C864,  86C868,    86C964  and  86C968
                             cards
                   mach8     (Mach8) to   force  the Mach8 server to
                             run on Mach32 cards
                   mach32    (Mach32)
                   mach64    (Mach64)
                   agx-016   (AGX)
                   agx-015   (AGX)
                   agx-014   (AGX)
                   xga-2     (AGX)
                   ibm8514   (8514)

         Ramdac "ramdac-type"
              This  optional entry  specifies the type   of   RAMDAC
              used   on the graphics card.   This is only used by S3
              and  AGX X servers,  and in  most  cases   it   is not
              required because the X servers will probe the hardware
              to determine the RAMDAC type where possible. Supported
              value for ramdac-type are:

              normal - (S3, AGX) Card does not have one of the other
                   RAMDACs  mentioned  here.  This  option  is  only
                   required   for  the  S3  server   if  the  server
                   incorrectly  detects one of  those other RAMDACs.
                   The AGX  server does not yet auto-detect RAMDACs,
                   this  is the default  if no  RAMDAC is specified.
                   Only 8bpp mode is available with this RAMDAC.
              att20c490 -  (S3, AGX) Card has an AT&T 20C490 or AT&T
                   20C491  RAMDAC.   When  the  dac_8_bit  option is
                   specified, these RAMDACs may be operated in 8 bit
                   per RGB mode. It also allows 16bpp operation with
                   801/805/928    cards.  True  AT&T  20C490 RAMDACs
                   should  be auto-detected  by the S3  server. This
                   RAMDAC  must  be specified   explicitly  in other



                                      40






                   cases.  Note that  8  bit per  RGB mode  does not
                   appear to work with the Winbond 82C490 RAMDACs.
                   16bpp  works  fine with  the Winbond  82C490. The
                   Diamond   SS2410   RAMDAC  is   reported   to  be
                   compatible  when  operating  in  15bpp  mode (not
                   16bpp).   The   Chrontel  8391   appears   to  be
                   compatible in all modes.
              sc15025   -   (S3, AGX) Card  has a  Sierra SC15025 or
                   SC15026 RAMDAC.   The S3 server has code to auto-
                   detect  this  RAMDAC.  8,  15/16  and  24(32) bpp
                   supported.
              sc11482   - (S3) Card has a Sierra SC11482, SC11483 or
                   SC11484  RAMDAC. The S3 server  has code to auto-
                   detect this RAMDAC.
              sc11485   - (S3) Card has a Sierra SC11485, SC11487 or
                   SC11489  RAMDAC. The S3 server  will detect these
                   RAMDACs  as  a sc11482,  so this  option  must be
                   specified  to  take advantage  of  extra features
                   (they  support  16bpp, 15bpp  and 8bpp  while the
                   others only support 15bpp and 8bpp).
              bt485  - (S3)  Card  has a  BrookTree Bt485  or Bt9485
                   RAMDAC.  This  must be  specified  if  the server
                   fails  to  detect  it. 8,  15/16  and  24(32) bpp
                   supported.
              att20c505 - (S3) Card has an AT&T 20C505  RAMDAC. This
                   must  be specified either if  the server fails to
                   detect  the 20C505,  or if the  card has  a Bt485
                   RAMDAC    and  there  are  problems  using clocks
                   higher than 67.5Mhz.
              att20c498  - (S3)  Card has an  AT&T 20C498  or 21C498
                   RAMDAC.  This  must be  specified  if  the server
                   fails  to  detect  it. 8,  15/16  and  24(32) bpp
                   supported.
              att22c498 -  (S3) Card has an AT&T 22C498 RAMDAC. This
                   must  be specified if the  server fails to detect
                   it.
              ibm_rgb514 -  (S3) Card has an IBM RGB514 RAMDAC. This
                   must  be specified if the  server fails to detect
                   it.
              ibm_rgb524 - (S3) Card has an IBM  RGB524 RAMDAC. This
                   must  be specified if the  server fails to detect
                   it.
              ibm_rgb525 -  (S3) Card has an IBM RGB525 RAMDAC. This
                   must  be specified if the  server fails to detect
                   it.
              ibm_rgb528 -  (S3) Card has an IBM RGB528 RAMDAC. This
                   must  be specified if the  server fails to detect
                   it.
              stg1700  - (S3) Card has an  STG1700 RAMDAC. This must
                   be specified if the server fails to detect it.
              stg1703  - (S3) Card has an  STG1703 RAMDAC. This must
                   be specified if the server fails to detect it.
              s3gendac  - (S3)  Card has an  S3 86C708  GENDAC. This
                   RAMDAC does not support 8 bit per RGB mode (don't
                   specify  the dac_8_bit  option). It  allows 16bpp
                   operation  with 801/805 cards. There is currently
                   no auto-detection for this RAMDAC.



                                      41






              s3_sdac - (S3) Card has an S3 86C716 SDAC RAMDAC. This
                   must  be specified if the  server fails to detect
                   it.
              ics5300 -  (S3) Card has an ICS5300  RAMDAC. This must
                   be  specified if  the server  fails to  detect it
                   (the  server will recognize this  as an S3 GENDAC
                   which is OK).
              ics5342  -  (S3) Card has an ICS5342 RAMDAC. This must
                   be  specified if  the server  fails to  detect it
                   (the  server will  recognize this  as an  S3 SDAC
                   which is OK). 8, 15/16 and 24(32) bpp supported.
              ti3020 -  (S3) Card has a TI ViewPoint Ti3020  RAMDAC.
                   This  must be  specified if  the server  fails to
                   detect  the Ti3020. Note  that pixel multiplexing
                   will be used for this RAMDAC if any mode requires
                   a  dot  clock  higher than  70MHz.  8,  15/16 and
                   24(32) bpp supported.
              ti3025  - (S3) Card has a  TI ViewPoint Ti3025 RAMDAC.
                   This  must be  specified if  the server  fails to
                   detect the Ti3025.
              ti3026  - (S3) Card has a  TI ViewPoint Ti3026 RAMDAC.
                   This  must be  specified if  the server  fails to
                   detect the Ti3026.
              bt481 - (AGX) Card has a BrookTree Bt481 RAMDAC.
              bt482  - (AGX) Card  has a BrookTree  Bt482 RAMDAC. ).
                   The BT481/2 are limited to 85Mhz.  8bpp, 15/16bpp
                   are supported.
              herc_dual_dac - (AGX) Card (Hercules Graphite Pro) has
                   both the  84-pin (Bt485 or AT&T20C505) and 44-pin
                   (Bt481 or Bt482) RAMDACs installed.
              herc_small_dac  -  (AGX) Card  (Hercules Graphite Pro)
                   has  only  the  44-pin  (Bt481  or  Bt482) RAMDAC
                   installed.  8bpp, 15/16bpp, and unpacked 24/32bpp
                   are supported.

         DacSpeed speed
              This optional  entry specifies the RAMDAC speed rating
              (which  is usually  printed on  the RAMDAC  chip). The
              speed  is in MHz.  This is only  used by S3  and AGX X
              servers, and only needs to be specified when the speed
              rating  of the  RAMDAC is  different from  the default
              built into the X server.

         Clocks  clock1 clock2 ....clockn
              This  entry is used  by all the  Accelerated X Servers
              and specifies  the dotclocks that are on your graphics
              card. The clocks are in MHz, and may be specified as a
              floating point  number. The value is stored internally
              to  the nearest  kHz.  The ordering  of the  clocks is
              important.  It must match the order  in which they are
              selected  on the graphics card.  Multiple Clocks lines
              may be specified.
              For cards with programmable clock chips, the ClockChip
              entry  should be used instead of  this. A Clocks entry
              is not mandatory for cards with non-programmable clock
              chips,  but is highly recommended  because it prevents
              the  clock probing  phase during server  startup. This



                                      42






              clock  probing  phase  can  cause  problems  for  some
              monitors.
              If the  installation program was unable to find clocks
              for  your card,  you  can attempt  to have  the Server
              detect them. To make clocks probing in a safe way, you
              should run the appropriate X Server (i.e. X_MACH32.EXE
              for the  ATI Mach32 cards, X_S3.EXE for S3 Chips based
              cards, etc.)  with the probeonly  switch. Be sure that
              the XAPPEAL.CFG file does not contain a Clocks line at
              this point.
              Running this  will cause your monitor to freak out for
              a couple  of seconds, as the server cycles through the
              clocks rapidly. It should not damage your monitor, but
              some  newer monitors  may shut themselves  off because
              things  may go out of  spec. The cautions  may wish to
              turn  off the monitor while the  probe is running (few
              seconds).  Anyhow, when  this gets  done, look  in the
              file  XAPPEAL.LOG  for the  detected  dot-clocks. Copy
              these to  the Clocks line in your XAPPEAL.CFG, exactly
              as  they  appear in  XAPPEAL.LOG. Don't  sort  them or
              rearrange them in any way.

              It is possible that your card has a programmable clock
              generator.  A symptom  of this will  be a  printout of
              only 2  or 3 clock values, with the rest all zeros. If
              you run  into this, you should use the ClickChip entry
              instead of the Clocks entry.


         ClockChip "clockchip-type"
              This optional  entry is used to specify the clock chip
              type on graphics cards which have a programmable clock
              generator. Only  the S3 X Server supports programmable
              clock chips.
              A list of supported Clock Chips follow:

                     ICD2061A                 ClockChip "icd2061a"
                     ICS9161A (ICD2061A compatible)   ClockChip
              "ics9161a"
                     DCS2824-0 (Diamond, ICD2061A comp.)   ClockChip
              "dcs2824"
                     S3 86c708 GENDAC         ClockChip "s3gendac"
                     ICS5300 GENDAC (86c708 compatible)    ClockChip
              "ics5300"
                     S3 86c716 SDAC           ClockChip "s3_sdac"
                     ICS5342 GENDAC           ClockChip "ics5342"
                     STG 1703                 ClockChip "stg1703"
                     Sierra SC11412           ClockChip "sc11412"
                     ICS2595                  ClockChip "ics2595"
                     TI3025                   ClockChip "ti3025"
                     TI3026                   ClockChip "ti3026"
                     IBM RGB 5xx              ClockChip "ibm_rgb5xx"
                     Chrontel 8391            ClockChip "ch8391"







                                      43






         VideoRam mem
              This  optional entry specifies the  amount of videoram
              that  is  installed  on  the  graphics  card.  This is
              measured in kBytes. In most cases this is not required
              because X Appeal probes the graphics card to determine
              this quantity.

         MemBase baseaddress
              This optional  entry specifies the memory base address
              of  a graphics  card's  linear frame  buffer.  In most
              cases this is not required because X Appeal probes the
              graphics card to determine this quantity.
              Note:  The linear  frame buffer  address must  be less
              than 240 Mb (0x0F000000).

              Note:  The  S3  server will  normally  probe  for this
                  address   automatically.   Setting   this   option
                  overrides  that   probe.  This   is  not  normally
                  recommended  because the  failure of  the server's
                  probe  usually  indicates  problems  in  using the
                  linear framebuffer.

              Note:  The  Mach64 server  requires  the  linear frame
                  buffer (memory aperture). For ISA bus video cards,
                  this means  that the aperture must  be enabled and
                  the aperture  address must be set  to a value less
                  than 16Mb (which  means that, on ISA systems only,
                  to  use the Mach64  server you  must have  12Mb of
                  main memory  or less). Normally  the Mach64 server
                  will  use pre-defined values for this address, but
                  setting this option  will override the pre-defined
                  address.

              Note:  In the AGX Server, this  parameter sets the XGA
              display   memory   address   (the   address   the  XGA
              coprocessor uses for video memory).

              POS  register 4  bits 7-1 contains  bits 31-25  of the
              XGA's  display memory  address. Bits  24-22 of  of the
              display  memory  address  contains  the  XGA  instance
              number.  Bit 0 of POS  register 4 is not  used by this
              server  as  the  XGA's linear  aperture  is  not used.
              However, the coprocessor must still be configured with
              this.
              The  AGX-01[456]  chips have  a  fixed  display memory
              address.

         Instance number
              This   entry is only used for  the AGX Server. It sets
              the  XGA instance number  (0-7 which  indicates if the
              chip  is  integrated  on  the  mother-card  or  on  an
              expansion  card).

         IObase  address
              This is only used by the AGX Server. Specified the I/O
              address  of  the XGA  general  control  registers. The
              standard,  and  default,  is 0x21i0,  where  i  is the
              instance number.


                                      44







         COPBase baseaddress
              This  sets the  coprocessor base  address for  the AGX
              server. Typically:

              0xC1C00 + (ext_mem_addr * 0x2000) + (instance * 0x80)

              where  ext_mem_addr is  the high  order 4-bits  of POS
              register 2 (0-16 the server assumes zero).
              The  AGX-01[456] chips  support 0xB1F00  (default) and
              0xD1F00.

         BIOSbase  baseaddress
              Address  of the XGA BIOS (not VGA  BIOS). This is only
              used  by  the  AGX  Server.  Can  be  specified  as an
              alternate to COPbase. Typically:

              0xC0000 + (ext_mem_addr * 0x2000)

              where  ext_mem_addr is  the high  order 4-bits  of POS
              register 2 (0-16 -- the server assumes zero).

         VGAbase  baseaddress
              This  is only used by  the AGX Server. Can  be used to
              override  the  default 0xA0000  address  for  the 64KB
              video  memory  address used  by the  server.  The only
              values acceptable are 0xA0000 and 0xB0000. AGX-01[456]
              also default to 0xA0000.

         POSbase  baseaddress
              This  is only used by  the AGX Server. Can  be used to
              specify  an alternate POS register  probe address base
              from  the ISA default of 0x100.  The VESA VXE standard
              for EISA is 0xzC80, where z is the slot number).
              A  value  of zero  will disable  POS  register probing
              (required for MCA).

         DACspeed  speed
         This is only used by the S3 and AGX Servers. Can be used to
         override the servers default maximum Pixel Clock. For XGA-2
         this is of 80Mhz; the limit can be raised as high as 90Mhz,
         or set to lower values.

         Option "optionstring"
              This optional  entry allows the user to select certain
              options  provided  by  the  drivers.  Multiple  Option
              entries may  be given. Currently the following strings
              are recognized:

              nomemaccess  -  (S3) disable  direct  access  to video
                   memory.  This option is  ignored for  the 864 and
                   964 chips.
              noaccel - (AGX) disables the font cache with the AGX.
              vram_128  - (AGX) when memory probe  fails, use if you
              have 128Kx8 VRAMs.
              vram_256  - (AGX) when memory probe  fails, use if you
                   don't have 128Kx8 VRAMs.



                                      45






              nolinear -  (S3 and Mach32) disable use of  a  linear-
              mapped framebuffer.
              ti3020_curs   -  (S3) Enables the Ti3020's internal HW
              cursor. (Default)
              no_ti3020_curs  - (S3) Disables  the Ti3020's internal
              HW cursor.
              sw_cursor   -  (S3, Mach32,  Mach64, AGX)  Disable the
              hardware cursor.
              dac_8_bit -   (S3,  Mach32,  Mach64,  AGX)  Enables 8-
                   bit   per RGB.  Currently only supported with the
                   Ti3020/5/6,  Bt485, AT&T 20C505,  AT&T  20C490/1,
                   Sierra   SC15025/6,   AT&T 20C498  and STG1700/3,
                   IBM  RGB5xx  (S3 server),  Bt481  and  Bt482 (AGX
                   server), ATI68875/TLC34075/Bt885 (Mach32 server),
                   ATI68875,  TLC34075, ATI68860, ATI68880, STG1702,
                   and STG1703 (Mach64 server)  RAMDACs. This is set
                   by  default  in the  S3  server when  one  of the
                   above  RAMDACs  other than  the AT&T  20C490/1 is
                   used.
              dac_6_bit   -  (S3) Force 6-bit per RGB in cases where
                   8-bit mode would automatically be enabled.
              spea_mercury   -  (S3) Enables pixel multiplex support
                   for SPEA  Mercury cards (928 + Bt485 RAMDAC). For
                   these  cards, pixel  multiplexing is  required in
                   order to  use dot clocks higher than 67.5 MHz and
                   to  access more than  1MB of  video memory. Pixel
                   multiplexing is currently supported only for non-
                   interlaced modes, and modes with a physical width
                   no smaller than 1024.
               stb_pegasus  - (S3)  Enables pixel  multiplex support
                   for  STB Pegasus cards (928  + Bt485 RAMDAC). For
                   these  cards, pixel  multiplexing is  required in
                   order  to use  dot clocks  higher than  67.5 MHz.
                   Pixel  multiplexing  is currently  supported only
                   for   non-interlaced  modes,  and  modes  with  a
                   physical width no smaller than 1024.
              number_nine - (S3) Enables pixel multiplex support for
                   Number  Nine GXe  level 10, 11,  12 cards  (928 +
                   Bt485    RAMDAC).   For    these   cards,   pixel
                   multiplexing  is  required in  order  to  use dot
                   clocks higher  than 85 MHz. Pixel multiplexing is
                   currently   supported  only   for  non-interlaced
                   modes, and modes with a physical width no smaller
                   than  800. This option is  also required for some
                   other Number Nine cards (eg, GXE64 and GXE64pro).
              diamond  - (S3) This  option may be  required for some
                   Diamond  cards (in  particular, the  964/968 VRAM
                   cards).
              elsa_w1000pro  -  (S3) Enables  support  for  the ELSA
                   Winner  1000  PRO.  This  option  is  not usually
                   required because the card can be auto-detected.
              elsa_w1000isa  -  (S3) Enables  support  for  the ELSA
                   Winner  1000  ISA.  This  option  is  not usually
                   required because the card can be auto-detected.
              elsa_w2000pro  -  (S3) Enables  support  for  the ELSA
                   Winner  2000  PRO.  This  option  is  not usually
                   required because the card can be auto-detected.



                                      46






              pci_hack - (S3) Enables a workaround for problems seen
                   with some  PCI 928 cards on machines with a buggy
                   SMC UART.
              s3_964_bt485_vclk  -  (S3)  Enables  a  workaround for
                   possible  problems  on cards  using  the  964 and
                   Bt485.
              slow_vram  - (S3) Adjusts the VRAM   timings for cards
                   using  slow  VRAM.  This  is  required  for  some
                   Diamond  Stealth 64 VRAM  and Hercules Terminator
                   64 cards.
              fast_vram  -  (S3) Adjusts the VRAM timings for faster
                   VRAM  access.  There will  be display  errors and
                   pixel garbage if your card can't support it.
              slow_dram_refresh  - (S3) Adjusts the DRAM refresh for
                   cards with  slow DRAM to avoid lines of corrupted
                   pixels when switching modes.
              no_block_write  -  (Mach64) Disables  the  block write
                   mode  on certain types  of VRAM  Mach64 cards. If
                   noise  or  shadows  appear  on  the  screen, this
                   option should remove them.
              block_write - (Mach64) Enables the block write mode on
                   certain types  of VRAM Mach64 cards. Normally the
                   Mach64 server will automatically determine if the
                   card can handle block write mode, but this option
                   will override the probe result.
              no_bios_clocks  - (Mach64) The  Mach64 server normally
                   reads  the  clocks  from  the  bios.  This option
                   overrides  the bios clocks and  forces the server
                   to use the clocks given in the XF86Config file.



         6.9 Configuring Screen

         The   Screen  sections  are used to  specify which graphics
         cards and monitors will be used with a particular X server,
         and  the configuration  in which they  are to  be used. The
         entries available for this section are:

         Driver "driver-name"
              Each  Screen section must  begin with  a Driver entry,
              and the driver-name  given in each Screen section must
              be  unique. The  driver  name determines  which driver
              type  within  X  Appeal reads  and  uses  a particular
              Screen section. The driver names available are:

              ACCEL
              SVGA
              VGA2

              Accel is  used by all the  Accelerated X servers. SVGA
              is  used by the X_SVGA  X server. VGA2 is  used by the
              VGA drivers in monochrome server.







                                      47






         Device "device-id"
              specifies which graphics  device description is  to be
              used.  device-id must be  one of those  defined in the
              configuration file.

         Monitor "monitor-id"
              specifies  which monitor  description  is to  be used.
              monitor-id  must  be  one  of  those  defined  in  the
              configuration file.

         SubSection "Display"
              This  entry is a  subsection which is  used to specify
              some  display specific parameters.  This subsection is
              terminated by an EndSubSection entry.
              More than one Display subsection may be present.
              When  multiple Display  subsections are  present, each
              must have a  unique Depth entry. The entries available
              for the Display subsection are:

              Depth bpp
                   This  entry  is  mandatory  when  more  than  one
                   Display   subsection  is  present   in  a  Screen
                   section.  When  only  one  Display  subsection is
                   present, it  specifies the default depth that the
                   X server  will run at. When more than one Display
                   subsection is present, the depth determines which
                   gets used by the X server.
                   The subsection used is the one matching the depth
                   at  which  the X  server  is run  at.  Not  all X
                   servers  support more  than one  depth. Permitted
                   values for  bpp are 8, 15, 16, 24 and 32. Not all
                   X  servers  (or  drivers)  support  all  of these
                   values.
                   bpp values  of 24 and 32 are treated equivalently
                   by those X servers which support them.

              Weight RGB
                   This  optional entry  specifies the  relative RGB
                   weighting  to be used for an  X server running at
                   16bpp.  This  may  also  be  specified  from  the
                   command  line. Values  supported by most  16bpp X
                   servers are 555 and 565.

              Virtual xdim ydim
                   This  optional entry specifies the virtual screen
                   resolution to be used. xdim must be a multiple of
                   either  8 or 16 for most colour  X servers, and a
                   multiple  of 32 for the  monochrome X server. The
                   given  value will be rounded down  if this is not
                   the case. Video modes which are too large for the
                   specified virtual  size will be rejected. If this
                   entry   is  not   present,  the   virtual  screen
                   resolution  will  be set  to accommodate  all the
                   valid video  modes given in the Modes entry. Some
                   X servers do not support this entry.
                   AGX server accepts any virtual width, however the
                   actual usable  CRTC line width is restricted when
                   using  the graphics  engine and depends  upon the


                                      48






                   chip  revision. The CRTC  line width  and not the
                   virtual  width  determine  the  amount  of memory
                   used.  The server currently does  not make use of
                   any  of the unused CRTC  line's memory. CRTC line
                   width is restricted by the following rules:

                        AGX-014 : 512, 1024 and 2048.
                        AGX-015 : 512, 1024, 1280, and 2048.
                        AGX-016  :  512, 640,  800, 1024,  1280, and
                   2048.
                        XGA,AGX-010  :  512, 640,  800,  1024, 1280,
                   1152, and 2048.

                   The  server requires  at least a  64KB scratchpad
                   (16KB for XGA's). Additional memory is useful for
                   font cache and a larger scratchpad.

              ViewPort x0 y0
                   This optional entry sets the upper left corner of
                   the  initial display. This is  only relevant when
                   the  virtual screen resolution  is different from
                   the  resolution of  the   initial video  mode. If
                   this entry is not given, then the initial display
                   will be centered in  the  virtual display area.

              Modes "modename1" "modename2"..."modenamen"
                   This entry is mandatory for all X servers, and it
                   specifies  the list of video  modes to use. These
                   are  the  physical  display  resolution  that the
                   server  will  use.  The  video  mode  names  must
                   correspond  to those specified in the appropriate
                   Monitor section;  in general, these names are the
                   display  resolution  (e.g. _1024x768_),  but need
                   not be. The X servers will delete modes from this
                   list  which   are  not  present  in  the  Monitor
                   Section.  The first valid mode  in this list will
                   be the default display mode for startup. The list
                   of  valid  modes is  converted internally  into a
                   circular  list. It is  possible to  switch to the
                   next  mode  with  Ctrl+Alt+Keypad-9  and  to  the
                   previous mode with Ctrl+Alt+Keypad-3.

              Visual "visual-name"
                   This optional  entry sets the default root visual
                   type. This may also be specified from the command
                   line.  The  visual  types  available  for  8bpp X
                   servers are (default is PseudoColor):

                        StaticGray
                        GrayScale
                        StaticColor
                        PseudoColor
                        TrueColor
                        DirectColor

                   The visual type available for the 16bpp and 32bpp
                   X servers is TrueColor.



                                      49






                   The  visual type  available for  the 1bpp  Mono X
                   server is StaticGray.

              Option "linear"
                   This  optional  entry enable  the  use  of linear
                   frame  buffer. This option is  mandatory for  16,
                   24, 32 bpp in the SVGA Server.

              Black red green blue
                   this optional entry sets the _black_ color to the
                   r  g b  values specified.   These values  must be
                   given as  integers in the range 0-63. The default
                   is 0 0 0.  This option is only valid for the vga2
                   screen type.

              White red green blue
                   this  optional entry sets the  ``white'' color to
                   the rgb values specified.   These  values must be
                   given as  integers in the range 0-63. The default
                   is   63 63 63. This option  is only valid for the
                   vga2 screen type.


           The  configuration file  XAPPEAL.CFG   is created  by the
         XINSTALL   utility  during  installation,  with  the  basic
         information  to  start the  Server. Fine  tuning  should be
         executed editing the configuration file.

































                                      50






                                  APPENDIX A
                         THE VIDEO DISPLAY SUBSYSTEM

         This is derived from VideoModes.doc by the Xfree86 project.
         You can get a copy of that document at the URL:
              http://www.xtreme.it/xfre86/...



         1. How Video Displays Work

            Knowing  how   the   display  works   is   essential  to
         understanding  the meaning  of the  numbers in  the various
         fields  of the modeline  directive in  the file XAPPEAL.CFG
         and  how  to  change them  if  something  doesn't  works as
         expected.  Those  values are  used to  control  the display
         settings by the Accelerated X Servers.

            The display generates  a picture from a  series of dots.
         The dots are arranged from left to right to form lines. The
         lines are  arranged from top to bottom to form the picture.
         The  dots emit light when  they are struck  by the electron
         beam  inside the display. To make the  beam strike each dot
         for  an equal amount of time, the  beam is swept across the
         display in a constant pattern.

            The pattern starts  at the top left  of the screen, goes
         across  the screen  to the  right in  a straight  line, and
         stops temporarily on the right side of the screen. Then the
         beam  is swept back  to the left  side of  the display, but
         down  one line. The  new line is  swept from  left to right
         just as  the first line was. This pattern is repeated until
         the  bottom line  on the display  has been  swept. Then the
         beam  is moved from the bottom right  corner of the display
         to  the top  left corner, and  the pattern  is started over
         again.

           Starting  the  beam at  the top  left of  the  display is
         called  the beginning of a  frame. The frame  ends when the
         beam reaches the top left corner again as it comes from the
         bottom  right corner of the display. A  frame is made up of
         all  of  the lines  the beam  traced  from the  top  of the
         display to the bottom.

            If the  electron beam  were on  all of  the time  it was
         sweeping through  the frame, all of the dots on the display
         would be illuminated. There would be no black border around
         the  edges of the display. At the  edges of the display the
         picture would  become distorted because the beam is hard to
         control  there. To reduce  the distortion,  the dots around
         the  edges of the display  are not illuminated  by the beam
         even though  the beam may be pointing at them. The viewable
         area of the display is reduced this way.

            Another important thing to understand is what happens to
         the beam when no spot is being painted on the visible area.
         The  time the  beam would have  been illuminating  the side
         borders  of the display is used for  sweeping the beam back


                                      51






         from the right edge to the left and moving the beam down to
         the   next  line.  The  time  the   beam  would  have  been
         illuminating  the top and bottom borders  of the display is
         used  for moving the  beam from the  bottom-right corner of
         the display to the top-left corner.

            The adapter  card  generates the  signals  (clock) which
         cause the  display to turn on the electron beam at each dot
         to  generate a  picture.  The card  also controls  when the
         display moves  the beam from the right side to the left and
         down  a line by  generating a signal  called the horizontal
         sync (for synchronization) pulse. One horizontal sync pulse
         occurs at the end of every line. The adapter also generates
         a vertical sync pulse which signals the display to move the
         beam to the top-left corner of the display. A vertical sync
         pulse is generated near the end of every frame.

           The  display requires  that there  be short  time periods
         both  before  and after  the horizontal  and  vertical sync
         pulses  so  that  the position  of  the  electron  beam can
         stabilize.  If the beam  can't stabilize,  the picture will
         not be steady.


         2. Basic Things to know about your Display and Adapter

         There  are some fundamental things you  need to know before
         hacking an XAPPEAL.CFG config entry. These are:

         1. your monitor's horizontal and vertical sync frequency
         options

         2. your video adapter's driving clock frequency, or "dot
         clock"

         3. your monitor's video bandwidth

         The monitor sync frequencies

           The horizontal  sync frequency is the number of times per
         second the  monitor can write a horizontal scan line; it is
         the single most important parameter about your monitor. The
         vertical sync  frequency is the number of frames per second
         the monitor can scan vertically.

           Sync frequencies are usually listed on the specifications
         section of your monitor manual. The vertical sync frequency
         number  is typically calibrated in  Hz (cycles per second),
         the  horizontal  one in  KHz (kilocycles  per  second). The
         usual ranges  are between 50 and 80Hz vertical, and between
         31 and 135KHz horizontal.

           If  you have a multisync  monitor, these frequencies will
         be  given  as ranges.  Some monitors,  especially lower-end
         ones,  have   multiple  fixed  frequencies.  These  can  be
         configured  too, but your options  will be severely limited
         by the built-in monitor characteristics. Choose the highest
         frequency  pair  for best  resolution. And  be  careful ---


                                      52






         trying to clock a fixed-frequency monitor at a higher speed
         than it's designed for can damage it.

         The card driving clock frequency

           Your  video adapter manual's spec  page will usually give
         you the card dot clock (that is, the total number of pixels
         per  second it can write to the  screen). If you don't have
         this information, the X server will get it for you. It will
         emit  a line  of clock and  other info  to the  output file
         XAPPEAL.LOG;  it should  be saved  before running  X Appeal
         again.

         The monitor's video bandwidth

           It's also  useful to know your monitor's video bandwidth,
         so  you know approximately  what the highest  dot clock you
         can  use.  There's a  lot  of give  here,  though  --- some
         monitors  can  run  as  much  as  30%  over  their  nominal
         bandwidth.

           Knowing  the  bandwidth  will  enable  you  to  make more
         intelligent choices between possible configurations.

           Your monitor's  video bandwidth should be included on the
         manual's  spec page.  If  it's not,  look at  the monitor's
         highest rated resolution.
           As  a rule of thumb,  here's how to  translate these into
         bandwidth  estimates (and thus into  rough upper bounds for
         the dot clock you can use):


              640x480        25
              800x600        36
              1024x768       65
              1024x768 interlaced 45
              1280x1024      110




           The sync  frequency ranges of your monitor, together with
         your  video  adapter's dot  clock,  determine  the ultimate
         resolution that you can use.

         3.  Interpreting the Basic Specifications

         This  section explains what the  specifications above mean,
         and  some other  things  you'll need  to know.  First, some
         definitions.  Next to each  in parentheses  is the variable
         name we'll use for it when doing calculations


            horizontal sync frequency (HSF)
              Horizontal scans per second (see above).

            vertical sync frequency (VSF)



                                      53






              Vertical   scans  per   second  (see   above).  Mainly
              important as the upper limit on your refresh rate.

            dot clock  (DCF)
              More   formally,   `driving   clock   frequency'.  The
              frequency  of the crystal  or VCO on  your adapter ---
              the maximum dots-per-second it can emit.

            video bandwidth (VB)
              The  highest frequency  at which your  monitor's video
              signal  can change.  This  constrains the  highest dot
              clock  you can use  and the overall  sharpness of fine
              details in the video image.

            frame length (HFL, VFL)
              Horizontal  frame length (HFL)  is the  number of dot-
              clock ticks needed  for your monitor's electron gun to
              scan one  horizontal line, including the inactive left
                                                                    
                                                                    

              and right borders.

              Vertical  frame length  (VFL)  is the  number  of scan
              lines in the  entire image, including the inactive top

              and bottom borders.

            screen refresh rate (RR)
              The  number  of   times  per  second  your  screen  is
              repainted.  Higher  frequencies  are  better,  as they
              reduce  flicker.  60Hz is  good, VESA-standard 72Hz is
              better.

         Here are some pictures to help:


                 ________________________
                 |                       |     The horizontal frame
         length
                 |->->->->->->->->->->-> |     is the time in dot
         clocks
                 |                      )|     required for the
         electron
                 |<-----<-----<-----<--- |     beam to trace a
         pattern
                 |                       |     like this.
                 |                       |
                 |                       |     >->->   visible
                 |                       |     <---<-  not visible
                 |_______________________|











                                      54






                 ________________________
                 |       | |             |     The vertical frame
         length
                 |       v ^             |     is the time in dot
         clocks
                 |       | |             |     required for the
                 |       v |             |     electron beam to
         trace
                 |       | ^             |     a pattern like this
                 |       v |             |
                 |       | |             |     v    visible
                 |       v ^             |     ^    not visible
                 |_______(_)_____________|



           Now  we can  see how  the  dot clock  and frame  size are
         related to  the refresh rate. By definition, one hertz (Hz)
         is  one  cycle per  second.  So, if  your  horizontal frame
         length  is HFL and your vertical frame  length is VFL, then
         to  cover the entire screen takes (HFL  * VFL) ticks. Since
         your  card emits DCF  ticks per second  by definition, then
         obviously  your  monitor's electron  gun(s)  can  sweep the
         screen  from left to right and back  and from bottom to top
         and back:
              DCF / (HFL * VFL)         times/sec.
           This is your screen's refresh rate, because it's how many
         times your screen can be updated thus REFRESHED per second!

         Another way to look at the formula we derived above is

              DCF = RR * HFL * VFL


           That is, your dot clock is fixed.  You can use those dots
         per   second  to   buy  either  refresh   rate,  horizontal
         resolution,  or   vertical  resolution.  If  one  of  those
         increases, one or both of the others must decrease.

           Note,  though, that your  refresh rate  cannot be greater
         than  the maximum vertical sync  frequency of your monitor.
         Thus, for  any given monitor at a given dot clock, there is
         a  minimum product of  frame lengths below  which you can't
         force it.

           In  choosing your settings,  remember: if you  set RR too
         low, you will get mugged by screen flicker. You probably do
         not want  to pull your refresh rate below 60Hz. This is the
         flicker rate of fluorescent lights (in the U.S.); if you're
         sensitive  to those, you need  to hang with  72Hz, the VESA
         ergonomic standard.

         As  you can see from  the two pictures above,  only part of
         the  time required for raster-scanning a  frame is used for
         displaying viewable image (ie. your resolution).

         Horizontal Sync:



                                      55






         By  previous definition,  it takes HFL  ticks to  trace the
         horizontal  scan line.  Let's call  the visible  tick count
         (your horizontal  screen resolution) HR. Then Obviously, HR
         <  HFL by definition.  For concreteness,  let's assume both
         start at the same instant as shown below:


                 |__ __ __ __ __ __ __ __ __ __ __ __ __
                 |_ _ _ _ _ _ _ _ _ _ _ _                |
                 |_______________________|_______________|_____
                 0                       ^               ^     unit:
         ticks
                                         |   ^       ^   |
                                         HR  |       |  HFL
                                         |   |<----->|   |
                                         |<->|  HSP  |<->|
                                         HGT1         HGT2


           Between  the end of clock ticks for  display data and the
         end  of clock  ticks for the  entire line  there is  a sync
         pulse of length HSP as shown above.

         Furthermore,  there  were  some ticks  of  "guard  time" on
         either side  of the sync pulse. This is represented by HGT1
         and HGT2. In a typical configuration HGT1 != HGT2.

         The symptom  of a misplaced sync pulse is that the image is
         displaced  on the screen, with  one border excessively wide
         and  the other side of the image  wrapped around the screen
         edge,  producing a  white edge  line and  a band  of "ghost
         image" on that side.


         Vertical Sync:


            |___ __ __ __ __ __ __ __ __ __ __ __ __
            |_ _ _ _ _ _ _ _ _ _ _ _                |
            |_______________________|_______________|_____
            0                      VR              VFL     unit:
         ticks
                                    ^   ^       ^
                                    |   |       |
                                    |<->|<----->|
                                     VGT    VSP



           Between  the  end of  visible lines  and the  end  of the
         entire  frame there is the vertical sync  pulse. VGT is the
         vertical guard time required for the sync pulse.
           Most  monitors are comfortable with a VGT  of 0 (no guard
         time)  A few need two or three  ticks of guard time, and it
         usually doesn't hurt to add that.
           A way-out-of-place vertical sync pulse can actually cause
         the  image to  roll like a  TV with  a misadjusted vertical
         hold (in fact, it's the same phenomenon at work).


                                      56









         4. Putting it All Together

           The XAPPEAL.CFG  file Table of Modeline contains lines of
         numbers, with  each line being a complete specification for
         one mode of X-server operation. The fields are grouped into
         four  sections,  the  name  section,  the  clock  frequency
         section, the horizontal section, and the vertical section.

           The  name section  contains  one field,  the name  of the
         video mode  specified by the rest of the line. This name is
         referred  to on  the  "Modes" line  of the  Graphics Driver
         Setup section of the XAPPEAL.CFG file.

           The  dot clock section contains only  the dot clock (what
         we've called DCF) field of the video mode line.  The number
         in this field specifies which dot clock was used to compute
         the numbers in the following sections.

           The horizontal section contains four fields which specify
         how each horizontal line on the display is to be generated.
         The first  field of the section contains the number of dots
         per  line which  will  be illuminated  to form  the picture
         (what  we've called  HR). The second  field of  the section
         indicates  at  which  dot the  horizontal  sync  pulse will
         begin.   The  third  field  indicates   at  which  dot  the
         horizontal sync  pulse will end. The fourth field specifies
         the total horizontal frame length (HFL).

           The vertical section also contains four fields. The first
         field  contains  the  number of  visible  lines  which will
         appear on  the display (VR). The second field indicates the
         line  number at which  the vertical sync  pulse will begin.
         The  third field  specifies  the line  number at  which the
         vertical sync pulse will end. The fourth field contains the
         total vertical frame length (VFL).


         Modeline < name >   DCF    HR SH1 SH2 HFL    VR  SV1 SV2
         VFL


           where SH1  is the start tick of the horizontal sync pulse
         (HR+HGT1) and SH2 is its end tick (HR+HGT1+HSP); similarly,
         SV1  is the start tick of the  vertical sync pulse (VR+VGT)
         and SV2 is its end tick (VR+VGT+VSP).

         Example:

         #         Modename    clock  horizontal timing     vertical
         timing

         Modeline "800x600"     40     800 840 968 1056     600 601
         605 628




                                      57






           The  sample line has, for  each scan line,  the number of
         illuminated  dots (800) followed  by the number  of the dot
         when the sync pulse starts (840), followed by the number of
         the  dot when  the sync pulse  ends (968),  followed by the
         number of the last dot on the horizontal line (1056).
           The vertical  timing indicates that there are 600 visible
         lines  on the display, that the  vertical sync pulse starts
         with the 601st line and ends with the 605th, and that there
         are 628 total lines being used to draw the entire frame.

           Note  that all of the horizontal  numbers (800, 840, 968,
         and 1056)  are divisible by eight! This is not required for
         the vertical numbers.

           With the above numbers we obtain a refresh rate of
         40,000,000/(1056*628) = 60.3












































                                      58


































































                                      59






                                  APPENDIX B
                               TROUBLESHOOTING


           If  some problem  arises  when X  Appeal is  running, the
         error messages  are recorded in the file XAPPEAL.LOG in the
         configuration  directory. If  you cannot solve  the problem
         with the indications included in the error messages, send a
         performance  report including all the information contained
         in the file (e-mail preferred) and your XAPPEAL.CFG file.

           If there is no visible image and/or the PC seems to hang,
         press Ctrl-Alt-Backspace  to exit X Appeal; this allows the
         XAPPEAL.LOG file to be written.

         Fixing problems with the image on the display.

            X Appeal allows  you to hot-key  between different modes
         defined  in  XAPPEAL.CFG  .  Use  this  capability  to save
         yourself hassles! When you want to test a new mode, give it
         a  unique mode  label and add  it to  the end  your hot-key
         list.  Leave a known-good mode as the  default to fall back
         on if the test mode doesn't work.
            You may need to scale some  of the timing numbers if the
         clock  used to  generate the mode  in the  database doesn't
         match what your card has available, but that's easy.

            If  you  already  have  a mode  that  almost  works  (in
         particular, if one of the predefined VESA modes gives you a
         stable  display but one that's displaced  right or left, or
         too  small,  or too  large)  you can  go  straight  to this
         section on Fixing Problems. This will enlighten you on ways
         to tweak the timing numbers to achieve particular effects.

            You move  the image by  changing the  sync pulse timing.
         You scale it by changing the frame length (you need to move
         the  sync pulse to keep  it in the  same relative position,
         otherwise  scaling will move  the image as  well). Here are
         some more specific recipes:

            The horizontal  and vertical  positions are independent.
         That  is,  moving  the  image  horizontally  doesn't affect
         placement  vertically, or vice-versa. However,  the same is
         not  quite true of  scaling. While  changing the horizontal
         size  does nothing to the vertical size  or vice versa, the
         total change in both may be limited. in particular, if your
         image  is too  large in both  dimensions you  will probably
         have  to go  to a higher  dot clock  to fix  it. Since this
         raises the usable resolution, it is seldom a problem!

         The image is displaced to the left or right

           To  fix this,  move the horizontal  sync pulse.  That is,
         increment or  decrement (by a multiple of 8) the middle two
         numbers  of the horizontal  timing section  that define the
         leading and trailing edge of the horizontal sync pulse.
           If the image is shifted left (right border too large, you
         want to move the image to the right) decrement the numbers.


                                      60






         If  the image is shifted right (left  border too large, you
         want it to move left) increment the sync pulse numbers.

         The image is displaced up or down

         To  fix  this, move  the  vertical sync  pulse.    That is,
         increment  or  decrement  the  middle  two  numbers  of the
         vertical  timing   section  that  define  the  leading  and
         trailing edge of the vertical sync pulse.
         If  the image  is shifted up  (lower border  too large, you
         want to move the image down) decrement the numbers.  If the
         image is shifted down (top border too large, you want it to
         move up) increment the numbers.

         The image is too wide (too narrow) horizontally

           To  fix  this, increase  (decrease) the  horizontal frame
         length.  That is,  change  the fourth  number in  the first
         timing  section. To avoid  moving the image,  also move the
         sync pulse  (second and third numbers) half as far, to keep
         it in the same relative position.

         The image is too deep (too shallow) vertically

           To  fix  this,  decrease  (increase)  the  vertical frame
         length.  That is,  change the fourth  number in  the second
         timing  section. To avoid  moving the image,  also move the
         sync pulse  (second and third numbers) half as far, to keep
         it in the same relative position.

           Any  distortion that can't be  handled by combining these
         techniques is probably evidence of something more basically
         wrong,  like a  calculation mistake or  a faster  dot clock
         than the monitor can handle.

           Finally,  remember  that increasing  either  frame length
         will decrease your refresh rate, and vice-versa.

         The screen shows strange patterns, or multiple cursor
         images

           If the  screen shows strange patterns, or multiple cursor
         images,  your SVGA  card is likely  to be  unsupported by X
         Appeal,  or the installation program  detected wrong values
         for video RAM or you specified wrong values for the virtual
         display size.  Try to identify the SVGA chip and the amount
         of  video RAM installed on it by  looking at the video card
         and/or reading its documentation and, if the problem cannot
         be solved, then send a report.

         Fixing Problems with the network.

           When  trying to  connect to hosts  without an  active xdm
         process,  some  "ICMP: Port  unreachable"  messages  can be
         recorded  in the XAPPEAL.LOG file. They  are normal and can
         safely be ignored.




                                      61






            Errors during startup  related to the  Packet Driver can
         be generated  by an incorrectly installed driver. Check the
         parameters,  which  must match  the  network  card hardware
         configuration.
























































                                      62






                                   APPENDIX C
                         X WINDOW SYSTEM AND CLIENTS

         X Window System

         The  X Window System is  a network-based graphics windowing
         system. It was developed by the Massachussetts Institute of
         Technology (MIT) and later by the X Consortium.
         The  architecture of  the X Window  System is  based on the
         client-server model.
         The system is divided into two parts:
              1) the display server
              2) the client.
         The X architecture allows the two parts to work together on
         the  same  machine  or  to  reside  on  different  machines
         connected  by a network (including  machines with different
         architectures  and operating systems), as  implemented by X
         Appeal.

         The X Display Server

         The  X Display Server is  a program that  manages all input
         from  the  input  devices, such  as  keyboard  and pointing
         devices,  conveying  it  to  the  client  applications; the
         server also  manages the output from the client and updates
         the display to reflect that output.
         User  input  and  other informations  are  passed  from the
         server  to the client in the form  of events. An event is a
         packet  of information that tells the  client to perform an
         action.  When the  client receives  a meaningful  event, it
         sends  back to the server a display  request; at this point
         the server performs the update on his display.
         Events  and  display requests  are communicated  across the
         network using the X protocol.
         As implemented by X Appeal, the display server resides on a
         PC  running  MS-DOS, while  the  clients reside  on  a host
         computer.
         This  way  the client  program  runs on  the  more powerful
         system, and the display server can use all the resources of
         the  PC to  display graphics, track  the mouse  and use the
         keyboard functions.

         Clients

         A  client  is an  application  program that  displays  in a
         private  window.  An  X  client,  generally,  displays  his
         results  and takes input  from a single  display server; in
         addition a  client sometimes need to communicate with other
         clients. The  communication between clients is based on use
         of  properties.  A  property  contains  informations  on  a
         client, accessible  to the other clients.









                                      63






         X Window Clients

         The Window Manager

         Window  management  functions  are provided  by  a  type of
         program called  window manager. The window manager controls
         the  general operations of the  window system, allowing the
         user  to change the  size and position  of   windows on the
         display. The window manager provides the "look and feel" of
         the X Window System.
         In  the standard distribution  of X from  the X Consortium,
         the  official window manager  is called  twm ("Tom's window
         manager",  in   honor  of  its  developer)  which  supports
         overlapping  windows, pop menus,  point-and-click or click-
         to-type  input  models,  title  bars,  icons  (and  an icon
         manager for those who don't like separate icon windows).

         Twm  uses startup  files to  configure windows  look; these
         configuration  files  are logically  broken  up  into three
         types of  specifications:  Variables, Bindings, Menus.  The
         Variables  section must come first and  is used to describe
         the  fonts,  colors,   cursors,   border   widths, icon and
         window  placement, highlighting,  autoraising,  layout   of
         titles, warping,   use  of  the icon manager.  The Bindings
         section  usually comes  second and is  used to  specify the
         functions  that  should   be  to   be invoked when keyboard
         and pointer  buttons are pressed in windows, icons, titles,
         and frames.  The Menus section gives any user-defined menus
         (containing  functions  to  be invoked  or  commands  to be
         executed).


         Other popular window managers are:

         mwm, the OSF/MotifTM window manager

         olwm, the OPEN LookTM window manager

         fvwm,  a derivative of  twm, redesigned  to minimize memory
         consumption,  provides a 3-D  look to window  frames, and a
         simple virtual  desktop. Memory consumption is estimated at
         about one-half  to one-third the memory consumption of twm,
         due primarily  to a redesign of twm's inefficient method to
         storing   mouse   bindings.  In   addition,  many   of  the
         configurable options of Twm have been removed.

         SPECIAL NOTE FOR USERS OF XFREE86 AND DERIVATES

            Xfree86 provides a virtual screen whose operation can be
         confusing when used in conjunction with this virtual window
         manager. With  Xfree86, windows which appear on the virtual
         screen actually get drawn into video memory, so the virtual
         screen size is limited by available video memory.
            With fvwm's virtual desktop, windows which do not appear
         on the screen do not actually get drawn into video RAM.
            The size  of  the virtual  desktop is  limited  to about
         32,000 by  32,000 pixels. It is probably impractical to use
         a  virtual  desktop more  than  about 5  times  the visible


                                      64






         screen  in each direction. Note that  memory usage with the
         virtual  desktop is  a  function of  the number  of windows
         which exist. The size of the desktop makes no difference.

         The  anatomy  of a  fvwm  window consists  of  a decorative
         border  that is a bar on each  side, and a small "L" shaped
         section on each corner.

         Fvwm provides  multiple virtual desktops for users who wish
         to use  them. The screen is a viewport onto a desktop which
         is  larger than (or the  same size as)  the screen. Several
         distinct desktops can be accessed.

         Other  features  fvwm supports  are  shaped  windows, color
         icons  and modules. A  module is a  separate program, which
         runs as  a separate unix process, but transmits commands to
         fvwm to execute.

         During initialization, fvwm will search for a configuration
         file which describes mouse and button bindings, colors, the
         virtual display size, and related items.
         First,  fvwm will  search for a  file named  .fvwmrc in the
         users  home  directory.  Failing  that,  it  will  look for
         /usr/lib/X11/fvwm/system.fvwmrc for system-wide defaults.

         XTerm

         Xterm  is the terminal emulator of X.  It emulates a DEC VT
         102  terminal or  a Tektronix 4014  terminal. X11  has been
         designed to support only bitmapped graphic. Xterm gives the
         possibility  to log  in to  a multiuser  system and  to run
         applications designed for alphanumeric terminals.


         The Display Manager (XDM)

         Xdm, the display manager, is the login demon for X, and has
         been  designed to  start the  X server  automatically. This
         program is typically started at boot time and takes care of
         keeping the  server running and getting users logged in. If
         you  are running xdm  you will see  a window  on the screen
         welcoming  you to the system and asking  for your user name
         and password.  Simply type in them as you would at a normal
         terminal, pressing the RETURN key after each one. After you
         have  successful  logged  in,  xdm  will  start  up  your X
         environment.
         A list of servers is kept in a configuration file and users
         can customize their sessions, automatically running several
         clients  and setting personal resources.  By default if you
         have  an  executable  file  named  .xsession  in  your home
         directory,  XDM will treat it as a  program to run to start
         up your initial clients.
         Xdm can  also handle the login process for remote X servers
         connecting through the network, like X Appeal.






                                      65






         Other X Clients

         DESK ACCESSORIES

         xmh         Mail interface program.

         xconsole    Console redirect program.

         xrefresh    Causes part or all of the screen to be redrawn.

         xclock, oclock Analog/digital clock applications.

         xman        Manual page browser.

         xkill       Terminates a client application.

         editres, apres Resource listing/manipulation tools.

         DISPLAY AND KEYBOARD PREFERENCES

         xset        It is  used to control  server parameters, such
                     as bell  volume, key click, mouse acceleration,
                     and screen saver operations.

         xmodmap     It gives  the possibility to  map keyboard keys
                     and mouse buttons to particular functions.

         FONT UTILITIES

         xlsfonts    Server font list displayer for X.

         xfd         Font displayer for X.

         xfontsel    It  is  used  to  select  a  font  for  another
                     application.

         GRAPHIC UTILITIES

         bitmap      Bitmap editor for X.


         SCREEN IMAGE MANIPULATION UTILITIES

         xwd         Dump an image of an X window into a file.

         xpr         Translates  an  image  produced  by  xwd  to  a
                     PostScript or a printable format.

         xwud        Redisplays an image produced by xwd.

         DISPLAY AND WINDOW UTILITIES

         xload       Load average display for X.

         xlsclients  List the clients running on the display.

         xdpyinfo    Lists characteristics of the display.



                                      66






         xwininfo    Lists characteristics of a window.

         xprop       List the properties of a window.

























































                                      67


































































                                      68
