summaryrefslogtreecommitdiff
path: root/src/managers/XWaylandManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/XWaylandManager.cpp')
-rw-r--r--src/managers/XWaylandManager.cpp22
1 files changed, 19 insertions, 3 deletions
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 "";