XReparentWindow(display, w, parent, x, y)
      Display *display;
      Window w;
      Window parent;
      int x, y;


display Specifies the connection to the X server.
w Specifies the window.
parent Specifies the parent window.
Specify the x and y coordinates of the position in the new parent window.


If the specified window is mapped, XReparentWindow() automatically performs an UnmapWindow request on it, removes it from its current position in the hierarchy, and inserts it as the child of the specified parent. The window is placed in the stacking order on top with respect to sibling windows.

After reparenting the specified window, XReparentWindow() causes the X server to generate a ReparentNotify event. The override_redirect member returned in this event is set to the window's corresponding attribute. Window manager clients usually should ignore this window if this member is set to True . Finally, if the specified window was originally mapped, the X server automatically performs a MapWindow request on it.

The X server performs normal exposure processing on formerly obscured windows. The X server might not generate Expose events for regions from the initial UnmapWindow request that are immediately obscured by the final MapWindow request. A BadMatch error results if:

XReparentWindow() can generate BadMatch and BadWindow errors.


BadMatch An InputOnly window is used as a Drawable.
BadMatch Some argument or pair of arguments has the correct type and range but fails to match in some other way required by the request.
BadWindow A value for a Window argument does not name a defined Window.

See also

XChangeSaveSet(), "Changing the Parent of a Window".
Christophe Tronche, [email protected]