mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-22 21:06:01 +01:00
fix up moving to special workspace
This commit is contained in:
parent
6c8d993477
commit
3c9a7811b8
1 changed files with 5 additions and 15 deletions
|
@ -899,9 +899,7 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) {
|
||||||
|
|
||||||
g_pLayoutManager->getCurrentLayout()->onWindowRemoved(PWINDOW);
|
g_pLayoutManager->getCurrentLayout()->onWindowRemoved(PWINDOW);
|
||||||
|
|
||||||
g_pKeybindManager->changeworkspace(args);
|
auto PWORKSPACE = g_pCompositor->getWorkspaceByID(WORKSPACEID);
|
||||||
|
|
||||||
const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(WORKSPACEID);
|
|
||||||
|
|
||||||
if (PWORKSPACE == OLDWORKSPACE) {
|
if (PWORKSPACE == OLDWORKSPACE) {
|
||||||
Debug::log(LOG, "Not moving to workspace because it didn't change.");
|
Debug::log(LOG, "Not moving to workspace because it didn't change.");
|
||||||
|
@ -909,8 +907,8 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!PWORKSPACE) {
|
if (!PWORKSPACE) {
|
||||||
Debug::log(ERR, "Workspace null in moveActiveToWorkspace?");
|
// create
|
||||||
return;
|
PWORKSPACE = g_pCompositor->createNewWorkspace(WORKSPACEID, OLDWORKSPACE->m_iMonitorID, workspaceName);
|
||||||
}
|
}
|
||||||
|
|
||||||
PWINDOW->moveToWorkspace(PWORKSPACE->m_iID);
|
PWINDOW->moveToWorkspace(PWORKSPACE->m_iID);
|
||||||
|
@ -936,16 +934,8 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) {
|
||||||
g_pCompositor->setWindowFullscreen(PWINDOW, true, OLDWORKSPACE->m_efFullscreenMode);
|
g_pCompositor->setWindowFullscreen(PWINDOW, true, OLDWORKSPACE->m_efFullscreenMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
// undo the damage if we are moving to the special workspace
|
if (!g_pCompositor->isWorkspaceSpecial(WORKSPACEID)) {
|
||||||
if (g_pCompositor->isWorkspaceSpecial(WORKSPACEID)) {
|
g_pKeybindManager->changeworkspace(args);
|
||||||
changeworkspace("[internal]" + std::to_string(OLDWORKSPACE->m_iID));
|
|
||||||
OLDWORKSPACE->startAnim(true, true, true);
|
|
||||||
toggleSpecialWorkspace(workspaceName.length() > 7 ? workspaceName.substr(8) : workspaceName /* remove special: */);
|
|
||||||
g_pCompositor->getWorkspaceByID(WORKSPACEID)->startAnim(false, false, true);
|
|
||||||
|
|
||||||
for (auto& m : g_pCompositor->m_vMonitors)
|
|
||||||
m->specialWorkspaceID = 0;
|
|
||||||
} else {
|
|
||||||
g_pCompositor->focusWindow(PWINDOW);
|
g_pCompositor->focusWindow(PWINDOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue