2015-02-28 5 views
2

Мне нужно получить текущую тему значка в системе. Проблема в том, что существует множество сред, таких как GNOME, XFCE, MATE ...Как получить текущую тему Linux с Python?

Как я могу получить текущую тему значка? Я думаю, что это будет с Gtk.IconTheme.get_default(), но я не получил хорошего результата.

Заранее благодарен!

+0

ли вы имеете в виду [gtk.icon_theme_get_default()] (http://www.pygtk.org/pygtk2reference/ class-gtkicontheme.html # function-gtk - icon-theme-get-default)? –

+0

@ PM2Ring: Мне нужен GTK3 :) – costales

+0

@ PM2Ring сделано :) – costales

ответ

2

К сожалению, универсального решения для всех систем не существует.

Вам необходимо будет использовать разные подходы в зависимости от среды, а затем, скорее всего, включить переключатель в зависимости от существующей среды. Это займет некоторое исследование ... В современных средах gtk3 вы можете запросить и изменить в основном любую настройку довольно удобно с помощью gsettings. Например, в GNOME

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

возвращает текущий значок-темы.
В корицей вы можете запросить аналогично с

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

в Mate ключ icon-theme будет определен в схеме org.mate.interface и под Xfce доступный инструмент xfconf-запрос:

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

С менеджерами окон вы можете прочитать соответствующие файлы конфигурации, например, ex достаточно gtk-icon-theme-name= от $ HOME/.gtkrc-2,0,
или это может быть даже определено в ~/.Xresources, или (а устаревшие) в $ HOME/GTK-3.0/settings.ini, возможно, также в $ HOME/.config/qt5ct/qt5ct.conf;) ... и так далее :)

Смежные вопросы