summaryrefslogtreecommitdiff
path: root/src/events/Windows.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2023-12-17 14:53:48 +0000
committerVaxry <vaxry@vaxry.net>2023-12-17 14:53:59 +0000
commitc0d9dcc586ab17bf67c48c02a08bca28727f9237 (patch)
tree0716d7ebb0720599f47e5508a9391a8dde49edbb /src/events/Windows.cpp
parent2a777cb71bc727836ca9c73ebb193773a99f8f1e (diff)
xwayland: set reported and pending size/pos on geometry sets
Diffstat (limited to 'src/events/Windows.cpp')
-rw-r--r--src/events/Windows.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index 390fb1e1..b184f4c2 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -1030,7 +1030,8 @@ void Events::listener_configureX11(void* owner, void* data) {
if (!PWINDOW->m_uSurface.xwayland->surface || !PWINDOW->m_uSurface.xwayland->surface->mapped || !PWINDOW->m_bMappedX11) {
wlr_xwayland_surface_configure(PWINDOW->m_uSurface.xwayland, E->x, E->y, E->width, E->height);
- PWINDOW->m_vReportedSize = {E->width, E->height};
+ PWINDOW->m_vPendingReportedSize = {E->width, E->height};
+ PWINDOW->m_vReportedSize = {E->width, E->height};
return;
}
@@ -1067,7 +1068,8 @@ void Events::listener_configureX11(void* owner, void* data) {
wlr_xwayland_surface_configure(PWINDOW->m_uSurface.xwayland, E->x, E->y, E->width, E->height);
- PWINDOW->m_vReportedSize = {E->width, E->height};
+ PWINDOW->m_vPendingReportedSize = {E->width, E->height};
+ PWINDOW->m_vReportedSize = {E->width, E->height};
PWINDOW->updateWindowDecos();
@@ -1137,6 +1139,10 @@ void Events::listener_unmanagedSetGeometry(void* owner, void* data) {
g_pCompositor->changeWindowZOrder(PWINDOW, true);
PWINDOW->updateWindowDecos();
g_pHyprRenderer->damageWindow(PWINDOW);
+
+ PWINDOW->m_vReportedPosition = PWINDOW->m_vRealPosition.goalv();
+ PWINDOW->m_vReportedSize = PWINDOW->m_vRealSize.goalv();
+ PWINDOW->m_vPendingReportedSize = PWINDOW->m_vReportedSize;
}
}