From ccbc0e4a2e4b1bcd9966b59edfbb0aaf6c27a52d Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Thu, 24 Mar 2022 18:22:01 +0100 Subject: Added window rules --- src/managers/XWaylandManager.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/managers/XWaylandManager.cpp') diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp index d17c1e5c..bbd8f9f0 100644 --- a/src/managers/XWaylandManager.cpp +++ b/src/managers/XWaylandManager.cpp @@ -54,19 +54,35 @@ std::string CHyprXWaylandManager::getTitle(CWindow* pWindow) { if (pWindow->m_uSurface.xwayland) { return std::string(pWindow->m_uSurface.xwayland->title); } + } else if (pWindow->m_uSurface.xdg) { + if (pWindow->m_uSurface.xdg->toplevel) { + return std::string(pWindow->m_uSurface.xdg->toplevel->title); + } } else { return ""; } + } catch (std::logic_error& e) { + Debug::log(ERR, "Error in getTitle: %s", e.what()); + } - if (pWindow->m_uSurface.xdg) { + return ""; +} + +std::string CHyprXWaylandManager::getAppIDClass(CWindow* pWindow) { + try { + if (pWindow->m_bIsX11) { + if (pWindow->m_uSurface.xwayland) { + return std::string(pWindow->m_uSurface.xwayland->_class); + } + } else if (pWindow->m_uSurface.xdg) { if (pWindow->m_uSurface.xdg->toplevel) { - return std::string(pWindow->m_uSurface.xdg->toplevel->title); + return std::string(pWindow->m_uSurface.xdg->toplevel->app_id); } } else { return ""; } } catch (std::logic_error& e) { - Debug::log(ERR, "Error in getTitle: %s", e.what()); + Debug::log(ERR, "Error in getAppIDClass: %s", e.what()); } return ""; -- cgit v1.2.3