layout: avoid redundant size sets on new fullscreen

This commit is contained in:
Vaxry
2023-11-01 01:28:43 +00:00
parent 6914103289
commit 7b32b4214d
3 changed files with 10 additions and 4 deletions

View File

@@ -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);
}
}