参赛方向:方向四 · 扩展 DDE Shell 的桌面能力(dde-shell-development) 适用环境:Deepin 25(dde-shell / Qt6 / DTK6) 版本:v0.2.1 | 语言:C++ / Qt6 / DTK6
dde-shell-development
v0.2.1
在 dock 上只占一个图标,点一下(或按快捷键)就浮出一张玻璃质感面板,上面叠着两张常用卡片:
随用随取、用完即隐,不抢焦点、不挡桌面。
🎬 演示视频:【待补充——建议录一段 15–30s:dock 图标 → 唤起浮层 → 切卡片 → 搜索过滤 → 拖文件进出中转站】
~/.local/share/deepin-cardsdock/transfer/
以下为已截取的实机画面(Deepin 25 X11 VM,KWin 合成后真实画面)。
中转站卡片 玻璃模糊效果
剪贴板历史卡片 玻璃模糊效果
搜索框真实键盘输入验证
输入框中出现了 fcitx 输入法提交的「泡打粉」(由英文 pdf 拼音触发),证明 v0.2.0 修复后搜索框已能真正获得键盘焦点,且中文输入法未被全局键盘抓取破坏。
pdf
环境要求
cmake
qt6
dtk6
libdde-shell-dock-dev
libX11-dev
构建
git clone https://gitlink.org.cn/ltree/deepin-cardsdock.git cd deepin-cardsdock cmake -B build -S . cmake --build build -j$(nproc)
部署(dde-shell 插件,拷贝 .so 到 dde-shell 插件目录后重载)
sudo cp build/plugins/org.deepin.ds.dock.cardsdock.so \ /usr/local/lib/dde-shell/ sudo cp build/plugins/org.deepin.ds.dock.cardsdock.so \ /usr/local/lib/dde-shell/cardsdock.so systemctl --user restart dde-shell@DDE.service
注:当前为手工部署路径;后续会补充一键安装脚本 / 打包,进一步满足「可独立构建安装」要求。
本项目全程借助 AI 编程助手(WorkBuddy) 辅助开发,并遵循 deepin 官方 dde-shell 插件开发规范 / 示例,重点攻克了几个硬核桌面开发难点:
D_APPLET_CLASS),实现 dock 图标与浮层解耦。
X11 键盘焦点根治(技术亮点):浮窗搜索框一度「完全无法输入」。经真机逐层排查,定位到根因——X11 下 DTK 的 DPlatformWindowHandle 把浮窗标成了 _NET_WM_WINDOW_TYPE_DOCK,而 DOCK 类窗口永远拿不到真实键盘焦点。最终用 Xlib XChangeProperty 把窗口类型强制改写为 _NET_WM_WINDOW_TYPE_DIALOG(既能获焦、又不会被 KWin 全屏最大化),彻底解决。 像素级真机验证:借助 KWin ScreenShot2 抓取合成后真实画面,逐像素核对毛玻璃效果与定位。
DPlatformWindowHandle
_NET_WM_WINDOW_TYPE_DOCK
XChangeProperty
_NET_WM_WINDOW_TYPE_DIALOG
ScreenShot2
📸 AI 调用 deepin Skills 的对话记录截图: 八、活动后实质性更新说明 本作品在活动启动(2026-08-10)之后持续做了实质性更新,符合参赛要求: v0.2.0(2026-08-23):根治卡片搜索框键盘无法输入(X11 强制 DIALOG 窗口类型)。 v0.2.1(2026-08-24):UI 打磨,剪贴板 / 中转站内容列表区透出同款全局高斯模糊。 九、对应评审维度小结 功能完整性(30%):剪贴板历史 + 文件中转站双卡片、搜索、快捷键、DBus、持久化,核心功能完整。 真实使用价值(20%):剪贴板与文件暂存是高频刚需,日常可用。 创新性(15%):单 dock 图标聚合多卡片浮层,X11 焦点自适应处理。 UI/UX(15%):全局毛玻璃面板,内容区与面板同款模糊,交互顺手。 代码质量(20%):C++/Qt6/DTK6 结构清晰,X11/Wayland 分支解耦,含构建文档。 仓库:https://gitlink.org.cn/ltree/deepin-cardsdock致谢:deepin 社区与 dde-shell 团队提供的能力与规范;AI 编程助手在硬核桌面调试中的辅助。 欢迎评审与社区伙伴体验、提 Issue!
📸 AI 调用 deepin Skills 的对话记录截图:
本作品在活动启动(2026-08-10)之后持续做了实质性更新,符合参赛要求:
v0.2.0
仓库:https://gitlink.org.cn/ltree/deepin-cardsdock致谢:deepin 社区与 dde-shell 团队提供的能力与规范;AI 编程助手在硬核桌面调试中的辅助。
欢迎评审与社区伙伴体验、提 Issue!
牛来
?
建议合并到官方剪切板插件
好呀
2.0正在开发中,会把所有卡片做成dock栏,做一个dockstack 多卡片,按设计稿重构UI/UX, 再向官方提PR
https://667b59c65b444f3a92e288dc1ea00b2b.sh2.agentos-app.net/
Featured Collection
Popular Events
【deepin插件开发活动】多卡片 Dock 插件 CardsDock:剪贴板历史 + 文件中转站一键浮窗
一、作品简介
在 dock 上只占一个图标,点一下(或按快捷键)就浮出一张玻璃质感面板,上面叠着两张常用卡片:
随用随取、用完即隐,不抢焦点、不挡桌面。
二、核心功能
~/.local/share/deepin-cardsdock/transfer/。三、演示截图(3–5 张)
中转站卡片 玻璃模糊效果

剪贴板历史卡片 玻璃模糊效果

搜索框真实键盘输入验证

四、安装与构建
环境要求
cmake、qt6、dtk6、libdde-shell-dock-dev、libX11-dev构建
部署(dde-shell 插件,拷贝 .so 到 dde-shell 插件目录后重载)
五、使用说明
六、开源与协议
cmake构建与部署。七、开发过程:AI 辅助 + deepin Skills
本项目全程借助 AI 编程助手(WorkBuddy) 辅助开发,并遵循 deepin 官方 dde-shell 插件开发规范 / 示例,重点攻克了几个硬核桌面开发难点:
D_APPLET_CLASS),实现 dock 图标与浮层解耦。DPlatformWindowHandle把浮窗标成了_NET_WM_WINDOW_TYPE_DOCK,而 DOCK 类窗口永远拿不到真实键盘焦点。最终用 XlibXChangeProperty把窗口类型强制改写为_NET_WM_WINDOW_TYPE_DIALOG(既能获焦、又不会被 KWin 全屏最大化),彻底解决。ScreenShot2抓取合成后真实画面,逐像素核对毛玻璃效果与定位。八、活动后实质性更新说明
本作品在活动启动(2026-08-10)之后持续做了实质性更新,符合参赛要求:
v0.2.0(2026-08-23):根治卡片搜索框键盘无法输入(X11 强制 DIALOG 窗口类型)。v0.2.1(2026-08-24):UI 打磨,剪贴板 / 中转站内容列表区透出同款全局高斯模糊。九、对应评审维度小结
仓库:https://gitlink.org.cn/ltree/deepin-cardsdock致谢:deepin 社区与 dde-shell 团队提供的能力与规范;AI 编程助手在硬核桌面调试中的辅助。