ОС: Ubuntu 18.04
dkb@dkb-G:/usr/share/themes$ find -iname gtk-3* -type d
./Radiant-MATE/gtk-3.0
./Greybird/gtk-3.0
./Emacs/gtk-3.0
./Ambiance/gtk-3.0
./Ambiance/gtk-3.20
./Adwaita-dark/gtk-3.0
./Numix/gtk-3.0
./Numix/gtk-3.20
./Ambiant-MATE-Dark/gtk-3.0
./Radiance/gtk-3.0
./Radiance/gtk-3.20
./HighContrast/gtk-3.0
./Adwaita/gtk-3.0
./Ambiant-MATE/gtk-3.0
./Default/gtk-3.0
dkb@dkb-G:/usr/share/themes$
Почему делают Окружение, Сияние, и Numix имеют gtk-3.0
и gtk-3.20
папки, тогда как другие просто имеют gtk-3.0
?
От краткого тестирования кажется что изменения в файлах в gtk-3.20
имейте значение тогда как, внося то же изменение в соответствующий файл в gtk-3.0
не имеет никакого эффекта.
Например, я отредактировал gtk-main.css
в обеих папках темы Окружения для изменения
@define-color selected_bg_color #f07746;
кому:
@define-color selected_bg_color #ff00ff;
И только изменение в gtk-3.20
имеемый эффект.
gtk-3.0 и gtk-3.20 папки содержат текстовые файлы, которые основаны на веб-стандарте CSS, но с некоторыми расширениями и модификацией. Каждый файл содержит много правил, которые описывают, как информация должна быть отображена, когда определенные условия соблюдены - например, какие цвета и шрифты должны использоваться для текстовой метки в поле потока в ноутбуке. С тех пор там много различных типов виджета и контейнера, количество правил быстро умножается.
Разработчики GTK приняли решение, что исходная форма CSS (3.0) больше не подходит, и много изменений должны быть внесены. Это означает, что предыдущие файлы CSS больше не действительны, и новый набор файлов CSS должен быть помещен в gkt-3.20 папку. Однако с тех пор не каждое приложение/может быть восстановленным к новой версии платформы, старая gtk-3.0 папка остается так, чтобы более старые приложения могли продолжить работать как прежде. Действительно gtk-2.0 папка все еще требуется по той же самой причине.
При редактировании темы затем какие-либо изменения, Вы делаете к 3,20 папкам, будет только влиять на те приложения, которые были созданы к 3,20 (или позже) платформа. Для изменения вида более старых приложений необходимо будет внести соответствующие изменения в gtk-3.0 папку. Для действительно старых приложений необходимо будет также изменить gtk-2.0 папку, но это - совершенно другая история.