[App Sharing] 适配 V23 Release 的任务栏系统监控插件 Resolved
Tofloor
poster avatar
忘记、过去
deepin
2024-07-29 18:42
Author

适配 V23 Release 的任务栏系统监控插件

距离上次插件适配 deepin V23 居然快满 1 年了?时间真的过得好快啊.jpg

上周推送的内测更新,据说完成度已经接近于 V23 Release 了,如果没有啥大问题的话,正式版也快来了。干脆趁此空档赶紧重新适配一波~

P.S. 旧版本传送门:[应用分享] 支持 V23 的任务栏系统监控插件

附件下载

dde-dock-monitor-plugin_2.0.1_amd64.zip

P.S. 附件中提供的软件包在 deepin 20.9 环境中编译打包,也可在 20.9 环境中正常使用。

P.S. 解压后,仅需双击安装 dde-dock-monitor-plugin_2.0.1_amd64.deb 文件即可。
安装后需 注销重新登录重启 后才能加载插件(或者终端中执行 systemctl --user restart [email protected])。
可在 控制中心->个性化->桌面->插件区域 控制该插件显示或隐藏。

代码仓库

P.S. 大佬也在论坛里 @q77190858

效果预览

截图_选择区域_20240729174233.png

截图_选择区域_20240729174341.png

截图_选择区域_20240729174535.png

截图_选择区域_20240729174614.png

Q&A

  1. Q: 为啥设置界面里下拉框点击后没反应?

    A: 目前新版本任务栏托盘区域还有 BUG,右键菜单中二级菜单还无法正常显示,估计是同一类问题。耐心等大佬修复即可。

    临时解决方案:单击下拉框后,再次点击下拉框,可以看到焦点退出效果(此时鼠标放在页面内其他按钮上是有悬浮效果的)。此时可以通过键盘上下方向键调整下拉框选项,正常保存即可。

  2. Q: 为什么设置界面和关于界面显示这么奇怪?

    A: 新版本任务栏托盘区域实现方式发生变化,暂时无法像以前一样直接显示独立窗口。

题外话

纵观任务栏插件接口,经历了数次变动:

  1. V23 Beta 的新任务栏加入了 2.0.0 的 API,但是几乎废除了旧版本中对自定义控件的支持,右侧快捷插件只能显示图标和文字
  2. UOS 1070 发布,看上去也支持了 API 2.0,但是和 V23 代码实现不同,无法通用
  3. V23 RC 开始,dde-shell 取代了 dde-dock,由于主体使用了 Qt6,所有插件都需要基于 Qt6 重新编译才能加载

再到这次 V23 正式版内测,由于重新实现了托盘插件,dde-tray-loader 可以说和 dde-shell 解耦了,终于算是把上述变动带来的兼容性问题彻底(?)解决了:

  1. API 严格分为了 1.0 和 2.0,且 2.0 接口基于 1.0 扩展,仅新增了部分接口
  2. dde-tray-loader 主体使用了 Qt5 编译,插件也不需要 Qt6 了
  3. 控制中心的插件图标,从固定目录中读取和插件名称同名图片进行显示,不再需要插件内部 icon 接口返回(插件就不一定需要 2.0 的 API 了)

简单来说,甚至可以认为,现在可以把以前在 deepin V20.9 上编译的插件直接拿来用,问题也不大。对于插件作者维护难度降低了很多,也算是天大的好消息了,终于摆脱了之前 V23 几个大版本每次都要重新适配的现状 sob


不过也有些小问题(比如上述下拉框和对话框的显示效果),dde-tray-loader 在加载插件时,部分接口并没有完全实现:比较重要的 PluginProxyInterface 中,曾用于保存插件设置项的接口 setValue / getValue / removeValue 就没有实际动作,会导致插件的配置无法保存,只能自行保存至其他位置。

本次适配中,新增了一层兼容层单独实现了这 3 个接口,读写配置的位置与行为与 V20 保持一致,可以最大限度地保证兼容性。(当然还是建议用其他方式保存配置哈~万一那天 V20 的配置项就彻底被砍了也说不定......)

P.S. dde-dock 最早的实现中,所有插件的配置项均保存在 com.deepin.dde.dockgsettings 选项 plugin-settings 中,解析比较麻烦,也不好管理;加之 V23 开始应该是要逐步用 DConfig 替换 GSettings,这种破坏也算是情有可原吧......

结语

希望 V23 正式发布后,以前大佬们写的各种插件还能继续发光发热 joy

Reply Favorite View the author
All Replies
放屁大王
deepin
2024-07-29 18:47
#1

赞一个like

Reply View the author
流浪的加菲
deepin
2024-07-29 18:57
#2

已经点赞加收藏,这要是把任务栏放顶部展示,再装上这个插件,效果很赞!

image.png

Reply View the author
鲜衣怒马
deepin
2024-07-29 18:59
#3

mark 后续体验

Reply View the author
字母N
deepin
2024-07-29 19:02
#4

赞一个👍,刚准备去你的GitHub提关于显卡切换插件的问题。目前在内测版本不显示在任务栏上。安装了也看不到。

Reply View the author
阿尼樱奈奈
Moderator
2024-07-29 19:02
#5
Reply View the author
感恩的心
deepin
2024-07-29 19:07
#6

like

Reply View the author
WangZhongyun
deepin
2024-07-29 19:10
#7

带来了好消息

Reply View the author
conlin
deepin
2024-07-29 19:33
#8

yeah

支持在垂直放置的任务栏中显示不?

Reply View the author
TXOS-C.User
deepin
2024-07-29 20:20
#9

高手如云啊,like

Reply View the author
忘记、过去
deepin
2024-07-29 20:23
#10
字母N

赞一个👍,刚准备去你的GitHub提关于显卡切换插件的问题。目前在内测版本不显示在任务栏上。安装了也看不到。

joy 咱肯定已经偷偷处理完了,直接下载新版本就行
商店里的版本得等正式发布了才能更新

Release Compatible with deepin V23 Release · zty199/dde-dock-switch_graphics_card (github.com)

P.S. V23 正式版还没发,所以一直用的 Pre-release......这次不知道为啥 GitHub 上把这个新版本排到 release 里面第 3 个去了,确实不好找......

Reply View the author
忘记、过去
deepin
2024-07-29 20:25
#11
conlin

yeah

支持在垂直放置的任务栏中显示不?

agree 印象里是支持的,大佬写的逻辑是:当任务栏位于左/右位置时,会使用纵向布局显示。也就是上面显示 CPU 和内存占用,下面显示网速这样子。

当然还是不建议把任务栏宽度调的太低,有可能不够文字显示的长度

Reply View the author
什么是快乐星球
deepin
2024-07-29 21:38
#12

agree

Reply View the author
jjcui8595
deepin
2024-07-30 08:30
#13

楼主威武like

Reply View the author
196******67
deepin
2024-07-30 12:37
#14
厉害了
Reply View the author
momo
deepin
2024-08-02 10:02
#15

可以显示在任务栏左侧吗

Reply View the author
忘记、过去
deepin
2024-08-02 10:04
#16
momo

可以显示在任务栏左侧吗

不太行,显示在左侧的话需要和剪贴板、全局搜索、工作区一样用 QML 重写......目前还不会 sweat

Reply View the author
momo
deepin
2024-08-02 11:17
#17
忘记、过去

不太行,显示在左侧的话需要和剪贴板、全局搜索、工作区一样用 QML 重写......目前还不会 sweat

哈哈哈,大佬辛苦了

Reply View the author