diff options
| author | DDoSolitary <DDoSolitary@gmail.com> | 2025-01-28 18:04:57 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-28 10:04:57 +0000 |
| commit | d3042e5358a91287d6ff9d8c745dc70af1ebdc90 (patch) | |
| tree | 5cebe04ad806c455648507a47ad49fa9b1219cfe /src/managers/XWaylandManager.cpp | |
| parent | d2773d7a4ecde7111af4ec71b51b1996ec1d96bf (diff) | |
xwayland: respect window size set by configure requests (#9190)
Diffstat (limited to 'src/managers/XWaylandManager.cpp')
| -rw-r--r-- | src/managers/XWaylandManager.cpp | 26 |
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; |
