int XDestroyWindow(Display *display, Window w);
int XDestroySubwindows(Display *display, Window w);
Specifies the connection to the X server.
Specifies the window.
The XDestroyWindow function destroys the specified window as well as all of its subwindows and causes the X server to generate a DestroyNotify event for each window. The window should never be referenced again. If the window specified by the w argument is mapped, it is unmapped automatically. The ordering of the DestroyNotify events is such that for any given window being destroyed, DestroyNotify is generated on any inferiors of the window before being generated on the window itself. The ordering among siblings and across subhierarchies is not otherwise constrained. If the window you specified is a root window, no windows are destroyed. Destroying a mapped window will generate Expose events on other windows that were obscured by the window being destroyed.
XDestroyWindow can generate a BadWindow error.
The XDestroySubwindows function destroys all inferior windows of the specified window, in bottom-to-top stacking order. It causes the X server to generate a DestroyNotify event for each window. If any mapped subwindows were actually destroyed, XDestroySubwindows causes the X server to generate Expose events on the specified window. This is much more efficient than deleting many windows one at a time because much of the work need be performed only once for all of the windows, rather than for each window. The subwindows should never be referenced again.
XDestroySubwindows can generate a BadWindow error.
A value for a Window argument does not name a defined Window.
XChangeWindowAttributes(3), XConfigureWindow(3), XCreateWindow(3), XMapWindow(3), XRaiseWindow(3), XUnmapWindow(3)
Xlib - C Language X Interface
XChangeWindowAttributes(3), XConfigureWindow(3), XCreateWindow(3), XIconifyWindow(3), XMapWindow(3), XRaiseWindow(3), XUnmapWindow(3).
The man page XDestroySubwindows(3) is an alias of XDestroyWindow(3).