[Feedback on issues] 装软件图标风格会变成默认风格?
Tofloor
poster avatar
zlfsyn
deepin
2026-10-21 09:47
Author

为什么会“装软件就变回去”
deepin 官方的机制是这样的:

深度应用(dock、启动器、系统应用)显示图标时,DCI 缓存层优先于一切主题,缓存在 /usr/share/dsg/icons/(root 的系统目录)
官方注册了一个 dpkg 触发器:装/升级任何软件 → 强制用“原始图标”全量重刷这个目录。它认为 hicolor 原始图标就是“正确状态”,根本不认识你的定制主题
所以不是主题失效了,是官方在每次装软件时主动把你定制的缓存层刷掉——设计上它就只会刷成官方默认

以上说法是真的吗?

Reply Favorite View the author
All Replies
avatar
deepin流云
Super Moderator
Community OP
2026-10-21 10:57
#1

装哪个应用会让设置好的主题图标变回默认风格呢?没有遇到这个问题。看看是哪个应用,我们测试同学复现下 @xuqi

Reply View the author
avatar
hotime
deepin
2026-10-21 11:25
#2

我这里用deepin25实测了一下,大致是这样:

假设你做了一个定制图标主题,叫my-icon-theme,并且当前控制中心选择的图标主题就是它。

那就会优先从这个目录查找图标:

/usr/share/dsg/icons/my-icon-theme/

如果这个my-icon-theme里没有某个应用的图标,就会根据该图标主题中配置文件/usr/share/icons/my-icon-theme/index.theme中的Inherits字段中列明的图标主题去查找有没有对应的应用图标(这个字段表示继承)。

如果还是没有,才会去/usr/share/dsg/icons/目录下直接找安装应用时根据应用的hicolor主题图标自动生成的DCI图标。

假如安装这款应用之前,用户自己往/usr/share/dsg/icons/存了一个同名的dci图标,那安装这个应用的时候并不会强行覆盖用户已有的同名DCI图标。

另外一提,如果你做的图标主题是直接放在了/usr/share/icons/my-icon-theme,那它的优先级确实还不如安装应用时生成的/usr/share/dsg/icons/应用图标名.dci

不过这样的话,用户设计的非DCI图标的常规图标主题确实会被安装应用时生成的DCI图标压制,导致实际上无法使用,这个得看官方对常规主题是什么想法。完全使用DSG规范?还是对常规图标主题也兼容,把安装应用时生成的DCI图标的优先级往后放一放?

Reply View the author
avatar
xuqi
deepin testing team
2026-10-21 11:27
#3
  • 是的,当前规格机制是这样的,可以尝试把图标转换为dci,

企业微信截图_1792553336212.png

Reply View the author
avatar
𰻞𰻝面
deepin
2026-10-21 14:00
#4

dci优先啊,但也不是不能自定义
截图_20261021001711.png

Reply View the author