Наприклад, чи можу я зберегти Ambiance як основну тему, але призначити елементарну тему додатку елементарного?
Наприклад, чи можу я зберегти Ambiance як основну тему, але призначити елементарну тему додатку елементарного?
Відповіді:
Можна використовувати змінну середовища середовища GTK, GTK_THEME=elementary
щоб запустити додаток з елементарною темою. Наприклад, запуск GTK_THEME=elementary pantheon-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 while, файл gtk.css
у випадку Gtk3.0 ).
І цей файл базової теми містить правила стилізації, які спеціально орієнтовані на дану тему, отже, ви не можете створити елементарний, як вигляд і відчуття, з базового файлу теми Ambiance, не внісши серйозних змін, і навіть якщо ви це зробите, ви втратите сам Ambiance.
Крім того, у GNOME можна одночасно застосувати лише одну тему. Наприклад, якщо ви використовували вікно Зовнішній вигляд у Ubuntu 12.04, ви можете знати, що ви можете вибрати будь-яку одну тему зі спадного меню, якщо ви використовували gnome-tweak-tool
, ніж ви можете встановити різні теми для Gtk, Window кадрів та піктограм, але все ж це не дозволяє націлювати конкретні програми на теми, тому, як я вже говорив раніше, ви можете задавати абсолютно різні теми для різних програм, якщо ви вміло працюєте з Базовий файл теми, на сьогодні жоден сторонній додаток не може це зробити сам.
Один із способів зробити це самостійно - це те, що нехай у базовому файлі теми ( gtk.css
) є лише основні правила, нейтральні до будь-якої теми, темні або світлі. А власний дизайн теми написаний у специфічних для додатків файлах, що знаходяться у вищезгаданому каталозі, тобто для стилізації Nautilus, ви можете записати всі необхідні властивості у nautilus.css
файл. Те саме з усіма програмами, які ви хочете націлити. Очевидно, що для цього потрібно певний досвід темування Gtk.
Ви можете вказати це на створення власної теми за допомогою шаблону. Також є пристойна документація щодо тематики Gtk +.
Так, простий спосіб полягає в тому, щоб вказати програму на потрібний шлях, де живе ваш файл rc, у команді, яка запускає вашу програму:
GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc inkscape
Це 12.04 для Inkscape (який все ще Gnome2 btw) створює таке:
Дивіться більше інформації про тему Gtk2, що працює тут .
Так, ви можете, насправді я погуглив і отримав кілька відповідей:
which ooffice
термінал.echo $PATH
термінал, і ви прокладете шлях. Я рекомендую вам створити папку для сміття у вашому домашньому каталозі, ввівши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 "$@"