diff options
| author | Vaxry <vaxry@vaxry.net> | 2023-11-01 01:28:43 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2023-11-01 01:28:43 +0000 |
| commit | 7b32b4214d028a173c8192bddaa9e43503326080 (patch) | |
| tree | af6a2a5fbf49852f87f084bfb53ae6b81fcad2bf /src/layout/MasterLayout.cpp | |
| parent | 6914103289125c4c909c1f17e53f9bdd02a66e62 (diff) | |
layout: avoid redundant size sets on new fullscreen
Diffstat (limited to 'src/layout/MasterLayout.cpp')
| -rw-r--r-- | src/layout/MasterLayout.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/layout/MasterLayout.cpp b/src/layout/MasterLayout.cpp index 33b8f62d..abc0fe9c 100644 --- a/src/layout/MasterLayout.cpp +++ b/src/layout/MasterLayout.cpp @@ -566,7 +566,7 @@ void CHyprMasterLayout::calculateWorkspace(const int& ws) { } } -void CHyprMasterLayout::applyNodeDataToWindow(SMasterNodeData* pNode) { +void CHyprMasterLayout::applyNodeDataToWindow(SMasterNodeData* pNode, bool force) { CMonitor* PMONITOR = nullptr; if (g_pCompositor->isWorkspaceSpecial(pNode->workspaceID)) { @@ -596,6 +596,9 @@ void CHyprMasterLayout::applyNodeDataToWindow(SMasterNodeData* pNode) { // if user specified them in config const auto WORKSPACERULE = g_pConfigManager->getWorkspaceRuleFor(g_pCompositor->getWorkspaceByID(PWINDOW->m_iWorkspaceID)); + if (PWINDOW->m_bIsFullscreen && !force) + return; + PWINDOW->updateSpecialRenderData(); static auto* const PGAPSIN = &g_pConfigManager->getConfigValuePtr("general:gaps_in")->intValue; @@ -889,7 +892,7 @@ void CHyprMasterLayout::fullscreenRequestForWindow(CWindow* pWindow, eFullscreen pWindow->m_vPosition = fakeNode.position; pWindow->m_vSize = fakeNode.size; - applyNodeDataToWindow(&fakeNode); + applyNodeDataToWindow(&fakeNode, true); } } |
