diff --git a/useractions.cpp b/useractions.cpp index be7bce42de..0ca721f5bc 100644 --- a/useractions.cpp +++ b/useractions.cpp @@ -571,6 +571,10 @@ bool Client::performMouseCommand( Options::MouseCommand command, const QPoint &g break; case Options::MouseLower: workspace()->lowerClient( this ); + // As this most likely makes the window no longer visible change the + // keyboard focus to the next available window. + //workspace()->activateNextClient( this ); // Doesn't work when we lower a child window + workspace()->activateClient( workspace()->topClientOnDesktop( workspace()->currentDesktop(), -1 )); break; case Options::MouseShade : toggleShade(); @@ -948,7 +952,13 @@ void Workspace::slotWindowLower() { Client* c = active_popup_client ? active_popup_client : active_client; if ( c ) + { lowerClient( c ); + // As this most likely makes the window no longer visible change the + // keyboard focus to the next available window. + //activateNextClient( c ); // Doesn't work when we lower a child window + activateClient( topClientOnDesktop( currentDesktop(), -1 )); + } } /*!