---
name: "XtMakeGeometryRequest"
section: "3x"
platform: "linux"
package: "libxt-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XtMakeGeometryRequest/3x"
---

# XtMakeGeometryRequest(3x)

make geometry manager request

## NAME

XtMakeGeometryRequest, XtMakeResizeRequest - make geometry manager request

## SYNTAX

XtGeometryResult XtMakeGeometryRequest(Widget *w*, XtWidgetGeometry \**request*, XtWidgetGeometry \**reply\_return*);

XtGeometryResult XtMakeResizeRequest(Widget *w*, Dimension *width*, *height*, Dimension \**width\_return*, Dimension \**height\_return*);

## ARGUMENTS

- *reply\_return*

  Returns the allowed widget size or may be NULL if the requesting widget is not interested in handling *XtGeometryAlmost*.

- *request*

  Specifies the desired widget geometry (size, position, border width, and stacking order).

- *w*

  Specifies the widget that is making the request.

- *width\_return*

  - *height\_return*

  Return the allowed widget width and height.

## DESCRIPTION

Depending on the condition, *XtMakeGeometryRequest* performs the following:

- •

  If the widget is unmanaged or the widget's parent is not realized, it makes the changes and returns *XtGeometryYes*.

- •

  If the parent is not a subclass of *compositeWidgetClass* or the parent's geometry\_manager is NULL, it issues an error.

- •

  If the widget's being\_destroyed field is  *True*, it returns *XtGeometryNo*.

- •

  If the widget x, y, width, height and border\_width fields are all equal to the requested values, it returns *XtGeometryYes*; otherwise, it calls the parent's geometry\_manager procedure  with the given parameters.

- •

  If the parent's geometry manager returns *XtGeometryYes* and if *XtCWQueryOnly* is not set in the request\_mode and if the widget is realized, *XtMakeGeometryRequest* calls the  *XConfigureWindow* Xlib function to reconfigure the widget's window (set its size, location,  and stacking order as appropriate).

- •

  If the geometry manager returns *XtGeometryDone*, the change has been approved and actually has been done. In this case, *XtMakeGeometryRequest* does no configuring and returns  *XtGeometryYes*. *XtMakeGeometryRequest* never returns *XtGeometryDone*.

Otherwise, *XtMakeGeometryRequest* returns the resulting value from the parent's geometry manager.

Children of primitive widgets are always unmanaged; thus, *XtMakeGeometryRequest* always returns *XtGeometryYes* when called by a child of a primitive widget.

The *XtMakeResizeRequest* function, a simple interface to *XtMakeGeometryRequest*, creates a *XtWidgetGeometry* structure and specifies that width and height should change. The geometry manager is free to modify any of the other window attributes (position or stacking order) to satisfy the resize request. If the return value is *XtGeometryAlmost*, width\_return and height\_return contain a compromise width and height. If these are acceptable, the widget should immediately make an *XtMakeResizeRequest* and request that the compromise width and height be applied. If the widget is not interested in *XtGeometryAlmost* replies,  it can pass NULL for width\_return and height\_return.

## SEE ALSO

XtConfigureWidget(3Xt), XtQueryGeometery(3Xt)\
 *X Toolkit Intrinsics - C Language Interface*\
 *Xlib - C Language X Interface*
