windowmenu = 0;
/*
- get the initial size and location of client window (relative to the
+ set the initial size and location of client window (relative to the
_root window_). This position is the reference point used with the
window's gravity to find the window's initial position.
*/
#endif // DEBUG
/*
- Even thought the window wants to be shown, if it is not on the current
+ Even though the window wants to be shown, if it is not on the current
workspace, then it isn't going to be shown right now.
*/
- if (blackbox_attrib.workspace != screen->getCurrentWorkspaceID())
- current_state = WithdrawnState;
+ if (blackbox_attrib.workspace != screen->getCurrentWorkspaceID() &&
+ blackbox_attrib.workspace < screen->getWorkspaceCount())
+ if (current_state == NormalState) current_state = WithdrawnState;
switch (current_state) {
case IconicState:
// determine if this is a transient window
getTransientInfo();
+ if (flags.stuck != s) stick();
+
// adjust the window decorations based on transience
if (isTransient()) {
functions &= ~Func_Maximize;
setAllowedActions();
setupDecor();
- if (flags.stuck != s) stick();
}
reconfigure();