summaryrefslogtreecommitdiff
path: root/src/events/Windows.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-28 15:40:06 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-28 15:40:06 +0200
commitb0ab8afc589a2575268d30048c18886cf842d13b (patch)
tree44f54e6decd35f5890ae24459e46cd6208fb2abc /src/events/Windows.cpp
parent578787b36d6bc7e0f34c5fd2b7ae06d950ca0f8c (diff)
fix some XWayland weird popups
Diffstat (limited to 'src/events/Windows.cpp')
-rw-r--r--src/events/Windows.cpp10
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);