linuxdeepin / developer-center

Deepin developer center, provide developer wiki and community forum.
450 stars 73 forks source link

将表示 deepin 桌面环境的环境变量/配置等统一为 DDE #3829

Open BLumia opened 1 year ago

BLumia commented 1 year ago

我们需要在 v23 beta 发布前,进行如下操作:

相关链接:

18202781743 commented 1 year ago

dde-qt5platform-plugins 是否也需要同步改动 image

BLumia commented 1 year ago

应该是需要的,并且暂时需要同时支持 Deepin 与 DDE 这两种写法。

zty199 commented 1 year ago

很多 DTK 应用 main 函数里面都有这个代码:

if (!QString(qgetenv("XDG_CURRENT_DESKTOP")).toLower().startsWith("deepin")) {
    qputenv("XDG_CURRENT_DESKTOP", "Deepin");
}

这个会有什么影响吗?

BLumia commented 1 year ago

很多 DTK 应用 main 函数里面都有这个代码:

if (!QString(qgetenv("XDG_CURRENT_DESKTOP")).toLower().startsWith("deepin")) {
    qputenv("XDG_CURRENT_DESKTOP", "Deepin");
}

这个会有什么影响吗?

平台插件会根据此环境变量来加载 dxcb 插件,应该没有别的影响。按我理解现在 DTK 应用也不应该/不需要再保留这样的代码了吧? cc @zccrs @asterwyx @kegechen

zccrs commented 1 year ago

很多 DTK 应用 main 函数里面都有这个代码:

if (!QString(qgetenv("XDG_CURRENT_DESKTOP")).toLower().startsWith("deepin")) {
    qputenv("XDG_CURRENT_DESKTOP", "Deepin");
}

这个会有什么影响吗?

平台插件会根据此环境变量来加载 dxcb 插件,应该没有别的影响。按我理解现在 DTK 应用也不应该/不需要再保留这样的代码了吧? cc @zccrs @asterwyx @kegechen

是的,现在不需要保留了。除非是考虑兼容最老旧的V20系统,或者是V15系统。这在社区上不用考虑。

BLumia commented 1 year ago

@kegechen dtkgui 应该需要改一些地方 (edit: done)

BLumia commented 1 year ago

此 issue 目的本身是更新整个事项的,所以挂了 meta/tasklist 的标签。

附注:此变更的影响确实较大,不过大部分问题都已在全量测试中发现,并在对应的 issue 进行过了处理。目前剩余的基本都是残留问题。

对于需要验证此事项的测试建议:

  1. 从【深度终端之外】的其它终端模拟器程序检查环境变量 XDG_CURRENT_DESKTOP 的值。(echo $XDG_CURRENT_DESKTOP
  2. 基于 DTK 的应用是否存在“双重标题栏”或所有图标均存在异常的问题(之前进行过修复,也已经集成完毕)
  3. 观察 deepin 第一方组件与应用中,需要根据桌面环境决定开机自启的组件是否能够正常开机自启。
    • dde-introduction 在首次系统安装完成后会进行自启(检查系统首次安装完成后是否启动即可)
    • dde-clipboard 在进入 DDE 桌面环境后应当进行启动(进入 DDE 桌面环境后,按下快捷键看是否可调起剪切板侧栏)
    • dde-file-manager-daemon 在进入 DDE 桌面环境后应当进行启动(未启动文件管理器时, ps -e | grep dde-file- 检查输出结果)