mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-08 08:25:58 +01:00
parent
22721a37d5
commit
dc78c58c77
2 changed files with 21 additions and 22 deletions
|
@ -462,17 +462,14 @@ void CHyprDwindleLayout::recalculateMonitor(const int& monid) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ignore any recalc events if we have a fullscreen window, but process if fullscreen mode 2
|
|
||||||
if (PWORKSPACE->m_bHasFullscreenWindow) {
|
if (PWORKSPACE->m_bHasFullscreenWindow) {
|
||||||
if (PWORKSPACE->m_efFullscreenMode == FULLSCREEN_FULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// massive hack from the fullscreen func
|
// massive hack from the fullscreen func
|
||||||
const auto PFULLWINDOW = g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID);
|
const auto PFULLWINDOW = g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID);
|
||||||
|
|
||||||
if (!PFULLWINDOW) { // ????
|
if (PWORKSPACE->m_efFullscreenMode == FULLSCREEN_FULL) {
|
||||||
PWORKSPACE->m_bHasFullscreenWindow = false;
|
PFULLWINDOW->m_vRealPosition = PMONITOR->vecPosition;
|
||||||
} else {
|
PFULLWINDOW->m_vRealSize = PMONITOR->vecSize;
|
||||||
|
} else if (PWORKSPACE->m_efFullscreenMode == FULLSCREEN_MAXIMIZED) {
|
||||||
SDwindleNodeData fakeNode;
|
SDwindleNodeData fakeNode;
|
||||||
fakeNode.pWindow = PFULLWINDOW;
|
fakeNode.pWindow = PFULLWINDOW;
|
||||||
fakeNode.position = PMONITOR->vecPosition + PMONITOR->vecReservedTopLeft;
|
fakeNode.position = PMONITOR->vecPosition + PMONITOR->vecReservedTopLeft;
|
||||||
|
@ -482,10 +479,10 @@ void CHyprDwindleLayout::recalculateMonitor(const int& monid) {
|
||||||
PFULLWINDOW->m_vSize = fakeNode.size;
|
PFULLWINDOW->m_vSize = fakeNode.size;
|
||||||
|
|
||||||
applyNodeDataToWindow(&fakeNode);
|
applyNodeDataToWindow(&fakeNode);
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
const auto TOPNODE = getMasterNodeOnWorkspace(PMONITOR->activeWorkspace);
|
const auto TOPNODE = getMasterNodeOnWorkspace(PMONITOR->activeWorkspace);
|
||||||
|
|
||||||
|
|
|
@ -203,12 +203,13 @@ void CHyprMasterLayout::recalculateMonitor(const int& monid) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PWORKSPACE->m_bHasFullscreenWindow) {
|
if (PWORKSPACE->m_bHasFullscreenWindow) {
|
||||||
if (PWORKSPACE->m_efFullscreenMode == FULLSCREEN_FULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// massive hack from the fullscreen func
|
// massive hack from the fullscreen func
|
||||||
const auto PFULLWINDOW = g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID);
|
const auto PFULLWINDOW = g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID);
|
||||||
|
|
||||||
|
if (PWORKSPACE->m_efFullscreenMode == FULLSCREEN_FULL) {
|
||||||
|
PFULLWINDOW->m_vRealPosition = PMONITOR->vecPosition;
|
||||||
|
PFULLWINDOW->m_vRealSize = PMONITOR->vecSize;
|
||||||
|
} else if (PWORKSPACE->m_efFullscreenMode == FULLSCREEN_MAXIMIZED) {
|
||||||
SMasterNodeData fakeNode;
|
SMasterNodeData fakeNode;
|
||||||
fakeNode.pWindow = PFULLWINDOW;
|
fakeNode.pWindow = PFULLWINDOW;
|
||||||
fakeNode.position = PMONITOR->vecPosition + PMONITOR->vecReservedTopLeft;
|
fakeNode.position = PMONITOR->vecPosition + PMONITOR->vecReservedTopLeft;
|
||||||
|
@ -218,6 +219,7 @@ void CHyprMasterLayout::recalculateMonitor(const int& monid) {
|
||||||
PFULLWINDOW->m_vSize = fakeNode.size;
|
PFULLWINDOW->m_vSize = fakeNode.size;
|
||||||
|
|
||||||
applyNodeDataToWindow(&fakeNode);
|
applyNodeDataToWindow(&fakeNode);
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue