XtAlmostProc() XtAlmostProc()
Name
XtAlmostProc - interface definition for the set_values_almost() method.
Synopsis
typedef void (*XtAlmostProc)(Widget, Widget, XtWidgetGeometry *,
XtWidgetGeometry *);
Widget old;
Widget set;
XtWidgetGeometry *request;
XtWidgetGeometry *reply;
Inputs
old Specifies a copy of the object as it was before the XtSetValues() call.
set Specifies the object instance record as modified by the various set_values() methods.
request Specifies the original geometry request that was sent to the geometry manager that returned XtGeometryAlmost.
reply Specifies the compromise geometry that was returned by the geometry manager that returned XtGeometryAlmost.
Description
XtAlmostProc is the type of the core set_values_almost() method. See set_values_almost(4) for more information.
See Alsoset_values_almost(4).
Xt - Widget Method Prototypes XtAlmostProc()
Check Out this Related Man Page
root_geometry_manager() root_geometry_manager()
Name
root_geometry_manager - Shell class method called to negotiate shell geometry requests with a window manager.
Synopsis
typedef XtGeometryResult (*XtGeometryHandler)(Widget, XtWidgetGeometry *,
XtWidgetGeometry *);
Widget w;
XtWidgetGeometry *request;
XtWidgetGeometry *geometry_return;
Inputs
w Specifies the shell widget making the request.
request Specifies the requested geometry.
Outputs
geometry_return
Specifies the reply geometry.
Returns
The window manager's reply: XtGeometryYes, XtGeometryNo, XtGeometryAlmost, or XtGeometryDone.
Availability
Release 4 and later.
Description
The root_geometry_manager() method is registered on the root_geometry_manager field of a ShellClassExtensionRec structure with record_type
NULLQUARK, which is itself registered on the extension field of the Shell class part structure. The root_geometry_manager() method will be
called when a shell widget calls XtMakeGeometryRequest() or XtMakeResizeRequest(), and should negotiate the requested size with the window
manager.
The arguments to this method are the same as those passed to the geometry_manager() method. The root_geometry_manager() method should pass
the geometry request on to the window manager. If the window manager permits the new geometry, the root_geometry_manager() should return
XtGeometryYes; if the window manager denies the geometry request or it does not change the window geometry within some timeout interval
(the XtNwmTimeout resource for WMShell, for example), the root_geometry_manager() should return XtGeometryNo. If the window manager makes
some alternative geometry change, the root_geometry_manager() method may either return XtGeometryNo and handle the new geometry as a
resize, or may return XtGeometryAlmost in anticipation that the shell will accept the compromise. If the compromise is not accepted, the
new size must then be handled as a resize.
Communication with a window manager is an asynchronous process, but the root_geometry_manager() procedure must return its answer syn-
chronously. It will have to issue its request and then block until the reply arrives.
The root_geometry_manager() method is not chained. It can be inherited by specifying XtInheritRootGeometryManager in the Shell extension
record. If there is no Shell extension record with record_type equal to NULLQUARK, then the Intrinsics will behave as if an extension was
specified with XtInheritRootGeometryManager.
See the Inter-Client Communications Conventions Manual for information on communicating with window managers. See geometry_manager(4) for
a description of the structures and the possible return values of this method.
Usage
The root_geometry_manager() method of the Shell class itself handles communication with ICCCM-compliant window managers. It sets the
appropriate properties to make the geometry request, then uses XCheckIfEvent() to block until an ConfigureNotify event arrives in reply.
This method also uses private functions internal to the Intrinsics in order to correctly handle the events. Because of the complexity and
implementation-specific nature of this method, classes that want to define a custom root_geometry_manager() method should make their
requests to the window manager, and then call their superclass's method to make additional requests, block, and get the response.
See AlsoXtMakeGeometryRequest(1), XtMakeResizeRequest(1),
Shell(3),
geometry_manager(4).
Xt - Intrinsics Methods root_geometry_manager()