From 001dfbe3236ce706378fb1b327d17e045bd0f8fc Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sun, 20 Mar 2022 19:26:16 +0100 Subject: [PATCH] better shouldbefloated for xwayland --- src/managers/XWaylandManager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp index 97d1ade2..8369fe4f 100644 --- a/src/managers/XWaylandManager.cpp +++ b/src/managers/XWaylandManager.cpp @@ -94,6 +94,13 @@ bool CHyprXWaylandManager::shouldBeFloated(CWindow* pWindow) { pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_TOOLTIP"] || pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_POPUP_MENU"] || pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_DOCK"] || pWindow->m_uSurface.xwayland->window_type[i] == HYPRATOMS["_NET_WM_WINDOW_TYPE_DROPDOWN_MENU"]) return true; + + if (pWindow->m_uSurface.xwayland->modal) + return true; + + const auto SIZEHINTS = pWindow->m_uSurface.xwayland->size_hints; + if (SIZEHINTS && SIZEHINTS->min_width > 0 && SIZEHINTS->min_height > 0 && (SIZEHINTS->max_width == SIZEHINTS->min_width || SIZEHINTS->max_height == SIZEHINTS->min_height)) + return true; } return false;