Например, могу ли я оставить Ambiance в качестве основной темы, но назначить элементарную тему приложению элементарного?
Например, могу ли я оставить Ambiance в качестве основной темы, но назначить элементарную тему приложению элементарного?
Ответы:
Вы можете использовать переменную среды GTK GTK_THEME=elementary
для запуска приложения с элементарной темой. Например, при запуске GTK_THEME=elementary pantheon-files
будет запущено элементарное приложение Files с использованием элементарной темы GTK.
Чтобы применить его каждый раз, когда вы запускаете определенное приложение, ваш лучший вариант - создать собственный файл .desktop (модуль запуска).
/usr/share/applications/
~/.local/share/applications/
и вставьте панель запуска (Ctrl + V)Exec=
включения, Exec=env GTK_THEME=elementary
а затем предыдущего существующего содержимого строки. (Так Exec=pantheon-files
бы и стало Exec=env GTK_THEME=elementary pantheon-files
)В следующий раз, когда вы запустите приложение из Unity (или по вашему выбору), оно будет использовать элементарную тему.
Вы также можете захотеть, чтобы приложение запускалось с элементарной темой при запуске из командной строки. Для этого:
alias pantheon-files="GTK_THEME=elementary pantheon-files"
(замена pantheon-files
нужным приложением)find /usr/share/themes -type d -name 'gtk-3.0' | awk -F'/' '{print $5}'
и gedit
в демонстрационных целях? Например, GTK_THEME="HighContrast" gedit
или env GTK_THEME="HighContrast" gedit
или GTK_THEME=Adwaita:dark gedit
... ничего.
/usr/share/applications/<appname>.desktop
и это сработало для меня.
Вопрос все еще актуален и я нашел способ:
path/to/MY_FOLDER
/share/themes/
папку внутри него (то есть path/to/MY_FOLDER/share/themes
).переименуйте тему в название ТЕКУЩЕЙ АКТИВНОЙ ТЕМЫ.
Наконец, эта команда заставит приложение использовать переименованную тему вместо текущей:
GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATON
(Путь после GTK_DATA_PREFIX=
должен быть тем ( и только этим ) к папке, которая содержит /share/themes/RENAMED_THEME
. Вот почему это НЕ path/to/MY_FOLDER/share/themes/RENAMED_THEME
, а просто path/to/MY_FOLDER
.)
Чтобы иметь это внутри лаунчера, замените соответственно:
Exec=sh -c 'GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATION'
GTK_DATA_PREFIX
?
~/.themes
(должен быть текущий активный /usr/share/themes
), а затем использовать какой-либо путь GTK_DATA_PREFIX=path/to/nowhere
для запуска этого приложения, что приведет к сбросу темы приложения на текущую, только она будет сначала отображаться ~/.themes
и принимать тот с тем же именем там.
Это, конечно, возможно, у меня нет особого опыта в создании тем, но когда вы перейдете к /usr/share/themes/*Theme Name*/gtk-3.0/apps/
каталогу, вы найдете .css
файлы, названные по именам приложений, для которых они нацелены на тему, так что да, вы можете создавать темы для конкретных приложений.
Обратите внимание, что способ, которым вы упомянули тему своих приложений, может потребовать некоторой работы (например, одновременной работы Ambiance и Elementary, поскольку у каждой темы есть базовый файл, поверх которого выполняется стили, специфичные для приложения (файл gtkrc
в Gtk 2.0). время, файл gtk.css
в случае Gtk3.0 ).
И этот базовый файл темы содержит правила стиля, специально предназначенные для данной темы, поэтому вы не можете создать элементарный стиль и внешний вид из файла базовой темы Ambiance без внесения каких-либо серьезных изменений, и даже если вы это сделаете, вы потеряете внешний вид Ambiance.
Кроме того, в GNOME можно применять только одну тему за раз. Например, если вы использовали окно «Внешний вид» в Ubuntu 12.04, вы знаете, что можете выбрать любую отдельную тему из выпадающего списка, если вы ее использовали gnome-tweak-tool
, чем Вы можете установить разные темы для Gtk, оконных рам и значков, но, тем не менее, он не позволяет нацеливать конкретные приложения на темы, поэтому, как я уже говорил ранее, вы можете установить совершенно разные темы для разных приложений, если вы умно работаете с Базовый файл темы, на данный момент никакие сторонние приложения не могут сделать это самостоятельно.
Один из способов сделать это самостоятельно - позволить файлу базовой темы ( gtk.css
) иметь только основные правила, которые нейтральны для любой темы, будь то темная или светлая. И фактический дизайн темы написан в специфичных для приложения файлах, которые находятся в вышеупомянутом каталоге, то есть для стилизации Nautilus вы можете записать все необходимые свойства в nautilus.css
файл. То же самое с каждым приложением, которое вы хотите настроить. Очевидно, что для того, чтобы сделать это, требуется некоторый приличный опыт работы с Gtk.
Вы можете сослаться на это для создания собственной темы с помощью шаблона. Также есть хорошая документация по тематике Gtk +.
Да, простой способ - указать приложению требуемый путь к файлу rc в команде, которая запускает ваше приложение:
GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc inkscape
Это 12.04 для Inkscape (который все еще Gnome2, кстати) производит это:
Более подробную информацию о теме Gtk2 можно найти здесь .
Да, вы можете, на самом деле я погуглил и получил несколько ответов:
which ooffice
в терминале.echo $PATH
в терминале, и вы получите путь. Я рекомендую вам создать папку bin в вашем домашнем каталоге, набравmkdir ~/bin
gedit ~/.bashrc
чтобы открыть файл bash rc.export PATH=~/bin:${PATH}
Теперь мы создадим скрипт, который выполнит вашу программу с пользовательской темой:
gedit ~/bin/ooffice
Введите эти строки в открытом файле:
#!/bin/bash
env GTK2_RC_FILES=/usr/share/themes/SlicknessX/gtk-2.0/gtkrc /usr/bin/ooffice "$@"
Изменение режима файла , исполняемая команда: chmod +x ~/bin/ooffice
.
Надеюсь, это поможет, вам нужно запомнить только одну вещь, формат скрипта, как показано ниже:
#!/bin/bash
env GTK2_RC_FILES=PATH_TO_GTKRC PATH_TO_EXECUTABLE "$@"