diff --git a/activation.cpp b/activation.cpp index ed2632da2e..c3ab3920d5 100644 --- a/activation.cpp +++ b/activation.cpp @@ -922,7 +922,11 @@ void Client::updateUrgency() void Client::shortcutActivated() { - workspace()->activateClient(this, true); // force + Client* raised_client = workspace()->topClientOnDesktop(desktop(), -1); + if (isActive() && this == raised_client) // if client is already raised, pressing its shorcut hides it, giving the shortcut a 'toggle' effect + setMinimized(true); + else + workspace()->activateClient(this, true); // force } //****************************************