diff --git a/workspace.cpp b/workspace.cpp index b41717500e..4e926cf18f 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -1017,13 +1017,13 @@ void Workspace::setActiveClient( Client* c ) setActiveClient() and the operation is complete. This may not happen with certain focus policies, though. - \sa setActiveClient(), requestFocus() + \sa stActiveClient(), requestFocus() */ void Workspace::activateClient( Client* c, bool force ) { - if (!c->isOnDesktop(currentDesktop()) ) { - setCurrentDesktop( c->desktop() ); - } + //if (!c->isOnDesktop(currentDesktop()) ) { + // setCurrentDesktop( c->desktop() ); + //} raiseClient( c ); if ( c->isIconified() ) Events::raise( Events::DeIconify ); @@ -1032,6 +1032,10 @@ void Workspace::activateClient( Client* c, bool force ) if ( options->focusPolicyIsReasonable() ) { requestFocus( c, force ); } + + if (!c->isOnDesktop(currentDesktop()) ) { + setCurrentDesktop( c->desktop() ); + } } void Workspace::iconifyOrDeiconifyTransientsOf( Client* c )