Page 298 Table of Contents Index Page 300
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

adopt an application's frames into. There are a variety of ways that the user or the application
can influence where an application's frame is adopted.

An application can establish an application default frame manager using with-frame-manager.
A frame's top-level loop automatically establishes the frame's frame manager.

The programmer or user can influence what frame manager is found by setting *default-frame-
manager*
or *default-server-path*.

Each frame manager is associated with one specific port. However, a single port may have
multiple frame managers managing various frames associated with the port.

=> find-frame-manager &rest options &key port &allow-other-keys [Function]
Finds an appropriate frame manager that conforms to the options, including the port argument.
Furthermore, CLIM applications may set up dynamic contexts that affect what find-frame-
manager
will return.

port defaults to the value returned by find-port applied to the remaining options.

A frame manager is found using the following rules in the order listed:
  1. If a current frame manager has been established via an invocation of with-frame-manager,
    as is the case within a frame's top-level, and that frame manager conforms to the options,
    it is returned. The exact definition of "conforming to the options" varies from one port to
    another, but it may include such things as matching the console number, color or resolution
    properties, and so forth. If the options are empty, then any frame manager will conform.

  2. If *default-frame-manager* is bound to a currently active frame manager and it conforms
    to the options, it is returned.

  3. If port is nil, a port is found and an appropriate frame manager is constructed using
    *default-server-path*.
=> *default-frame-manager* [Variable]
This variable provides a convenient point for allowing a programmer or user to override what
frame manager type would normally be selected. Most users will not set this variable since they
can set *default-server-path* to indicate which host window system they want to use and
are willing to use whatever frame manager is the default for the particular port. However, some
users may want to use a frame manager that isn't the typical frame manager. For example, a
user may want to use both an OpenLook frame manager and a Motif frame manager on a single
port.

=> with-frame-manager (frame-manager) &body body [Macro]
Generates a dynamic context that causes all calls to find-frame-manager to return frame-
manager
if the where argument passed to it conforms to frame-manager. Nested calls to with-
frame-manager
will shadow outer contexts. body may have zero or more declarations as its first
forms.


Page 298 Table of Contents Index Page 300
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