3983
3983
* if serverPrev was recently restacked */
3984
3984
if (window->serverPrev)
3986
bool pendingRestacks = false;
3988
foreach (XWCValueMask &xwcvm, sibling->priv->pendingConfigures)
3990
if (xwcvm.second & (CWSibling | CWStackMode))
3992
pendingRestacks = true;
3997
if (!sibling && window->serverPrev)
3988
XWindowChanges lxwc;
4000
3989
unsigned int valueMask = CWStackMode;
4002
xwc.stack_mode = Below;
3991
lxwc.stack_mode = Below;
4004
3993
/* Below with no sibling puts the window at the bottom
4005
3994
* of the stack */
4006
XConfigureWindow (screen->dpy (), ROOTPARENT (window), valueMask, &xwc);
3995
XConfigureWindow (screen->dpy (), ROOTPARENT (window), valueMask, &lxwc);
4008
3997
if (serverFrame)
4009
priv->addPendingConfigure (xwc, CWStackMode);
3998
priv->addPendingConfigure (lxwc, CWStackMode);
4011
4000
/* Update the list of windows last sent to the server */
4012
4001
screen->unhookServerWindow (window);
4013
4002
screen->insertServerWindow (window, 0);
4015
else if (sibling->priv->id != window->serverPrev->priv->id ||
4018
mask |= CWSibling | CWStackMode;
4020
xwc->stack_mode = Above;
4021
xwc->sibling = ROOTPARENT (sibling);
4006
bool pendingRestacks = false;
4008
foreach (XWCValueMask &xwcvm, sibling->priv->pendingConfigures)
4010
if (xwcvm.second & (CWSibling | CWStackMode))
4012
pendingRestacks = true;
4017
if (sibling->priv->id != window->serverPrev->priv->id || pendingRestacks)
4019
mask |= CWSibling | CWStackMode;
4021
xwc->stack_mode = Above;
4022
xwc->sibling = ROOTPARENT (sibling);
4024
4026
else if (sibling)