From 54e51b7acf809b4cf705ae516f78a910c70e651f Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sat, 4 Nov 2023 13:09:33 +0000 Subject: [PATCH] events: better adjust to unreported sizes for xwayland apps fixes #3745 --- src/events/Windows.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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) {