aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorvaxerski <[email protected]>2022-11-20 18:50:22 +0000
committervaxerski <[email protected]>2022-11-20 18:50:27 +0000
commitbe03a6186c22f915d3d92df71d2e74c64e816245 (patch)
tree8b25044bad49539590f29b1e8a49b3e43bfe06fa
parent41a8975bd12f42732955ffc56c4a371f3c925205 (diff)
downloadHyprland-be03a6186c22f915d3d92df71d2e74c64e816245.tar.gz
Hyprland-be03a6186c22f915d3d92df71d2e74c64e816245.zip
fix invisible windows on moving fullscreen out
-rw-r--r--src/managers/KeybindManager.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp
index a129ac59..cb44e5ea 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -893,6 +893,7 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) {
auto PSAVEDSIZE = PWINDOW->m_vRealSize.goalv();
auto PSAVEDPOS = PWINDOW->m_vRealPosition.goalv();
+ const bool WASFULLSCREEN = PWINDOW->m_bIsFullscreen;
g_pLayoutManager->getCurrentLayout()->onWindowRemoved(PWINDOW);
@@ -910,15 +911,9 @@ void CKeybindManager::moveActiveToWorkspace(std::string args) {
return;
}
- OLDWORKSPACE->m_bHasFullscreenWindow = false;
-
PWINDOW->moveToWorkspace(PWORKSPACE->m_iID);
PWINDOW->m_iMonitorID = PWORKSPACE->m_iMonitorID;
- if (PWINDOW->m_bIsFullscreen) {
- g_pCompositor->setWindowFullscreen(PWINDOW, false, FULLSCREEN_FULL);
- }
-
if (PWORKSPACE->m_bHasFullscreenWindow) {
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();
}
+ if (WASFULLSCREEN) {
+ g_pCompositor->setWindowFullscreen(PWINDOW, true, OLDWORKSPACE->m_efFullscreenMode);
+ }
+
// undo the damage if we are moving to the special workspace
if (WORKSPACEID == SPECIAL_WORKSPACE_ID) {
changeworkspace("[internal]" + std::to_string(OLDWORKSPACE->m_iID));