Например, могу ли я оставить 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 ~/bingedit ~/.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 "$@"