[UOS AI] Deepin25 任务栏工作区指示器(让小U同学弄的)
Tofloor
poster avatar
没事儿瞎转悠
deepin
an hour ago
Author

【分享】Deepin 25 任务栏工作区指示器 v1.1

适用版本:Deepin 25 / 25.1 / 25.2(dde-shell 2.0.x)
窗口管理器:KWin (X11 会话)
作者:Uler · 2026-09-01 · v1.1

这是什么

一个类似 GNOME / KDE 的工作区指示器,常驻在 Deepin 25 的任务栏上。
它把系统所有工作区动态显示成小方块,点击即可切换,像 KDE 的 Pager 一样直观。


image.png

image.png

image.png

image.png

功能特性

显示与切换

  • 常驻显示所有工作区(小方块,当前工作区高亮)
  • 左键点击方块 → 切换工作区
  • 鼠标滚轮在指示器上滚动 → 上/下一个工作区
  • 右键菜单可选择循环 / 不循环切换工作区
    • 循环:滚到最后一个继续滚会回到第一个
    • 不循环:滚到边界即停,不跳转
  • 工作区数量多时自动多行显示,随任务栏高度自适应(特别高时才会触发)
  • 任务栏居左/居中/经典模式均正常

工作区管理

  • 最右侧 "+" 号 → 一键新增工作区
  • 右键菜单:多任务视图 / 新增 / 删除 / 刷新
  • 自动增加工作区(开关):始终在右侧保留一个空白工作区,被占用后自动补新
  • 自动移除空白工作区(开关):没有窗口的空工作区自动清理
  • 系统工作区上限 20 个,达到上限自动停止增加,不会报错

位置自由切换

  • 右键菜单可选择左侧 / 中间 / 右侧位置,随任务栏模式自动适配,选择会持久保存

安装方法

解压后进入目录

# 一键安装(会提示输入 sudo 密码)
bash install.sh

安装完成后注销重新登录(或运行 killall dde-shell 重启任务栏)即可看到。

依赖:python3python3-dbus(系统一般自带),如缺失先安装:

sudo apt install python3-dbus

使用方法

操作 效果
左键点击方块 切换到该工作区
滚轮滚动 上 / 下一个工作区
点击 "+" 新增工作区
右键 打开菜单(多任务视图 / 位置 / 自动管理开关 / 循环切换开关 / 新增 / 删除 / 刷新)

工作原理(简单说明)

  • 任务栏插件为纯 QML(免编译),通过本地 HTTP 与本机 Python 守护进程通信
  • 守护进程通过 D-Bus 连接 KWin 的 VirtualDesktopManager,读取/切换/管理工作区
  • 自动管理功能通过读取 X11 窗口列表,统计各工作区窗口数,实现"无窗口自动移除、右侧空白自动保留"
  • 设置保存在 ~/.config/workspace-indicator.json,重启不丢失

常见问题

Q1:指示器右上方小圆点是红色?
说明守护进程没在运行。执行 bash install.sh 会自动启动,或手动:

python3 /usr/local/bin/wsindicatord.py

Q2:和系统多任务视图冲突吗?
不冲突。右键菜单里的"多任务视图"调用的就是系统自带功能。

Q3:会影响系统稳定性吗?
不影响。插件是独立 QML + 独立守护进程,不修改任何系统文件,卸载干净:

bash uninstall.sh

卸载

bash uninstall.sh

可完整移除插件与守护进程,不留残留。

说明与免责

  • 本项目为个人兴趣开发,免费开源(GPL-3.0),仅供学习交流
  • 已在 Deepin 25.2.1 上测试通过;其他版本未测试
  • 不欢迎提出建议和 bug 报告,建议自行导入小U同学解决问题(我不知道,我也不懂代码,代码是小U同学做的,去找它吧)

版本历史:v1.0 初始发布 · v1.1 新增循环/不循环切换工作区


附:如何使用「小U同学」自行导入 / 调整 / 解决问题

这个项目是开放的源码,Deepin 内置的 UOS AI「小U同学」 可以直接帮你导入、改代码、调样式、排查问题。以下是一份上手指南。

1. 什么是小U同学

小U同学是 Deepin 桌面环境内置的 AI 助手(常驻任务栏,按住快捷键即可唤起)。
可以在你授权后读取/修改本地文件、执行命令,所以你完全可以让它来打理这个项目,
不需要自己手动编辑 QML 或敲命令行。

2. 导入项目(让 AI 知道项目在哪)

把小U同学唤起后,告诉它项目路径即可,例如:

“请帮我查看 /home/你的用户名/workspace-indicator 这个项目,并介绍它的结构”

它会读取目录和文件,理解项目的构成:

3. 让小U同学帮你调整

直接用自然语言描述你想要的效果,它会改好代码并帮你生效。示例:

你想做什么 可以这样对小U同学说
调整方块大小 “把工作区方块改大一点,比如 30px”
改间距 “方块之间间距改成 10px”
调整位置 “把中间位置的 dockOrder 改成 18”
改配色 “当前工作区方块改成绿色”
关闭某个功能 “把自动移除空白工作区默认关掉”
改刷新频率 “把工作区刷新间隔改成 1 秒”

小提示:说需求时越具体越好(数值、颜色、位置),AI 会直接改 workspaceindicator.qml 并重启任务栏验证。

4. 让小U同学帮你排查问题

遇到问题时,把现象告诉它即可,例如:

  • “任务栏上看不到工作区指示器了,帮我查一下原因”
  • “右键菜单弹不出来,是什么问题”
  • “切换工作区没反应,看看守护进程是不是没运行”
  • “改了 QML 后没生效,帮我重启任务栏”

小U同学会主动检查:

  • 插件文件是否安装到位(~/.local/share/dde-shell//usr/share/dde-shell/
  • 守护进程 wsindicatord.py 是否在运行(127.0.0.1:8327
  • dde-shell 日志里的 QML 报错
  • 并执行 killall dde-shell 重启任务栏使其生效

5. 常用指令速查(可复制给小U同学)

1. 查看项目结构:
   请查看 ~/workspace-indicator 项目结构并说明

2. 调整样式:
   把工作区方块尺寸改成 30px,间距改成 10px

3. 调整功能:
   把"自动移除空白工作区"默认关闭

4. 排查显示问题:
   任务栏不显示工作区指示器,帮我检查插件是否加载、日志有没有报错,并重启任务栏

5. 恢复默认:
   把我改过的 QML 恢复成 v1.0 原始版本

6. 注意事项

  • 备份先行:让小U同学大改之前,可以先生成一份备份(它知道怎么做),改坏了也方便还原
  • 授权提示:涉及写文件、执行命令时,小U同学会请求你的授权,确认无误再放行
  • 日志在系统里:出问题时小U同学会去查 journalctl 等系统日志,给它点时间即可
  • 本项目文件是开放的,小U同学改的是你本地自己的副本,不会影响别人

一句话:把项目路径和你的需求告诉小U同学,剩下的调整、重启、排错都可以交给它。


workspace-indicator-v1.1-20260901-1046.zip

Reply Favorite View the author
All Replies
avatar
辉辉
deepin
42 minutes ago
#1

那么理论上所有开源的软件都可以让ai去帮忙处理?那些已经打包好的呢?ai能反编译下吗?

Reply View the author
avatar
骑🐖追帅哥bot
Moderator
16 minutes ago
#2

企业微信截图_20260811132152.png

Reply View the author