Diff
1diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
2index 1199e1a904f252aff46afd53c97fbb1f56d157b6..f8e355af120b2eb4e21eceb298a67aa4fea713b4 100644
3--- a/src/Hy3Layout.cpp
4+++ b/src/Hy3Layout.cpp
5@@ -511,6 +511,7 @@ void Hy3Layout::fullscreenRequestForWindow(
6 *window->m_realSize = window->m_lastFloatingSize;
7
8 window->m_ruleApplicator->resetProps(Desktop::Rule::RULE_PROP_ALL, Desktop::Types::PRIORITY_LAYOUT);
9+ window->updateWindowData();
10 }
11 } else {
12 // save position and size if floating
13@@ -1699,6 +1700,7 @@ void Hy3Layout::applyNodeDataToWindow(Hy3Node* node, bool no_animation) {
14 }
15
16 window->m_ruleApplicator->resetProps(Desktop::Rule::RULE_PROP_ALL, Desktop::Types::PRIORITY_LAYOUT);
17+ window->updateWindowData();
18
19 auto nodeBox = CBox(node->position, node->size);
20 nodeBox.round();
21@@ -1706,6 +1708,8 @@ void Hy3Layout::applyNodeDataToWindow(Hy3Node* node, bool no_animation) {
22 window->m_size = nodeBox.size();
23 window->m_position = nodeBox.pos();
24
25+ window->updateWindowDecos();
26+
27 auto only_node = root_node != nullptr && root_node->data.as_group().children.size() == 1
28 && root_node->data.as_group().children.front()->data.is_window();
29
30@@ -1713,14 +1717,11 @@ void Hy3Layout::applyNodeDataToWindow(Hy3Node* node, bool no_animation) {
31 && ((*no_gaps_when_only != 0 && (only_node || window->isFullscreen()))
32 || window->isEffectiveInternalFSMode(FSMODE_FULLSCREEN)))
33 {
34- window->updateWindowDecos();
35
36 const auto reserved = window->getFullWindowReservedArea();
37
38 *window->m_realPosition = window->m_position + reserved.topLeft;
39 *window->m_realSize = window->m_size - (reserved.topLeft + reserved.bottomRight);
40-
41- window->sendWindowSize(true);
42 } else {
43 auto reserved = window->getFullWindowReservedArea();
44 auto wb = node->getStandardWindowArea({-reserved.topLeft, -reserved.bottomRight});
45@@ -1728,8 +1729,6 @@ void Hy3Layout::applyNodeDataToWindow(Hy3Node* node, bool no_animation) {
46 *window->m_realPosition = wb.pos();
47 *window->m_realSize = wb.size();
48
49- window->sendWindowSize(true);
50-
51 if (no_animation) {
52 g_pHyprRenderer->damageWindow(window);
53