mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-07 07:31:53 -07:00
@@ -776,6 +776,14 @@ void CHyprDwindleLayout::fullscreenRequestForWindow(CWindow* pWindow, eFullscree
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// save position and size if floating
|
||||||
|
if (pWindow->m_bIsFloating && on) {
|
||||||
|
pWindow->m_vLastFloatingSize = pWindow->m_vRealSize.goalv();
|
||||||
|
pWindow->m_vLastFloatingPosition = pWindow->m_vRealPosition.goalv();
|
||||||
|
pWindow->m_vPosition = pWindow->m_vRealPosition.goalv();
|
||||||
|
pWindow->m_vSize = pWindow->m_vRealSize.goalv();
|
||||||
|
}
|
||||||
|
|
||||||
// otherwise, accept it.
|
// otherwise, accept it.
|
||||||
pWindow->m_bIsFullscreen = on;
|
pWindow->m_bIsFullscreen = on;
|
||||||
PWORKSPACE->m_bHasFullscreenWindow = !PWORKSPACE->m_bHasFullscreenWindow;
|
PWORKSPACE->m_bHasFullscreenWindow = !PWORKSPACE->m_bHasFullscreenWindow;
|
||||||
@@ -803,14 +811,6 @@ void CHyprDwindleLayout::fullscreenRequestForWindow(CWindow* pWindow, eFullscree
|
|||||||
|
|
||||||
PWORKSPACE->m_efFullscreenMode = fullscreenMode;
|
PWORKSPACE->m_efFullscreenMode = fullscreenMode;
|
||||||
|
|
||||||
// save position and size if floating
|
|
||||||
if (pWindow->m_bIsFloating) {
|
|
||||||
pWindow->m_vLastFloatingSize = pWindow->m_vRealSize.goalv();
|
|
||||||
pWindow->m_vLastFloatingPosition = pWindow->m_vRealPosition.goalv();
|
|
||||||
pWindow->m_vPosition = pWindow->m_vRealPosition.goalv();
|
|
||||||
pWindow->m_vSize = pWindow->m_vRealSize.goalv();
|
|
||||||
}
|
|
||||||
|
|
||||||
// apply new pos and size being monitors' box
|
// apply new pos and size being monitors' box
|
||||||
if (fullscreenMode == FULLSCREEN_FULL) {
|
if (fullscreenMode == FULLSCREEN_FULL) {
|
||||||
pWindow->m_vRealPosition = PMONITOR->vecPosition;
|
pWindow->m_vRealPosition = PMONITOR->vecPosition;
|
||||||
|
@@ -879,6 +879,14 @@ void CHyprMasterLayout::fullscreenRequestForWindow(CWindow* pWindow, eFullscreen
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// save position and size if floating
|
||||||
|
if (pWindow->m_bIsFloating && on) {
|
||||||
|
pWindow->m_vLastFloatingSize = pWindow->m_vRealSize.goalv();
|
||||||
|
pWindow->m_vLastFloatingPosition = pWindow->m_vRealPosition.goalv();
|
||||||
|
pWindow->m_vPosition = pWindow->m_vRealPosition.goalv();
|
||||||
|
pWindow->m_vSize = pWindow->m_vRealSize.goalv();
|
||||||
|
}
|
||||||
|
|
||||||
// otherwise, accept it.
|
// otherwise, accept it.
|
||||||
pWindow->m_bIsFullscreen = on;
|
pWindow->m_bIsFullscreen = on;
|
||||||
PWORKSPACE->m_bHasFullscreenWindow = !PWORKSPACE->m_bHasFullscreenWindow;
|
PWORKSPACE->m_bHasFullscreenWindow = !PWORKSPACE->m_bHasFullscreenWindow;
|
||||||
@@ -906,14 +914,6 @@ void CHyprMasterLayout::fullscreenRequestForWindow(CWindow* pWindow, eFullscreen
|
|||||||
|
|
||||||
PWORKSPACE->m_efFullscreenMode = fullscreenMode;
|
PWORKSPACE->m_efFullscreenMode = fullscreenMode;
|
||||||
|
|
||||||
// save position and size if floating
|
|
||||||
if (pWindow->m_bIsFloating) {
|
|
||||||
pWindow->m_vLastFloatingSize = pWindow->m_vRealSize.goalv();
|
|
||||||
pWindow->m_vLastFloatingPosition = pWindow->m_vRealPosition.goalv();
|
|
||||||
pWindow->m_vPosition = pWindow->m_vRealPosition.goalv();
|
|
||||||
pWindow->m_vSize = pWindow->m_vRealSize.goalv();
|
|
||||||
}
|
|
||||||
|
|
||||||
// apply new pos and size being monitors' box
|
// apply new pos and size being monitors' box
|
||||||
if (fullscreenMode == FULLSCREEN_FULL) {
|
if (fullscreenMode == FULLSCREEN_FULL) {
|
||||||
pWindow->m_vRealPosition = PMONITOR->vecPosition;
|
pWindow->m_vRealPosition = PMONITOR->vecPosition;
|
||||||
|
Reference in New Issue
Block a user