diff --git a/panels/dock/taskmanager/x11window.cpp b/panels/dock/taskmanager/x11window.cpp index fa4e9d1a1..adddaf363 100644 --- a/panels/dock/taskmanager/x11window.cpp +++ b/panels/dock/taskmanager/x11window.cpp @@ -5,6 +5,7 @@ #include "x11window.h" #include "abstractwindow.h" #include "x11utils.h" +#include "appitem.h" #include @@ -48,6 +49,11 @@ QStringList X11Window::identity() { if (m_identity.isEmpty()) { m_identity = X11->getWindowWMClass(m_windowID); + if (auto appItem = getAppItem()) { + m_identity.append(appItem->desktopfileID()); + } else { + qCWarning(x11windowLog) << "identify not found appitem." << id(); + } m_identity.append(QString::number(pid())); } diff --git a/panels/dock/taskmanager/x11windowmonitor.cpp b/panels/dock/taskmanager/x11windowmonitor.cpp index 4ecaa442d..f3451a610 100644 --- a/panels/dock/taskmanager/x11windowmonitor.cpp +++ b/panels/dock/taskmanager/x11windowmonitor.cpp @@ -175,8 +175,9 @@ void X11WindowMonitor::onWindowMapped(xcb_window_t xcb_window) uint32_t value_list[] = { XCB_EVENT_MASK_PROPERTY_CHANGE | XCB_EVENT_MASK_STRUCTURE_NOTIFY | XCB_EVENT_MASK_VISIBILITY_CHANGE}; xcb_change_window_attributes(X11->getXcbConnection(), xcb_window, XCB_CW_EVENT_MASK, value_list); - trackWindow(window.get()); Q_EMIT AbstractWindowMonitor::windowAdded(static_cast>(window.get())); + trackWindow(window.get()); + } void X11WindowMonitor::onWindowDestroyed(xcb_window_t xcb_window)