From c35517d44e983524760109ea7864c2ace91e5f9e Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sun, 24 Apr 2022 17:53:50 +0200 Subject: fixes for xwayland popups, autofloat pop-up and task_dialog --- src/managers/XWaylandManager.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/managers/XWaylandManager.cpp') diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp index 9efefc75..5e8e9680 100644 --- a/src/managers/XWaylandManager.cpp +++ b/src/managers/XWaylandManager.cpp @@ -145,6 +145,17 @@ bool CHyprXWaylandManager::shouldBeFloated(CWindow* pWindow) { return true; } + if (pWindow->m_uSurface.xwayland->role) { + try { + std::string winrole = std::string(pWindow->m_uSurface.xwayland->role); + if (winrole.find("pop-up") != std::string::npos || winrole.find("task_dialog") != std::string::npos) { + return true; + } + } catch (std::exception& e) { + Debug::log(ERR, "Error in shouldBeFloated, winrole threw %s", e.what()); + } + } + if (pWindow->m_uSurface.xwayland->modal) { pWindow->m_bIsModal = true; return true; -- cgit v1.2.3