diff options
| author | Vaxry <vaxry@vaxry.net> | 2023-11-04 13:09:33 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2023-11-04 13:09:33 +0000 |
| commit | 54e51b7acf809b4cf705ae516f78a910c70e651f (patch) | |
| tree | 78c35ab54a09479d341a248e124e9266d6b7d483 /src/events/Windows.cpp | |
| parent | 200cccdd3bbb3e093164d6cce61eedfe527f74da (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.cpp | 6 |
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) { |
