diff options
Diffstat (limited to 'src/events/Windows.cpp')
| -rw-r--r-- | src/events/Windows.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp index 256b58d7..5683eb45 100644 --- a/src/events/Windows.cpp +++ b/src/events/Windows.cpp @@ -53,10 +53,10 @@ void Events::listener_mapWindow(void* owner, void* data) { static auto *const PSWALLOWREGEX = &g_pConfigManager->getConfigValuePtr("misc:swallow_regex")->strValue; auto PMONITOR = g_pCompositor->m_pLastMonitor; - const auto PWORKSPACE = PMONITOR->specialWorkspaceOpen ? g_pCompositor->getWorkspaceByID(SPECIAL_WORKSPACE_ID) : g_pCompositor->getWorkspaceByID(PMONITOR->activeWorkspace); + const auto PWORKSPACE = PMONITOR->specialWorkspaceID ? g_pCompositor->getWorkspaceByID(PMONITOR->specialWorkspaceID) : g_pCompositor->getWorkspaceByID(PMONITOR->activeWorkspace); PWINDOW->m_iMonitorID = PMONITOR->ID; PWINDOW->m_bMappedX11 = true; - PWINDOW->m_iWorkspaceID = PMONITOR->specialWorkspaceOpen ? SPECIAL_WORKSPACE_ID : PMONITOR->activeWorkspace; + PWINDOW->m_iWorkspaceID = PMONITOR->specialWorkspaceID ? PMONITOR->specialWorkspaceID : PMONITOR->activeWorkspace; PWINDOW->m_bIsMapped = true; PWINDOW->m_bReadyToDelete = false; PWINDOW->m_bFadingOut = false; @@ -211,9 +211,8 @@ void Events::listener_mapWindow(void* owner, void* data) { shouldFocus = true; } - if (requestedWorkspace == "special") { + if (requestedWorkspace.find("special" == 0)) { workspaceSpecial = true; - workspaceSilent = true; } if (!workspaceSilent) { @@ -240,7 +239,7 @@ void Events::listener_mapWindow(void* owner, void* data) { workspaceID = g_pCompositor->getNextAvailableNamedWorkspace(); } else if (workspaceSpecial) { workspaceName = ""; - workspaceID = SPECIAL_WORKSPACE_ID; + workspaceID = getWorkspaceIDFromString(requestedWorkspace, workspaceName); } else { try { workspaceID = std::stoi(requestedWorkspace); |
