2

I need to get the current Icon Theme in the system. The problem is that there are a lot of environments as GNOME, XFCE, MATE...

Please, how could I get the current Icon Theme? I'm thinking that it'll be with Gtk.IconTheme.get_default(), but I didn't get a good result.

Thanks in advance!

4

1 回答 1

2

不幸的是,没有适用于所有系统的通用解决方案。

您将需要根据环境使用不同的方法,然后很可能根据当前环境包括一个开关。这需要一些研究......在现代 gtk3 环境中,您可以通过gsettings. 例如,在 GNOME 中:

gsettings get org.gnome.desktop.interface icon-theme

将返回当前的图标主题。
Cinnamon中,您可以使用以下方法进行类似查询:

gsettings get org.cinnamon.desktop.interface icon-theme

Mate中,密钥icon-theme将在 schema 中定义org.mate.interface,在Xfce下可用的工具是xfconf-query

xfconf-query -lvc xsettings -p /Net/ThemeName

使用窗口管理器,您可以读取适当的配置文件,例如gtk-icon-theme-name=$HOME/.gtkrc-2.0
或者甚至可以在~/ .Xresources 中定义,或者(相当过时)在$HOME/gtk-3.0/settings.ini , 也可能在$HOME/.config/qt5ct/qt5ct.conf ;) ...等等:)

于 2017-06-19T11:17:06.040 回答