忘记、过去
2020-10-17 09:03 deepin
本帖最后由 zty199 于 2020-10-17 01:14 编辑
难道 bloom 主题里面真的没有自己的输入法图标吗?
没有修改 index.theme 之前,你可能在某些情况下看到过一个和第一张图中白色的图标有点相似,但是更圆润,按键中间不是透明的而是黑色线条填充的图标。这个其实就是新的主题中的输入法图标了。为什么这个图标没有自己被加载替换显示?个人估计大概率是文件位置不太对劲。
过程就不细说了,测试下来只要在 /usr/share/icons/bloom/devices/16 文件夹下,建立一个名为 input-keyboard.svg 的软链接,指向 /usr/share/icons/bloom/apps/16/fcitx-kbd.svg 这个图标文件即可。注销后重新登录或者重启,即可看到效果。
依次执行以下命令即可:
Copy the Code(建议直接复制,因为命令中空格不明显)
* P.S > 搜狗输入法用户可以在 /usr/share/icons/bloom/apps/48 文件夹下,创建一个名为 fcitx-sogoupinyin.svg 的软链接,指向该文件夹内的 sogoupinyin.svg 图标即可。
依次执行以下命令即可:
Copy the Code(建议直接复制,因为命令中空格不明显)
* P.S > 当然,不用软链接,直接复制一个图标过去改名字也可以,自己选择即可。
操作后效果如图所示(个人感觉稍微和谐一点?):
难道 bloom 主题里面真的没有自己的输入法图标吗?
没有修改 index.theme 之前,你可能在某些情况下看到过一个和第一张图中白色的图标有点相似,但是更圆润,按键中间不是透明的而是黑色线条填充的图标。这个其实就是新的主题中的输入法图标了。为什么这个图标没有自己被加载替换显示?个人估计大概率是文件位置不太对劲。
过程就不细说了,测试下来只要在 /usr/share/icons/bloom/devices/16 文件夹下,建立一个名为 input-keyboard.svg 的软链接,指向 /usr/share/icons/bloom/apps/16/fcitx-kbd.svg 这个图标文件即可。注销后重新登录或者重启,即可看到效果。
依次执行以下命令即可:
- cd /usr/share/icons/bloom/devices/16/
- sudo ln -s -f ../../apps/16/fcitx-kbd.svg ./input-keyboard.svg
* P.S > 搜狗输入法用户可以在 /usr/share/icons/bloom/apps/48 文件夹下,创建一个名为 fcitx-sogoupinyin.svg 的软链接,指向该文件夹内的 sogoupinyin.svg 图标即可。
依次执行以下命令即可:
- cd /usr/share/icons/bloom/apps/48/
- sudo ln -s -f sogoupinyin.svg ./fcitx-sogoupinyin.svg
* P.S > 当然,不用软链接,直接复制一个图标过去改名字也可以,自己选择即可。
操作后效果如图所示(个人感觉稍微和谐一点?):
Reply Like 0 View the author
现在莫名其妙变成了这样:
真的是格格不入,搞得我这个强迫症浑身难受。自 RC 内测开始我已经反馈了至少 4-5 次,可惜这个问题从来没有人管过......估计是不太当回事儿吧。
既然没人管,那咱就自己整活儿呗~
首先,开动小脑筋,找找这个奇怪的图标从哪里来......如果是从 15.11 等远古版本开始用过 Deepin 系统的用户可能会对一个名为 Papirus 的图标主题有很大的印象,主要就是这种灰色为主色调,看上去有棱有角的图标风格。这个主题嘛,不说好看与否,但是人家图标的覆盖范围是真滴广,下至状态小图标,上至软件大图标,都有这个风格的版本......不得不说是真的牛逼。而这个输入法图标确实就在其中。
那么,为什么 bloom 主题里会混进这个主题的图标呢?
其实,仔细看看主题文件夹的大小,很明显,每个主题不可能涵盖的范围都有这么广。比如星火商店里我修改的 blossom 主题,就是只修改的启动器图标为 Deepin 的logo,其他图标都是和 bloom 一毛一样,然而整个文件夹大小只有 40KB,这又是怎么做到滴呢?
很简单,这需要继承其他的主题。这里以 Beta 版本 deepin 20 系统中的 bloom 主题为例(图标没出问题的版本)。
首先,前往 /usr/share/icons/bloom 主题文件夹(其他主题基本同理)。在其中可以看到一个名为 index.theme 的文件,而这个就可以说是主题的配置文件了。打开文件,集中观察一下开头的部分,如图:
这里,Name 即主题名称,Inherits 就是继承关系了。继承大概意味着加载这个主题的图标时,会先加载父类主题的图标,之后如果在子类主题中存在同名文件或新的文件,才会被加载显示。所以嘛,我做的 blossom 主题只在 places 文件夹的各个尺寸文件夹中放进了 deepin-launcher.svg 新图标,而加载主题时优先加载了 bloom 主题,只有启动台图标被替换加载了。是不是很简单?有想自己做主题的童鞋应该会轻松很多吧......XD
接下来分析一下现在 bloom 主题出了啥问题。其实很简单,只是继承关系被改了而已。在 15.11 等旧版本中,只有现在被成为 bloom-classic 的主题,那个时候是直接继承 Papirus 的。到了 20 Beta 版本,为了新的风格,做了 bloom 主题,但是只替换了部分原有的图标,所以 bloom 主题依赖于 bloom-classic,间接依赖于 Papirus。但至少这个时候,deepin 自己的输入法图标还是在 bloom-classic 里面存在的。
然而 RC 测试版之后,个人猜测,由于官方又造了不少新轮子,多了一部分新的主题图标,自然是符合新的圆润风格,不可能再返回去适配 bloom-classic 主题。然后就变成了 bloom 直接依赖 Papirus,bloom-classic 才依赖 bloom 这个不算完整的主题的问题。自然,在 bloom 中缺失的输入法图标就显示成了 Papirus 主题中的对应图标......
咳咳,这种鸡毛蒜皮的小问题,也不指望官方自己修复了,先把大的 bug 修好了再说吧......
最简单的修改方式,那自然是修改 bloom 和 bloom-classic 两个主题的 index.theme 文件,修改为 bloom-classic 继承自 Papirus,bloom 继承自 bloom-classic,这样就回到了熟悉的白色图标风格啦。修改完了记得注销并重新登录,或者重启才能生效。只不过这样会导致使用 bloom-classic 主题时,部分新的系统应用图标缺失的问题。楼下再说说怎么更完美地处理这个残缺的主题。
* P.S > 一定要注意修改的顺序,先修改 bloom-classic,再修改 bloom 主题的 index.theme!!!因为先修改 bloom 主题,就会造成 bloom 和 bloom-classic 两个主题互相依赖......这种死循环你也懂得,虽然没啥大问题,但是在图形界面下会造成一些编辑器软件打不开......那么剩下一个就只能靠终端 vim 或者 nano 来修改了,很不方便。