【问题标题】:How to get the current Linux theme with Python?如何使用 Python 获取当前的 Linux 主题?
【发布时间】:2015-02-28 08:51:24
【问题描述】:
我需要在系统中获取当前的图标主题。问题是有很多环境,如 GNOME、XFCE、MATE...
请问,我如何获得当前的图标主题?我想它会和Gtk.IconTheme.get_default()一起使用,但我没有得到好的结果。
提前致谢!
【问题讨论】:
标签:
python
themes
gtk3
xfce
【解决方案1】:
很遗憾,没有适用于所有系统的通用解决方案。
您将需要根据环境使用不同的方法,然后很可能根据当前环境包括一个开关。这将需要一些研究...
在现代 gtk3 环境中,您可以通过gsettings 非常方便地查询和更改基本上任何设置。
例如,在 GNOME 中:
gsettings get org.gnome.desktop.interface icon-theme
将返回当前的图标主题。
在 Cinnamon 中,您可以使用类似的查询:
gsettings get org.cinnamon.desktop.interface icon-theme
在 Mate 中,键 icon-theme 将在架构 org.mate.interface 中定义,并且在 Xfce 下可用的工具是 xfconf-query:
xfconf-query -lvc xsettings -p /Net/ThemeName
使用窗口管理器,您可以从 $HOME/.gtkrc-2.0、
读取适当的配置文件,例如 gtk-icon-theme-name=
或者它甚至可能在 ~/.Xresources 中定义,或者(相当过时)在 $HOME/gtk-3.0/settings.ini 中,也可能在 $ 中HOME/.config/qt5ct/qt5ct.conf ;) ... 等等 :)