summaryrefslogtreecommitdiff
path: root/src/managers/XWaylandManager.cpp
diff options
context:
space:
mode:
authorDDoSolitary <DDoSolitary@gmail.com>2025-01-28 18:04:57 +0800
committerGitHub <noreply@github.com>2025-01-28 10:04:57 +0000
commitd3042e5358a91287d6ff9d8c745dc70af1ebdc90 (patch)
tree5cebe04ad806c455648507a47ad49fa9b1219cfe /src/managers/XWaylandManager.cpp
parentd2773d7a4ecde7111af4ec71b51b1996ec1d96bf (diff)
xwayland: respect window size set by configure requests (#9190)
Diffstat (limited to 'src/managers/XWaylandManager.cpp')
-rw-r--r--src/managers/XWaylandManager.cpp26
1 files changed, 3 insertions, 23 deletions
diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp
index f103266d..a5506329 100644
--- a/src/managers/XWaylandManager.cpp
+++ b/src/managers/XWaylandManager.cpp
@@ -82,29 +82,9 @@ CBox CHyprXWaylandManager::getGeometryForWindow(PHLWINDOW pWindow) {
CBox box;
- if (pWindow->m_bIsX11) {
- const auto SIZEHINTS = pWindow->m_pXWaylandSurface->sizeHints.get();
-
- if (SIZEHINTS && !pWindow->isX11OverrideRedirect()) {
- // WM_SIZE_HINTS' x,y,w,h is deprecated it seems.
- // Source: https://x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html#wm_normal_hints_property
- box.x = pWindow->m_pXWaylandSurface->geometry.x;
- box.y = pWindow->m_pXWaylandSurface->geometry.y;
-
- constexpr int ICCCM_USSize = 0x2;
- constexpr int ICCCM_PSize = 0x8;
-
- if ((SIZEHINTS->flags & ICCCM_USSize) || (SIZEHINTS->flags & ICCCM_PSize)) {
- box.w = SIZEHINTS->base_width;
- box.h = SIZEHINTS->base_height;
- } else {
- box.w = pWindow->m_pXWaylandSurface->geometry.w;
- box.h = pWindow->m_pXWaylandSurface->geometry.h;
- }
- } else
- box = pWindow->m_pXWaylandSurface->geometry;
-
- } else if (pWindow->m_pXDGSurface)
+ if (pWindow->m_bIsX11)
+ box = pWindow->m_pXWaylandSurface->geometry;
+ else if (pWindow->m_pXDGSurface)
box = pWindow->m_pXDGSurface->current.geometry;
return box;