mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-02 15:25:58 +01:00
fix invisible windows on moving fullscreen out
This commit is contained in:
parent
41a8975bd1
commit
be03a6186c
1 changed files with 5 additions and 6 deletions
|
@ -893,6 +893,7 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) {
|
||||||
|
|
||||||
auto PSAVEDSIZE = PWINDOW->m_vRealSize.goalv();
|
auto PSAVEDSIZE = PWINDOW->m_vRealSize.goalv();
|
||||||
auto PSAVEDPOS = PWINDOW->m_vRealPosition.goalv();
|
auto PSAVEDPOS = PWINDOW->m_vRealPosition.goalv();
|
||||||
|
const bool WASFULLSCREEN = PWINDOW->m_bIsFullscreen;
|
||||||
|
|
||||||
g_pLayoutManager->getCurrentLayout()->onWindowRemoved(PWINDOW);
|
g_pLayoutManager->getCurrentLayout()->onWindowRemoved(PWINDOW);
|
||||||
|
|
||||||
|
@ -910,15 +911,9 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
OLDWORKSPACE->m_bHasFullscreenWindow = false;
|
|
||||||
|
|
||||||
PWINDOW->moveToWorkspace(PWORKSPACE->m_iID);
|
PWINDOW->moveToWorkspace(PWORKSPACE->m_iID);
|
||||||
PWINDOW->m_iMonitorID = PWORKSPACE->m_iMonitorID;
|
PWINDOW->m_iMonitorID = PWORKSPACE->m_iMonitorID;
|
||||||
|
|
||||||
if (PWINDOW->m_bIsFullscreen) {
|
|
||||||
g_pCompositor->setWindowFullscreen(PWINDOW, false, FULLSCREEN_FULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (PWORKSPACE->m_bHasFullscreenWindow) {
|
if (PWORKSPACE->m_bHasFullscreenWindow) {
|
||||||
g_pCompositor->setWindowFullscreen(g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID), false, FULLSCREEN_FULL);
|
g_pCompositor->setWindowFullscreen(g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID), false, FULLSCREEN_FULL);
|
||||||
}
|
}
|
||||||
|
@ -935,6 +930,10 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) {
|
||||||
PWINDOW->m_vPosition = PWINDOW->m_vRealPosition.vec();
|
PWINDOW->m_vPosition = PWINDOW->m_vRealPosition.vec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (WASFULLSCREEN) {
|
||||||
|
g_pCompositor->setWindowFullscreen(PWINDOW, true, OLDWORKSPACE->m_efFullscreenMode);
|
||||||
|
}
|
||||||
|
|
||||||
// undo the damage if we are moving to the special workspace
|
// undo the damage if we are moving to the special workspace
|
||||||
if (WORKSPACEID == SPECIAL_WORKSPACE_ID) {
|
if (WORKSPACEID == SPECIAL_WORKSPACE_ID) {
|
||||||
changeworkspace("[internal]" + std::to_string(OLDWORKSPACE->m_iID));
|
changeworkspace("[internal]" + std::to_string(OLDWORKSPACE->m_iID));
|
||||||
|
|
Loading…
Reference in a new issue