---
name: "XReparentWindow"
section: "3"
platform: "linux"
package: "libx11"
version: "1.8.14-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XReparentWindow"
---

# XReparentWindow(3)

reparent windows

## NAME

XReparentWindow - reparent windows

## SYNTAX

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

## ARGUMENTS

- *display*

  Specifies the connection to the X server.

- *parent*

  Specifies the parent window.

- *w*

  Specifies the window.

- *x*

  - *y*

  Specify the x and y coordinates of the position in the new parent window.

## DESCRIPTION

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:

- •

  The new parent window is not on the same screen as the old parent window.

- •

  The new parent window is the specified window or an inferior of the specified window.

- •

  The new parent is **InputOnly**, and the window is not.

- •

  The specified window has a **ParentRelative** background, and the new parent window is not the same depth as the specified window.

**XReparentWindow** can generate **BadMatch** and **BadWindow** errors.

## DIAGNOSTICS

- **BadWindow**

  A value for a Window argument does not name a defined Window.

## SEE ALSO

[**XChangeSaveSet**(3)](/XChangeSaveSet/3.md)\
 *Xlib - C Language X Interface*
