summaryrefslogtreecommitdiff
path: root/src/events/Windows.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/events/Windows.cpp')
-rw-r--r--src/events/Windows.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index eff01adf..6a6368e7 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -170,6 +170,10 @@ void Events::listener_mapWindow(void* owner, void* data) {
}
requestedWorkspace = requestedWorkspace.substr(0, requestedWorkspace.find_first_of(' '));
+
+ if (requestedWorkspace == "special") {
+ workspaceSilent = true;
+ }
}
if (!workspaceSilent) {
@@ -254,7 +258,10 @@ void Events::listener_mapWindow(void* owner, void* data) {
if (workspaceSilent) {
// move the window
if (g_pCompositor->m_pLastWindow == PWINDOW) {
- g_pKeybindManager->m_mDispatchers["movetoworkspacesilent"](requestedWorkspace);
+ if (requestedWorkspace != "special")
+ g_pKeybindManager->m_mDispatchers["movetoworkspacesilent"](requestedWorkspace);
+ else
+ g_pKeybindManager->m_mDispatchers["movetoworkspace"]("special");
} else {
Debug::log(ERR, "Tried to set workspace silent rule to a nofocus window!");
}