summaryrefslogtreecommitdiff
path: root/src/events/Windows.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2023-11-04 13:09:33 +0000
committerVaxry <vaxry@vaxry.net>2023-11-04 13:09:33 +0000
commit54e51b7acf809b4cf705ae516f78a910c70e651f (patch)
tree78c35ab54a09479d341a248e124e9266d6b7d483 /src/events/Windows.cpp
parent200cccdd3bbb3e093164d6cce61eedfe527f74da (diff)
events: better adjust to unreported sizes for xwayland apps
fixes #3745
Diffstat (limited to 'src/events/Windows.cpp')
-rw-r--r--src/events/Windows.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index 19ea7dde..59bd5fef 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -653,7 +653,8 @@ void Events::listener_mapWindow(void* owner, void* data) {
g_pInputManager->simulateMouseMovement();
// fix some xwayland apps that don't behave nicely
- PWINDOW->m_vReportedSize = PWINDOW->m_vPendingReportedSize;
+ PWINDOW->m_vPendingReportedSize = PWINDOW->m_vRealSize.goalv();
+ PWINDOW->m_vReportedSize = PWINDOW->m_vPendingReportedSize;
}
void Events::listener_unmapWindow(void* owner, void* data) {
@@ -1013,6 +1014,7 @@ 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};
return;
}
@@ -1058,6 +1060,8 @@ void Events::listener_configureX11(void* owner, void* data) {
g_pHyprRenderer->damageWindow(PWINDOW);
PWINDOW->updateWindowDecos();
+
+ PWINDOW->m_vReportedSize = {E->width, E->height};
}
void Events::listener_unmanagedSetGeometry(void* owner, void* data) {