Tk_GeometryRequest(3) Tk Library Procedures Tk_GeometryRequest(3)______________________________________________________________________________NAME
Tk_GeometryRequest, Tk_SetInternalBorder - specify desired geometry or
internal border for a window
Tk_GeometryRequest(tkwin, reqWidth, reqHeight)
Tk_Window tkwin (in) Window for which geometry is being
int reqWidth (in) Desired width for tkwin, in pixel
int reqHeight (in) Desired height for tkwin, in pixel
int width (in) Space to leave for internal border
for tkwin, in pixel units.
Tk_GeometryRequest is called by widget code to indicate its preference
for the dimensions of a particular window. The arguments to Tk_Geome‐
tryRequest are made available to the geometry manager for the window,
which then decides on the actual geometry for the window. Although
geometry managers generally try to satisfy requests made to Tk_Geome‐
tryRequest, there is no guarantee that this will always be possible.
Widget code should not assume that a geometry request will be satisfied
until it receives a ConfigureNotify event indicating that the geometry
change has occurred. Widget code should never call procedures like
Tk_ResizeWindow directly. Instead, it should invoke Tk_GeometryRequest
and leave the final geometry decisions to the geometry manager.
If tkwin is a top-level window, then the geometry information will be
passed to the window manager using the standard ICCCM protocol.
Tk_SetInternalBorder is called by widget code to indicate that the wid‐
get has an internal border. This means that the widget draws a decora‐
tive border inside the window instead of using the standard X borders,
which are external to the window's area. For example, internal borders
are used to draw 3-D effects. Width specifies the width of the border
in pixels. Geometry managers will use this information to avoid plac‐
ing any children of tkwin overlapping the outermost width pixels of
The information specified in calls to Tk_GeometryRequest and Tk_Set‐
InternalBorder can be retrieved using the macros Tk_ReqWidth,
Tk_ReqHeight, and Tk_InternalBorderWidth. See the Tk_WindowId manual
entry for details.