如何用Python获取当前的Linux主题?
How to get the current Linux theme with Python?
我需要获取系统中当前的图标主题。问题是有很多环境,如 GNOME、XFCE、MATE...
拜托,我怎样才能得到当前的图标主题?我想 Gtk.IconTheme.get_default()
,但我没有得到好的结果。
提前致谢!
遗憾的是,没有适用于所有系统的通用解决方案。
您将需要根据环境使用不同的方法,然后很可能根据当前环境包括一个开关。这需要一些研究......
在现代 gtk3 环境中,您基本上可以通过 gsettings
非常方便地查询和更改任何设置。
例如,在 GNOME 中:
gsettings get org.gnome.desktop.interface icon-theme
将return当前图标主题。
在 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
使用 window 管理器,您可以从 $HOME/.gtkrc-2.0,[=35= 中读取适当的配置文件,例如 gtk-icon-theme-name=
]
或者它甚至可能在 ~/.Xresources 中定义,或者(相当过时)在 $HOME/gtk-3.0/settings.ini,也可能在 $HOME/.config/qt5ct/qt5ct.conf ;) ... 等等 :)
我需要获取系统中当前的图标主题。问题是有很多环境,如 GNOME、XFCE、MATE...
拜托,我怎样才能得到当前的图标主题?我想 Gtk.IconTheme.get_default()
,但我没有得到好的结果。
提前致谢!
遗憾的是,没有适用于所有系统的通用解决方案。
您将需要根据环境使用不同的方法,然后很可能根据当前环境包括一个开关。这需要一些研究......
在现代 gtk3 环境中,您基本上可以通过 gsettings
非常方便地查询和更改任何设置。
例如,在 GNOME 中:
gsettings get org.gnome.desktop.interface icon-theme
将return当前图标主题。
在 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
使用 window 管理器,您可以从 $HOME/.gtkrc-2.0,[=35= 中读取适当的配置文件,例如 gtk-icon-theme-name=
]
或者它甚至可能在 ~/.Xresources 中定义,或者(相当过时)在 $HOME/gtk-3.0/settings.ini,也可能在 $HOME/.config/qt5ct/qt5ct.conf ;) ... 等等 :)