From 8b128b40810783d9898aa570e905400caf107fd7 Mon Sep 17 00:00:00 2001 From: luhongxu Date: Mon, 12 Oct 2026 18:32:49 +0800 Subject: [PATCH] feat: migrate showdesktop and multitaskview to compositor-action protocol MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Rewrite showdesktop wrapper to use treeland-compositor-action-unstable-v1 2. Rewrite multitaskview wrapper to use treeland-compositor-action-unstable-v1 3. Remove old state tracking logic from showdesktop wrapper 4. Remove two-step worker pattern from multitaskview wrapper 5. Update CMakeLists.txt to use new protocol XML and treeland-protocols 0.7.0 6. Update debian/control build dependency to treeland-protocols (>= 0.7.0) Log: Migrated show desktop and multitask view to compositor action protocol Influence: 1. Test show desktop toggle on Wayland session 2. Test multitask view toggle on Wayland session 3. Verify X11 fallback paths remain unchanged 4. Verify build with treeland-protocols 0.7.0 installed feat: 迁移显示桌面和多任务视图至 compositor-action 协议 1. 重写 showdesktop 包装类,使用 treeland-compositor-action-unstable-v1 协议 2. 重写 multitaskview 包装类,使用 treeland-compositor-action-unstable-v1 协议 3. 移除 showdesktop 包装类中旧的状态跟踪逻辑 4. 移除 multitaskview 包装类中的两步式 worker 模式 5. 更新 CMakeLists.txt 使用新协议 XML 和 treeland-protocols 0.7.0 6. 更新 debian/control 构建依赖至 treeland-protocols (>= 0.7.0) Log: 迁移显示桌面和多任务视图功能至 compositor action 协议 Influence: 1. 在 Wayland 会话下测试显示桌面切换功能 2. 在 Wayland 会话下测试多任务视图切换功能 3. 验证 X11 回退路径保持不变 4. 验证安装 treeland-protocols 0.7.0 后可正常编译 --- applets/dde-shutdown/CMakeLists.txt | 7 ++- applets/dde-shutdown/treelandlockscreen.cpp | 43 ++++++++----------- applets/dde-shutdown/treelandlockscreen.h | 22 ++-------- debian/control | 2 +- panels/dock/CMakeLists.txt | 1 - panels/dock/multitaskview/CMakeLists.txt | 9 ++-- panels/dock/multitaskview/multitaskview.cpp | 6 +-- panels/dock/multitaskview/multitaskview.h | 4 +- .../treelandcompositoraction.cpp | 29 +++++++++++++ .../multitaskview/treelandcompositoraction.h | 20 +++++++++ .../multitaskview/treelandmultitaskview.cpp | 31 ------------- .../multitaskview/treelandmultitaskview.h | 33 -------------- panels/dock/showdesktop/CMakeLists.txt | 8 ++-- panels/dock/showdesktop/showdesktop.cpp | 10 ++--- panels/dock/showdesktop/showdesktop.h | 4 +- .../showdesktop/treelandcompositoraction.cpp | 29 +++++++++++++ .../showdesktop/treelandcompositoraction.h | 21 +++++++++ .../dock/showdesktop/treelandshowdesktop.cpp | 30 ------------- panels/dock/showdesktop/treelandshowdesktop.h | 27 ------------ panels/dock/waylanddockhelper.cpp | 8 ---- panels/dock/waylanddockhelper.h | 11 ----- 21 files changed, 145 insertions(+), 210 deletions(-) create mode 100644 panels/dock/multitaskview/treelandcompositoraction.cpp create mode 100644 panels/dock/multitaskview/treelandcompositoraction.h delete mode 100644 panels/dock/multitaskview/treelandmultitaskview.cpp delete mode 100644 panels/dock/multitaskview/treelandmultitaskview.h create mode 100644 panels/dock/showdesktop/treelandcompositoraction.cpp create mode 100644 panels/dock/showdesktop/treelandcompositoraction.h delete mode 100644 panels/dock/showdesktop/treelandshowdesktop.cpp delete mode 100644 panels/dock/showdesktop/treelandshowdesktop.h diff --git a/applets/dde-shutdown/CMakeLists.txt b/applets/dde-shutdown/CMakeLists.txt index e0c327445..18fb906e5 100644 --- a/applets/dde-shutdown/CMakeLists.txt +++ b/applets/dde-shutdown/CMakeLists.txt @@ -1,7 +1,7 @@ -# SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +# SPDX-FileCopyrightText: 2024 - 2026 UnionTech Software Technology Co., Ltd. # # SPDX-License-Identifier: GPL-3.0-or-later -find_package(TreelandProtocols REQUIRED) +find_package(TreelandProtocols 0.7.0 REQUIRED) add_library(dde-shutdown SHARED shutdownapplet.cpp @@ -11,9 +11,8 @@ add_library(dde-shutdown SHARED ) qt_generate_wayland_protocol_client_sources(dde-shutdown - NO_INCLUDE_CORE_ONLY FILES - ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-dde-shell-v1.xml + ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-compositor-action-unstable-v1.xml ) target_link_libraries(dde-shutdown PRIVATE diff --git a/applets/dde-shutdown/treelandlockscreen.cpp b/applets/dde-shutdown/treelandlockscreen.cpp index 35ac41293..77776be63 100644 --- a/applets/dde-shutdown/treelandlockscreen.cpp +++ b/applets/dde-shutdown/treelandlockscreen.cpp @@ -1,51 +1,44 @@ -// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2024 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later #include "treelandlockscreen.h" +#include "wayland-treeland-compositor-action-unstable-v1-client-protocol.h" DS_BEGIN_NAMESPACE namespace shutdown { TreeLandLockScreen::TreeLandLockScreen() - : QWaylandClientExtensionTemplate(treeland_dde_shell_manager_v1_interface.version) + : QWaylandClientExtensionTemplate(treeland_compositor_action_v1_interface.version) { } -void TreeLandLockScreen::lock() +TreeLandLockScreen::~TreeLandLockScreen() { - if (auto impl = workder()) - impl->lock(); -} - -void TreeLandLockScreen::shutdown() -{ - if (auto impl = workder()) - impl->shutdown(); + if (isActive()) { + destroy(); + } } -void TreeLandLockScreen::switchUser() +void TreeLandLockScreen::lock() { - if (auto impl = workder()) - impl->switch_user(); + if (isActive()) { + trigger(action_lockscreen); + } } -TreeLandLockScreenWorker *TreeLandLockScreen::workder() +void TreeLandLockScreen::shutdown() { - if (!isActive()) { - return nullptr; + if (isActive()) { + trigger(action_shutdown_menu); } - - if (m_worker.isNull()) { - m_worker.reset(new TreeLandLockScreenWorker(get_treeland_lockscreen())); - } - return m_worker.get(); } -TreeLandLockScreenWorker::TreeLandLockScreenWorker(struct ::treeland_lockscreen_v1 *object) - : QWaylandClientExtensionTemplate(treeland_lockscreen_v1_interface.version) - , QtWayland::treeland_lockscreen_v1(object) +void TreeLandLockScreen::switchUser() { + if (isActive()) { + trigger(action_show_user_switch); + } } } DS_END_NAMESPACE diff --git a/applets/dde-shutdown/treelandlockscreen.h b/applets/dde-shutdown/treelandlockscreen.h index 452913166..1cd74cf35 100644 --- a/applets/dde-shutdown/treelandlockscreen.h +++ b/applets/dde-shutdown/treelandlockscreen.h @@ -1,41 +1,27 @@ -// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2024 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include "dsglobal.h" -#include "qwayland-treeland-dde-shell-v1.h" +#include "qwayland-treeland-compositor-action-unstable-v1.h" #include DS_BEGIN_NAMESPACE namespace shutdown { -class TreeLandLockScreenWorker; -class TreeLandLockScreen : public QWaylandClientExtensionTemplate, public QtWayland::treeland_dde_shell_manager_v1 +class TreeLandLockScreen : public QWaylandClientExtensionTemplate, public QtWayland::treeland_compositor_action_v1 { Q_OBJECT public: explicit TreeLandLockScreen(); + ~TreeLandLockScreen(); void lock(); void shutdown(); void switchUser(); - -private: - TreeLandLockScreenWorker *workder(); - -private: - QScopedPointer m_worker; -}; - -class TreeLandLockScreenWorker : public QWaylandClientExtensionTemplate, public QtWayland::treeland_lockscreen_v1 -{ - Q_OBJECT - -public: - explicit TreeLandLockScreenWorker(struct ::treeland_lockscreen_v1 *object); }; } DS_END_NAMESPACE diff --git a/debian/control b/debian/control index 27a16a495..be6dfa2e3 100644 --- a/debian/control +++ b/debian/control @@ -40,7 +40,7 @@ Build-Depends: qt6-wayland-dev-tools, qt6-wayland-private-dev, systemd, - treeland-protocols (>= 0.6.0), + treeland-protocols (>= 0.7.0), wayland-protocols, Standards-Version: 4.6.2 Homepage: https://github.com/linuxdeepin/dde-shell diff --git a/panels/dock/CMakeLists.txt b/panels/dock/CMakeLists.txt index 58deda7db..70ba6f2b1 100644 --- a/panels/dock/CMakeLists.txt +++ b/panels/dock/CMakeLists.txt @@ -61,7 +61,6 @@ qt_generate_wayland_protocol_client_sources(dockpanel NO_INCLUDE_CORE_ONLY FILES ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-wallpaper-color-v1.xml - ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-dde-shell-v1.xml ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-xwindow-control-unstable-v1.xml ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-region-watch-unstable-v1.xml ) diff --git a/panels/dock/multitaskview/CMakeLists.txt b/panels/dock/multitaskview/CMakeLists.txt index 158cf4810..d742320e7 100644 --- a/panels/dock/multitaskview/CMakeLists.txt +++ b/panels/dock/multitaskview/CMakeLists.txt @@ -4,14 +4,14 @@ find_package(PkgConfig REQUIRED) find_package(Qt${QT_VERSION_MAJOR} ${REQUIRED_QT_VERSION} COMPONENTS WaylandClient) -find_package(TreelandProtocols REQUIRED) +find_package(TreelandProtocols 0.7.0 REQUIRED) pkg_check_modules(WaylandClient REQUIRED IMPORTED_TARGET wayland-client) add_library(dock-multitaskview SHARED multitaskview.cpp multitaskview.h - treelandmultitaskview.cpp - treelandmultitaskview.h + treelandcompositoraction.cpp + treelandcompositoraction.h ) target_include_directories(dock-multitaskview PRIVATE @@ -20,9 +20,8 @@ target_include_directories(dock-multitaskview PRIVATE ) qt_generate_wayland_protocol_client_sources(dock-multitaskview - NO_INCLUDE_CORE_ONLY FILES - ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-dde-shell-v1.xml + ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-compositor-action-unstable-v1.xml ) target_link_libraries(dock-multitaskview PRIVATE diff --git a/panels/dock/multitaskview/multitaskview.cpp b/panels/dock/multitaskview/multitaskview.cpp index 750f93a5b..66517ce4e 100644 --- a/panels/dock/multitaskview/multitaskview.cpp +++ b/panels/dock/multitaskview/multitaskview.cpp @@ -41,7 +41,7 @@ MultiTaskView::MultiTaskView(QObject *parent) }); auto platformName = QGuiApplication::platformName(); if (QStringLiteral("wayland") == platformName) { - m_multitaskview.reset(new TreeLandMultitaskview); + m_compositorAction.reset(new TreelandCompositorAction); } else { m_kWinCompositingConfig = DConfig::create("org.kde.kwin", "org.kde.kwin.compositing", QString(), this); m_kWinEffect = m_kWinCompositingConfig->value(windowEffectTypeKey).toInt() != KWinOptimalPerformance; @@ -87,8 +87,8 @@ void MultiTaskView::openWorkspace() {QStringLiteral("kwin_version"), m_kwinVersion} })); #endif - if (m_multitaskview) { - m_multitaskview->toggle(); + if (m_compositorAction) { + m_compositorAction->toggle(); return; } diff --git a/panels/dock/multitaskview/multitaskview.h b/panels/dock/multitaskview/multitaskview.h index 14ab24e0d..2403d3023 100644 --- a/panels/dock/multitaskview/multitaskview.h +++ b/panels/dock/multitaskview/multitaskview.h @@ -8,7 +8,7 @@ #include "../frame/dockiteminfo.h" #include "applet.h" #include "dsglobal.h" -#include "treelandmultitaskview.h" +#include "treelandcompositoraction.h" #include @@ -38,7 +38,7 @@ class MultiTaskView : public DS_NAMESPACE::DAppletDock bool m_kWinEffect = true; QString m_kwinVersion; QString m_iconName; - QScopedPointer m_multitaskview; + QScopedPointer m_compositorAction; Dtk::Core::DConfig *m_kWinCompositingConfig = nullptr; }; diff --git a/panels/dock/multitaskview/treelandcompositoraction.cpp b/panels/dock/multitaskview/treelandcompositoraction.cpp new file mode 100644 index 000000000..091dd8a8c --- /dev/null +++ b/panels/dock/multitaskview/treelandcompositoraction.cpp @@ -0,0 +1,29 @@ +// SPDX-FileCopyrightText: 2026 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + +#include "treelandcompositoraction.h" +#include "wayland-treeland-compositor-action-unstable-v1-client-protocol.h" + +namespace dock +{ +TreelandCompositorAction::TreelandCompositorAction(QObject *parent) + : QWaylandClientExtensionTemplate(treeland_compositor_action_v1_interface.version) +{ + setParent(parent); +} + +TreelandCompositorAction::~TreelandCompositorAction() +{ + if (isActive()) { + destroy(); + } +} + +void TreelandCompositorAction::toggle() +{ + if (isActive()) { + trigger(action_toggle_multitask_view); + } +} +} diff --git a/panels/dock/multitaskview/treelandcompositoraction.h b/panels/dock/multitaskview/treelandcompositoraction.h new file mode 100644 index 000000000..b2b4ed6ea --- /dev/null +++ b/panels/dock/multitaskview/treelandcompositoraction.h @@ -0,0 +1,20 @@ +// SPDX-FileCopyrightText: 2026 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include "qwayland-treeland-compositor-action-unstable-v1.h" +#include + +namespace dock +{ + +class TreelandCompositorAction : public QWaylandClientExtensionTemplate, public QtWayland::treeland_compositor_action_v1 +{ +public: + explicit TreelandCompositorAction(QObject *parent = nullptr); + ~TreelandCompositorAction(); + void toggle(); +}; +} diff --git a/panels/dock/multitaskview/treelandmultitaskview.cpp b/panels/dock/multitaskview/treelandmultitaskview.cpp deleted file mode 100644 index 371438ed6..000000000 --- a/panels/dock/multitaskview/treelandmultitaskview.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. -// -// SPDX-License-Identifier: GPL-3.0-or-later - -#include "treelandmultitaskview.h" - -namespace dock -{ -TreeLandMultitaskview::TreeLandMultitaskview() - : QWaylandClientExtensionTemplate(treeland_dde_shell_manager_v1_interface.version) -{ -} - -void TreeLandMultitaskview::toggle() -{ - if (!isActive()) { - return; - } - - if (m_worker.isNull()) { - m_worker.reset(new TreeLandMultitaskviewWorker(get_treeland_multitaskview())); - } - m_worker->toggle(); -} - -TreeLandMultitaskviewWorker::TreeLandMultitaskviewWorker(struct ::treeland_multitaskview_v1 *object) - : QWaylandClientExtensionTemplate(treeland_multitaskview_v1_interface.version) - , QtWayland::treeland_multitaskview_v1(object) -{ -} -} diff --git a/panels/dock/multitaskview/treelandmultitaskview.h b/panels/dock/multitaskview/treelandmultitaskview.h deleted file mode 100644 index 4a3e2d85a..000000000 --- a/panels/dock/multitaskview/treelandmultitaskview.h +++ /dev/null @@ -1,33 +0,0 @@ -// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. -// -// SPDX-License-Identifier: GPL-3.0-or-later - -#pragma once - -#include "qwayland-treeland-dde-shell-v1.h" - -#include - -namespace dock -{ -class TreeLandMultitaskviewWorker; -class TreeLandMultitaskview : public QWaylandClientExtensionTemplate, public QtWayland::treeland_dde_shell_manager_v1 -{ - Q_OBJECT - -public: - explicit TreeLandMultitaskview(); - void toggle(); - -private: - QScopedPointer m_worker; -}; - -class TreeLandMultitaskviewWorker : public QWaylandClientExtensionTemplate, public QtWayland::treeland_multitaskview_v1 -{ - Q_OBJECT - -public: - explicit TreeLandMultitaskviewWorker(struct ::treeland_multitaskview_v1 *object); -}; -} diff --git a/panels/dock/showdesktop/CMakeLists.txt b/panels/dock/showdesktop/CMakeLists.txt index 2b8f400c5..ee89c4556 100644 --- a/panels/dock/showdesktop/CMakeLists.txt +++ b/panels/dock/showdesktop/CMakeLists.txt @@ -4,19 +4,19 @@ find_package(PkgConfig REQUIRED) find_package(Qt${QT_VERSION_MAJOR} ${REQUIRED_QT_VERSION} COMPONENTS WaylandClient) -find_package(TreelandProtocols 0.6.0 REQUIRED) +find_package(TreelandProtocols 0.7.0 REQUIRED) pkg_check_modules(WaylandClient REQUIRED IMPORTED_TARGET wayland-client) add_library(dock-showdesktop SHARED showdesktop.cpp showdesktop.h - treelandshowdesktop.cpp - treelandshowdesktop.h + treelandcompositoraction.cpp + treelandcompositoraction.h ) qt_generate_wayland_protocol_client_sources(dock-showdesktop FILES - ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-show-desktop-unstable-v1.xml + ${TREELAND_PROTOCOLS_DATA_DIR}/treeland-compositor-action-unstable-v1.xml ) target_link_libraries(dock-showdesktop PRIVATE diff --git a/panels/dock/showdesktop/showdesktop.cpp b/panels/dock/showdesktop/showdesktop.cpp index 409a7d5dc..f273e1212 100644 --- a/panels/dock/showdesktop/showdesktop.cpp +++ b/panels/dock/showdesktop/showdesktop.cpp @@ -5,7 +5,7 @@ #include "showdesktop.h" #include "applet.h" #include "pluginfactory.h" -#include "treelandshowdesktop.h" +#include "treelandcompositoraction.h" #include #include @@ -22,7 +22,7 @@ namespace dock { ShowDesktop::ShowDesktop(QObject *parent) : DApplet(parent) - , m_showDesktop(nullptr) + , m_compositorAction(nullptr) , m_dockConfig(nullptr) , m_visible(true) { @@ -47,7 +47,7 @@ bool ShowDesktop::load() bool ShowDesktop::init() { if (QStringLiteral("wayland") == QGuiApplication::platformName()) { - m_showDesktop = new TreelandShowDesktop(this); + m_compositorAction = new TreelandCompositorAction(this); } // 从配置中读取初始的可见性状态 @@ -61,8 +61,8 @@ bool ShowDesktop::init() void ShowDesktop::toggleShowDesktop() { - if (m_showDesktop) { - m_showDesktop->desktopToggle(); + if (m_compositorAction) { + m_compositorAction->desktopToggle(); return; } diff --git a/panels/dock/showdesktop/showdesktop.h b/panels/dock/showdesktop/showdesktop.h index da2d00e46..30c0c0303 100644 --- a/panels/dock/showdesktop/showdesktop.h +++ b/panels/dock/showdesktop/showdesktop.h @@ -6,7 +6,7 @@ #include "applet.h" #include "dsglobal.h" -#include "treelandshowdesktop.h" +#include "treelandcompositoraction.h" #include @@ -35,7 +35,7 @@ private slots: void onEnableShowDesktopChanged(); private: - TreelandShowDesktop *m_showDesktop; + TreelandCompositorAction *m_compositorAction; Dtk::Core::DConfig *m_dockConfig; bool m_visible; }; diff --git a/panels/dock/showdesktop/treelandcompositoraction.cpp b/panels/dock/showdesktop/treelandcompositoraction.cpp new file mode 100644 index 000000000..d454ece09 --- /dev/null +++ b/panels/dock/showdesktop/treelandcompositoraction.cpp @@ -0,0 +1,29 @@ +// SPDX-FileCopyrightText: 2026 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + +#include "treelandcompositoraction.h" +#include "wayland-treeland-compositor-action-unstable-v1-client-protocol.h" + +namespace dock +{ +TreelandCompositorAction::TreelandCompositorAction(QObject *parent) + : QWaylandClientExtensionTemplate(treeland_compositor_action_v1_interface.version) +{ + setParent(parent); +} + +TreelandCompositorAction::~TreelandCompositorAction() +{ + if (isActive()) { + destroy(); + } +} + +void TreelandCompositorAction::desktopToggle() +{ + if (isActive()) { + trigger(action_show_desktop); + } +} +} diff --git a/panels/dock/showdesktop/treelandcompositoraction.h b/panels/dock/showdesktop/treelandcompositoraction.h new file mode 100644 index 000000000..ec6f2c9cb --- /dev/null +++ b/panels/dock/showdesktop/treelandcompositoraction.h @@ -0,0 +1,21 @@ +// SPDX-FileCopyrightText: 2026 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include "qwayland-treeland-compositor-action-unstable-v1.h" +#include + +namespace dock +{ + +class TreelandCompositorAction : public QWaylandClientExtensionTemplate, public QtWayland::treeland_compositor_action_v1 +{ +public: + explicit TreelandCompositorAction(QObject *parent); + ~TreelandCompositorAction(); + + void desktopToggle(); +}; +} diff --git a/panels/dock/showdesktop/treelandshowdesktop.cpp b/panels/dock/showdesktop/treelandshowdesktop.cpp deleted file mode 100644 index ff1beffe9..000000000 --- a/panels/dock/showdesktop/treelandshowdesktop.cpp +++ /dev/null @@ -1,30 +0,0 @@ -// SPDX-FileCopyrightText: 2026 UnionTech Software Technology Co., Ltd. -// -// SPDX-License-Identifier: GPL-3.0-or-later - -#include "treelandshowdesktop.h" -#include "wayland-treeland-show-desktop-unstable-v1-client-protocol.h" - -namespace dock -{ -TreelandShowDesktop::TreelandShowDesktop(QObject *parent) - : QWaylandClientExtensionTemplate(treeland_show_desktop_v1_interface.version) - , m_desktopState(state_normal) -{ - setParent(parent); -} - -void TreelandShowDesktop::desktopToggle() -{ - if (isActive()) { - set_show_desktop_state(m_desktopState == state_show ? state_normal : state_show); - } -} - -void TreelandShowDesktop::treeland_show_desktop_v1_show_desktop_state(uint32_t state) -{ - if (state != m_desktopState) { - m_desktopState = state; - } -} -} diff --git a/panels/dock/showdesktop/treelandshowdesktop.h b/panels/dock/showdesktop/treelandshowdesktop.h deleted file mode 100644 index 311208ccb..000000000 --- a/panels/dock/showdesktop/treelandshowdesktop.h +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-FileCopyrightText: 2026 UnionTech Software Technology Co., Ltd. -// -// SPDX-License-Identifier: GPL-3.0-or-later - -#pragma once - -#include "qwayland-treeland-show-desktop-unstable-v1.h" -#include -#include - -namespace dock -{ - -class TreelandShowDesktop : public QWaylandClientExtensionTemplate, public QtWayland::treeland_show_desktop_v1 -{ -public: - explicit TreelandShowDesktop(QObject *parent); - - void desktopToggle(); - -protected: - void treeland_show_desktop_v1_show_desktop_state(uint32_t state) override; - -private: - uint32_t m_desktopState; -}; -} diff --git a/panels/dock/waylanddockhelper.cpp b/panels/dock/waylanddockhelper.cpp index ce7f37c86..26c6d02c0 100644 --- a/panels/dock/waylanddockhelper.cpp +++ b/panels/dock/waylanddockhelper.cpp @@ -8,9 +8,7 @@ #include "dockhelper.h" #include "dockpanel.h" #include "layershell/dlayershellwindow.h" -#include "qwayland-treeland-dde-shell-v1.h" #include "qwayland-treeland-xwindow-control-unstable-v1.h" -#include "wayland-treeland-dde-shell-v1-client-protocol.h" #include "wayland-treeland-xwindow-control-unstable-v1-client-protocol.h" #include "qwayland-treeland-region-watch-unstable-v1.h" #include "wayland-treeland-region-watch-unstable-v1-client-protocol.h" @@ -26,7 +24,6 @@ WaylandDockHelper::WaylandDockHelper(DockPanel *panel) , m_isCurrentActiveWindowFullscreened(false) , m_panel(panel) { - m_ddeShellManager.reset(new TreeLandDDEShellManager()); m_xwindowControl.reset(new TreeLandXWindowControl()); m_regionWatchManager.reset(new TreeLandRegionWatchManager()); DS_NAMESPACE::DAppletBridge bridge("org.deepin.ds.dock.taskmanager"); @@ -227,11 +224,6 @@ void WallpaperColorManager::watchScreen(const QString &screeName) } } -TreeLandDDEShellManager::TreeLandDDEShellManager() - : QWaylandClientExtensionTemplate(treeland_dde_shell_manager_v1_interface.version) -{ -} - TreeLandXWindowControl::TreeLandXWindowControl() : QWaylandClientExtensionTemplate(treeland_xwindow_control_v1_interface.version) { diff --git a/panels/dock/waylanddockhelper.h b/panels/dock/waylanddockhelper.h index 592cec8ad..e34d8da0a 100644 --- a/panels/dock/waylanddockhelper.h +++ b/panels/dock/waylanddockhelper.h @@ -7,7 +7,6 @@ #include "dockhelper.h" #include "dockpanel.h" -#include "qwayland-treeland-dde-shell-v1.h" #include "qwayland-treeland-wallpaper-color-v1.h" #include "qwayland-treeland-xwindow-control-unstable-v1.h" #include "qwayland-treeland-region-watch-unstable-v1.h" @@ -20,7 +19,6 @@ namespace dock { class WallpaperColorManager; class TreeLandDockTriggerArea; -class TreeLandDDEShellManager; class TreeLandXWindowControl; class TreeLandRegionWatchManager; class TreeLandRegionWatch; @@ -65,7 +63,6 @@ protected Q_SLOTS: QScopedPointer m_wallpaperColorManager; QScopedPointer m_regionWatch; QScopedPointer m_regionWatchManager; - QScopedPointer m_ddeShellManager; QScopedPointer m_xwindowControl; struct ::wl_surface *m_dockWlSurface = nullptr; // Dock's wl_surface for XEmbed positioning }; @@ -86,14 +83,6 @@ class WallpaperColorManager : public QWaylandClientExtensionTemplate, public QtWayland::treeland_dde_shell_manager_v1 -{ - Q_OBJECT - -public: - explicit TreeLandDDEShellManager(); -}; - class TreeLandXWindowControl : public QWaylandClientExtensionTemplate, public QtWayland::treeland_xwindow_control_v1 { Q_OBJECT