summaryrefslogtreecommitdiff
path: root/src/layout/MasterLayout.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2023-11-01 01:28:43 +0000
committerVaxry <vaxry@vaxry.net>2023-11-01 01:28:43 +0000
commit7b32b4214d028a173c8192bddaa9e43503326080 (patch)
treeaf6a2a5fbf49852f87f084bfb53ae6b81fcad2bf /src/layout/MasterLayout.cpp
parent6914103289125c4c909c1f17e53f9bdd02a66e62 (diff)
layout: avoid redundant size sets on new fullscreen
Diffstat (limited to 'src/layout/MasterLayout.cpp')
-rw-r--r--src/layout/MasterLayout.cpp7
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);
}
}