Map windows using
XMapWindow(display,w) XMapSubwindows(display,w) XUnmapWindow(display,w) XUnmapSubwindows(display,w)There are also a few fairly self-explanatory calls which can be used to move the windows around and shuffle them to the top and bottom of the pile like papers on a desk. The window manager may well interfere with your intentions, though - it's up to the user where top-level windows are, and which is on top.
XChangeWindowAttributes(display,w,valuemask,attributes) XSetWindowAttributes *attributes; XConfigureWindow(display,w, x, y, valuemask, values) unsigned int valuemask /* to select relevant fields of value */ XWindowChanges *values; /* contains new details */ XResizeWindow(display,w,width,height); XMoveResizeWindow(display,w,x,y,width,height); XSetWindowBorderWidth(display,w,width); XRaiseWindow(display,w) /* raise the window to the front */ XLowerWindow(display,w) /* lower window to the back */ XMoveWindow(display,w, x, y) /* move and raise w */ XCirculateSubwindows(display,w,direction); /* direction is RaiseLowest or LowerHighest*/ XCirculateSubwindowsUp(display,w) /* raises the lowest mapped child */ XCirculateSubwindowsDown(display,w) /* lowers the highest mapped child*/