diff --git a/debian/control b/debian/control index 306c26b3c..6d80e90db 100644 --- a/debian/control +++ b/debian/control @@ -40,7 +40,7 @@ Build-Depends: qt6-wayland-dev-tools, qt6-wayland-private-dev, systemd, - treeland-protocols, + treeland-protocols (>> 0.5.7), wayland-protocols, Standards-Version: 4.6.2 Homepage: https://github.com/linuxdeepin/dde-shell diff --git a/panels/dock/taskmanager/CMakeLists.txt b/panels/dock/taskmanager/CMakeLists.txt index 3854b7e27..8505c0bd7 100644 --- a/panels/dock/taskmanager/CMakeLists.txt +++ b/panels/dock/taskmanager/CMakeLists.txt @@ -90,7 +90,7 @@ add_library(dock-taskmanager SHARED ${DBUS_INTERFACES} qt_generate_wayland_protocol_client_sources(dock-taskmanager FILES - ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-foreign-toplevel-manager-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/protocol/treeland-foreign-toplevel-manager-v1.xml ${WaylandProtocols_DATADIR}/staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml ) diff --git a/panels/dock/taskmanager/treelandwindow.cpp b/panels/dock/taskmanager/treelandwindow.cpp index d7a723468..9517e3add 100644 --- a/panels/dock/taskmanager/treelandwindow.cpp +++ b/panels/dock/taskmanager/treelandwindow.cpp @@ -17,7 +17,7 @@ Q_LOGGING_CATEGORY(waylandwindowLog, "org.deepin.dde.shell.dock.taskmanager.tree namespace dock { ForeignToplevelHandle::ForeignToplevelHandle(struct ::treeland_foreign_toplevel_handle_v1 *object) - : QWaylandClientExtensionTemplate(1) + : QWaylandClientExtensionTemplate(2) , QtWayland::treeland_foreign_toplevel_handle_v1(object) , m_pid(0) , m_isReady(false) @@ -174,7 +174,7 @@ bool TreeLandWindow::allowClose() bool TreeLandWindow::isAttention() { - return false; + return m_foreignToplevelHandle->state().contains(Attention); } void TreeLandWindow::close() diff --git a/panels/dock/taskmanager/treelandwindow.h b/panels/dock/taskmanager/treelandwindow.h index 4155b7ed2..73f80e3dd 100644 --- a/panels/dock/taskmanager/treelandwindow.h +++ b/panels/dock/taskmanager/treelandwindow.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2023 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -67,7 +67,8 @@ class TreeLandWindow : public AbstractWindow Active = QtWayland::treeland_foreign_toplevel_handle_v1::state_activated, Maximized = QtWayland::treeland_foreign_toplevel_handle_v1::state_maximized, Minimized = QtWayland::treeland_foreign_toplevel_handle_v1::state_minimized, - Fullscreen = QtWayland::treeland_foreign_toplevel_handle_v1::state_fullscreen + Fullscreen = QtWayland::treeland_foreign_toplevel_handle_v1::state_fullscreen, + Attention = QtWayland::treeland_foreign_toplevel_handle_v1::state_attention }; public: diff --git a/panels/dock/taskmanager/treelandwindowmonitor.cpp b/panels/dock/taskmanager/treelandwindowmonitor.cpp index 95cfafa4a..7d5a4362a 100644 --- a/panels/dock/taskmanager/treelandwindowmonitor.cpp +++ b/panels/dock/taskmanager/treelandwindowmonitor.cpp @@ -19,7 +19,7 @@ namespace dock { ForeignToplevelManager::ForeignToplevelManager(TreeLandWindowMonitor* monitor) - : QWaylandClientExtensionTemplate(1) + : QWaylandClientExtensionTemplate(2) , m_monitor(monitor) { }