Modules for Interfacing with X Windows
======================================

        size  name
     -------  ---------------------
        3196  Emacs.ad.h

   A file generated from `Emacs.ad', which contains XEmacs-supplied
fallback resources (so that XEmacs has pretty defaults).

       24242  EmacsFrame.c
        6979  EmacsFrame.h
        3351  EmacsFrameP.h

   These modules implement an Xt widget class that encapsulates a frame.
This is for ease in integrating with Xt.  The EmacsFrame widget covers
the entire X window except for the menubar; the scrollbars are
positioned on top of the EmacsFrame widget.

   *Warning:* Abandon hope, all ye who enter here.  This code took an
ungodly amount of time to get right, and is likely to fall apart
mercilessly at the slightest change.  Such is life under Xt.

        8178  EmacsManager.c
        1967  EmacsManager.h
        1895  EmacsManagerP.h

   These modules implement a simple Xt manager (i.e. composite) widget
class that simply lets its children set whatever geometry they want.
It's amazing that Xt doesn't provide this standardly, but on second
thought, it makes sense, considering how amazingly broken Xt is.

       13188  EmacsShell-sub.c
        4588  EmacsShell.c
        2180  EmacsShell.h
        3133  EmacsShellP.h

   These modules implement two Xt widget classes that are subclasses of
the TopLevelShell and TransientShell classes.  This is necessary to deal
with more brokenness that Xt has sadistically thrust onto the backs of
developers.

        9673  xgccache.c
        1111  xgccache.h

   These modules provide functions for maintenance and caching of GC's
(graphics contexts) under the X Window System.  This code is junky and
needs to be rewritten.

       69181  xselect.c

   This module provides an interface to the X Window System's concept of
"selections", the standard way for X applications to communicate with
each other.

         929  xintrinsic.h
        1038  xintrinsicp.h
        1579  xmmanagerp.h
        1585  xmprimitivep.h

   These header files are similar in spirit to the `sys*.h' files and
buffer against different implementations of Xt and Motif.

   * `xintrinsic.h' should be included in place of `<Intrinsic.h>'.

   * `xintrinsicp.h' should be included in place of `<IntrinsicP.h>'.

   * `xmmanagerp.h' should be included in place of `<XmManagerP.h>'.

   * `xmprimitivep.h' should be included in place of `<XmPrimitiveP.h>'.

       16930  xmu.c
         936  xmu.h

   These files provide an emulation of the Xmu library for those systems
(i.e. HPUX) that don't provide it as a standard part of X.

        4201  ExternalClient-Xlib.c
       18083  ExternalClient.c
        2035  ExternalClient.h
        2104  ExternalClientP.h
       22684  ExternalShell.c
        1709  ExternalShell.h
        1971  ExternalShellP.h
        2478  extw-Xlib.c
        1481  extw-Xlib.h
        6565  extw-Xt.c
        1430  extw-Xt.h

   These files provide the "external widget" interface, which allows an
XEmacs frame to appear as a widget in another application.  To do this,
you have to configure with `--external-widget'.

   `ExternalShell*' provides the server (XEmacs) side of the connection.

   `ExternalClient*' provides the client (other application) side of
the connection.  These files are not compiled into XEmacs but are
compiled into libraries that are then linked into your application.

   `extw-*' is common code that is used for both the client and server.

   Don't touch this code; something is liable to break if you do.

       31014  epoch.c

   This file provides some additional, Epoch-compatible, functionality
for interfacing to the X Window System.