Next: , Previous: , Up: A Summary of the Various SXEmacs Modules   [Contents][Index]


10.10 Modules for Interfacing with X Windows

Emacs.ad.h

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

EmacsFrame.c
EmacsFrame.h
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.

EmacsManager.c
EmacsManager.h
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.

EmacsShell-sub.c
EmacsShell.c
EmacsShell.h
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.

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

select-msw.c
select-x.c
select.c
select.h

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.

xintrinsic.h
xintrinsicp.h
xmmanagerp.h
xmprimitivep.h

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

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

ExternalClient-Xlib.c
ExternalClient.c
ExternalClient.h
ExternalClientP.h
ExternalShell.c
ExternalShell.h
ExternalShellP.h
extw-Xlib.c
extw-Xlib.h
extw-Xt.c
extw-Xt.h

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

ExternalShell* provides the server (SXEmacs) side of the connection.

ExternalClient* provides the client (other application) side of the connection. These files are not compiled into SXEmacs 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.


Next: , Previous: , Up: A Summary of the Various SXEmacs Modules   [Contents][Index]