# experimental.gxde-dock-plugins **Repository Path**: zinface/experimental.gxde-dock-plugins ## Basic Information - **Project Name**: experimental.gxde-dock-plugins - **Description**: 一个混合型 gxde-dock plugins 实验场 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-05 - **Last Updated**: 2026-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README gxde-dock 插件实验场 - 目录结构 ``` . ├── plugin-guide # 插件开发指导,dde-dock 的官方文档 ├── home_monitor # 来自 plugin-guide 的插件例子,进行了定制构建 ├── dde-sys-monitor-plugin # 从 dde-dock 项目复制出来的 ├── sync_monitor # 系统缓存落地指示器 插件 └── README.md 9 directories, 1 file ``` - 构建与测试 - 以 sync_monitor 为例 ```bash cd sync_monitor # 一行代码完成构建与测试(关键在于 CMakeListst.txt 中的 add_custome_target 指令) cmake -Bbuild && make -C build -j && make -C build deploy/fast ``` - `add_custome_target` 指令说明 > 直接使用 `sudo cp` 复制到 `/usr/lib/gxde-dock/plugins` 以便快速验证 > 如果你想通过 `POST_BUILD` 来触发,你就可以直接释放双手 ```cmake # 设置安装目录 set(DOCK_PLUGIN_DIR "/usr/lib/gxde-dock/plugins") # 添加 deploy 目标 add_custom_target(deploy COMMAND ${CMAKE_COMMAND} -E echo "📦 正在安装插件到 ${DOCK_PLUGIN_DIR}..." COMMAND sudo cp $ ${DOCK_PLUGIN_DIR}/ COMMAND ${CMAKE_COMMAND} -E echo "🔄 重启 DDE Dock..." COMMAND sudo pkill gxde-dock || true COMMAND ${CMAKE_COMMAND} -E echo "✅ 部署完成!正在重启 dock 栏" COMMAND sleep 1s COMMAND gxde-dock & DEPENDS ${PROJECT_NAME} COMMENT "部署 DDE Dock 插件" ) # 追加 POST_BUILD 自动部署 if(EXISTS "${SUDO_PASSWORD_FILE}") add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E echo "📦 正在安装插件到 ${DOCK_PLUGIN_DIR}..." COMMAND cat '${SUDO_PASSWORD_FILE}' | sudo -S cp $ ${DOCK_PLUGIN_DIR} COMMAND ${CMAKE_COMMAND} -E echo "🔄 重启 DDE Dock..." COMMAND cat '${SUDO_PASSWORD_FILE}' | sudo -S pkill gxde-dock || true COMMAND ${CMAKE_COMMAND} -E echo "✅ 部署完成!正在重启 dock 栏" COMMAND dbus-send --session --dest=com.deepin.dde.Dock --type=method_call /com/deepin/dde/Dock org.freedesktop.DBus.Peer.Ping COMMENT "部署 DDE Dock 插件" ) endif(EXISTS "${SUDO_PASSWORD_FILE}") ``` 为了满足 `POST_BUILD` 构建完成时的自动部署流程,需要依赖开发者提供 `sudo -S` 使用的文件。 例如在项目下提供 `DEPLOY_PASSWORD` 文件并填写您的密码,以便使用 cp 进行自动部署。 ```json { "cmake.configureArgs": [ "-DSUDO_PASSWORD_FILE=${workspaceFolder}/DEPLOY_PASSWORD" ], } ```