XCirculateSubwindows(display, w, direction)
      Display *display;
      Window w;
      int direction;


display Specifies the connection to the X server.
w Specifies the window.
direction Specifies the direction (up or down) that you want to circulate the window. You can pass RaiseLowest or LowerHighest.


The XCirculateSubwindows() function circulates children of the specified window in the specified direction. If you specify RaiseLowest, XCirculateSubwindows() raises the lowest mapped child (if any) that is occluded by another child to the top of the stack. If you specify LowerHighest, XCirculateSubwindows() lowers the highest mapped child (if any) that occludes another child to the bottom of the stack. Exposure processing is then performed on formerly obscured windows. If some other client has selected SubstructureRedirectMask on the window, the X server generates a CirculateRequest event, and no further processing is performed. If a child is actually restacked, the X server generates a CirculateNotify event.

XCirculateSubwindows() can generate BadValue and BadWindow errors.


BadValue Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error.
BadWindow A value for a Window argument does not name a defined Window.

See also

XChangeWindowAttributes(), XCirculateSubwindowsDown(), XCirculateSubwindowsUp(), XConfigureWindow(), XCreateWindow(), XDestroyWindow(), XLowerWindow(), XMapWindow(), XRaiseWindow(), XRestackWindows(), "Changing Window Stacking Order"
Christophe Tronche, ch@tronche.com