diff --git a/activation.cpp b/activation.cpp index 18bb9022e2..f1259fef78 100644 --- a/activation.cpp +++ b/activation.cpp @@ -884,6 +884,7 @@ void Client::setActive( bool act ) decoration->activeChange(); updateMouseGrab(); updateUrgency(); // demand attention again if it's still urgent + workspace()->checkUnredirect(); } void Client::startupIdChanged() diff --git a/layers.cpp b/layers.cpp index 7734fc2a27..a0564ea700 100644 --- a/layers.cpp +++ b/layers.cpp @@ -850,7 +850,7 @@ bool Client::isActiveFullScreen() const // only raise fullscreen above docks if it's the topmost window in unconstrained stacking order, // i.e. the window set to be topmost by the user (also includes transients of the fullscreen window) const Client* ac = workspace()->mostRecentlyActivatedClient(); // instead of activeClient() - avoids flicker - const Client* top = workspace()->topClientOnDesktop( desktop(), screen(), true, false ); + const Client* top = workspace()->topClientOnDesktop( workspace()->currentDesktop(), screen(), true, false ); return( isFullScreen() && ac != NULL && top != NULL // not needed, for xinerama && ( ac == this || this->group() == ac->group()) && ( top == this || this->group() == top->group()));