请问Fcitx5如何在系统托盘显示当前主题的图标 #1303
Unanswered
Haiquan-27
asked this question in
Q&A
Replies: 1 comment
-
如果是基于dbus协议的kde的托盘,kde只会得到一个图标名称,具体显示由托盘本身负责 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
在系统托盘中fcitx5会显示一串代表语言的字符如"en/拼/ru...",我希望它显示输入法对应的svg图标例如"fcitx-pinyin.svg",我找到了控制判断显示字符图标或矢量图标的函数fcitx5-5.0.21/src/modules/notificationitem/notificationitem.cpp@preferTextIcon并尝试修改了代码让他始终返回false,在系统托盘中成功显示了对应图标,但是是系统默认breeze主题的图标,有什么办法可以让图标显示为当前主题对应的图标?
我的环境
DE:plasmashell 5.27.5
Fcitx:fcitx5-5.0.21
OS:Debian GNU/Linux 12 (bookworm)
我找到并修改了部分代码


这里是控制显示适量图标还是字符图标的部分,我让其强制返回false,让它始终显示适量图标
原本
现在的

这里是获取适量图标的文件名



我修改了testicontheme中theme的主题名为我当前使用的主题名称“Nordic-darker”,让它打印pinyin对应的图标路径
我使用fcitx5-5.0.21/test/testicontheme.cpp的测试代码返回当前主题下pinyin图标的svg图标,它正确返回了当前主题下的图标路径,但是在系统托盘中由notificationitem组件控制的系统托盘显示的还是默认breeze下的svg图标
我想知道图标显示时图标路径是从哪部分代码控制的,为什么系统托盘中的图标样式默认会从breeze中获取而不是在用户当前主题中获取
Beta Was this translation helpful? Give feedback.
All reactions