Page 283 Table of Contents Index Page 285
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E





Chapter 28

Application Frames

28.1 Overview of Application Frames

Application frames (or simply, frames) are the central abstraction defined by CLIM for presenting
an application's user interface. Many of the other features and facilities provided by CLIM (for
example, the generic command loop, gadgets, look and feel independence) can be conveniently
accessed through the frame facility. Frames can be displayed as either top-level windows or
regions embedded within the space of the user interfaces of other applications. In addition to
controlling the screen real estate managed by an application, a frame keeps track of the Lisp
state variables that contain the state of the application.

The contents of frame is established by defining a hierarchy of panes. CLIM panes are interactive
objects that are analogous to the windows, gadgets, or widgets of other toolkits. Application
builders can compose their application's user interface from a library of standard panes or by
defining and using their own pane types. Application frames can use a number of different
types of panes including layout panes for spatially organizing panes, user panes for presenting
application specific information, and gadget panes for displaying data and obtaining user input.
Panes are describe in greater detail in Chapter 29 and Chapter 30.

Frames are managed by special applications called frame managers. Frame managers control the
realization of the look and feel of a frame. The frame manager interprets the specification of the
application frame in the context of the available window system facilities, taking into account
preferences expressed by the user. In addition, the frame manager takes care of attaching the
pane hierarchy of an application frame to an appropriate place in a window hierarchy. The
most common type of frame manager is one that allows the user to manipulate the frames
of other applications. This type of application is typically called a desktop manager, or in X
Windows terminology, a window manager. In many cases, the window manager will be a non-
Lisp application. In these cases, the frame manager will act as a mediator between the Lisp
application and the host desktop manager.

Some applications may act as frame managers that allow the frames of other applications to be


Page 283 Table of Contents Index Page 285
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E