diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-07-28 15:40:06 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-07-28 15:40:06 +0200 |
| commit | b0ab8afc589a2575268d30048c18886cf842d13b (patch) | |
| tree | 44f54e6decd35f5890ae24459e46cd6208fb2abc /src/events/Windows.cpp | |
| parent | 578787b36d6bc7e0f34c5fd2b7ae06d950ca0f8c (diff) | |
fix some XWayland weird popups
Diffstat (limited to 'src/events/Windows.cpp')
| -rw-r--r-- | src/events/Windows.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp index 91840d3f..a0bd0b65 100644 --- a/src/events/Windows.cpp +++ b/src/events/Windows.cpp @@ -517,6 +517,11 @@ void Events::listener_configureX11(void* owner, void* data) { return; } + if (E->width > 1 && E->height > 1) + PWINDOW->m_bHidden = false; + else + PWINDOW->m_bHidden = true; + PWINDOW->m_vRealPosition.setValueAndWarp(Vector2D(E->x, E->y)); PWINDOW->m_vRealSize.setValueAndWarp(Vector2D(E->width, E->height)); PWINDOW->m_vPosition = PWINDOW->m_vRealPosition.vec(); @@ -544,6 +549,11 @@ void Events::listener_unmanagedSetGeometry(void* owner, void* data) { const auto POS = PWINDOW->m_vRealPosition.goalv(); const auto SIZ = PWINDOW->m_vRealSize.goalv(); + if (PWINDOW->m_uSurface.xwayland->width > 1 && PWINDOW->m_uSurface.xwayland->height > 1) + PWINDOW->m_bHidden = false; + else + PWINDOW->m_bHidden = true; + if (abs(std::floor(POS.x) - PWINDOW->m_uSurface.xwayland->x) > 2 || abs(std::floor(POS.y) - PWINDOW->m_uSurface.xwayland->y) > 2 || abs(std::floor(SIZ.x) - PWINDOW->m_uSurface.xwayland->width) > 2 || abs(std::floor(SIZ.y) - PWINDOW->m_uSurface.xwayland->height) > 2) { Debug::log(LOG, "Unmanaged window %x requests geometry update to %i %i %i %i", PWINDOW, (int)PWINDOW->m_uSurface.xwayland->x, (int)PWINDOW->m_uSurface.xwayland->y, (int)PWINDOW->m_uSurface.xwayland->width, (int)PWINDOW->m_uSurface.xwayland->height); |
