summaryrefslogtreecommitdiff
path: root/src/managers/XWaylandManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-20 19:26:16 +0100
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-20 19:26:16 +0100
commit001dfbe3236ce706378fb1b327d17e045bd0f8fc (patch)
tree2a0134bdafd667d305e18c9f31468905c70b8ede /src/managers/XWaylandManager.cpp
parent23ec4793e18949f32c4954b46ff2e724dc1e6f31 (diff)
better shouldbefloated for xwayland
Diffstat (limited to 'src/managers/XWaylandManager.cpp')
-rw-r--r--src/managers/XWaylandManager.cpp7
1 files changed, 7 insertions, 0 deletions
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;