diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-04-24 17:53:50 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-04-24 17:53:50 +0200 |
| commit | c35517d44e983524760109ea7864c2ace91e5f9e (patch) | |
| tree | 1f03f2200d676b04210e039a41f59e6ebc729f01 /src/managers/XWaylandManager.cpp | |
| parent | 86bb95c125563300a50973ab50eec44c2943b9d1 (diff) | |
fixes for xwayland popups, autofloat pop-up and task_dialog
Diffstat (limited to 'src/managers/XWaylandManager.cpp')
| -rw-r--r-- | src/managers/XWaylandManager.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
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; |
