Как сделать тему с нуля для Unity?

66

Я хотел бы сделать тему с нуля для Unity.

Какие знания и информация / навыки необходимы? Существуют ли какие-либо инструменты или шаблоны для чего-то подобного уже? У меня нет опыта работы с Python, поэтому инструменты, ориентированные на начинающих, предпочтительнее.

Ачу
источник
1
Насколько подробно это должно быть? Какие части темы вам нужны? Иконки? Metacity? GTK + 2 и GTK + 3, включая специальные изменения в приложениях (включая тематику верхней панели Unity)? Также возможно (хотя и довольно ограниченно) изменить внешний вид панели запуска и приборной панели, не прибегая к основной операции. ;-)
htorque
@htorque Я бы подумал, что это должно быть сосредоточено только на самом интерфейсе Unity (панель, панель запуска, тире и т. д., ... другие вопросы, вероятно, будут лучше освещены в других вопросах). Если у вас есть хорошее руководство о том, как сделать это для 11.10, то сделайте это. :)
Кристофер Кайл Хортон

Ответы:

45

С 10.04 по 11.04

Чтобы избежать проблем с темой, которую я создаю, я начинаю с другой темы, а затем копирую ее под новым именем и использую тему Equinox Evolution Midnight для создания новой темы, которую я называю Rinzwind . Это позволяет избежать ошибок, сбоев и уведомлений о том, чего нет в этой теме.

  • создать новую тему на основе другой темы

Темы хранятся в /usr/share/themes/:

im1

Шаги, сделанные на этом изображении:

  • Откройте терминал и cd /usr/share/themes/
  • sudo mkdir Rinzwind
  • cd Rinzwind
  • sudo cp -R /usr/share/themes/Equinox\ Evolution\ Midnight/* .

Внутри нового каталога находится файл с именем, index.themeкоторое необходимо изменить на имя новой темы. Поэтому после ввода sudo gedit index.themeизмените все старые имена тем на новые:

im2

Строка, поиск и замена Equinox Evolution Midnight -> Rinzwind
IconTheme и CursorTheme Я сохраню пока, но редактирование этих 2 почти такое же, как и для этой темы.

И теперь у нас есть новое имя для старой темы:

im2

  • Создание новой темы

Внутри нашего нового каталога находятся 2 набора изображений:

IM5

мне 6 лет

С помощью графического редактора (Gimp) вы можете изменять цвета или делать различные вещи на изображениях. Обязательно сохраняйте размер изображения одинаковым и, конечно, используйте вменяемые цвета (придерживайтесь одного цвета и одного или двух оттенков этого цвета, чтобы создать тему, а не то, что доставляет людям мгновенные головные боли).

Создайте заново эти 2 каталога в своей Picturesпапке, скопировав тему в свой каталог Pictures. В результате я скопировал 2 каталога внутри темы и удалил все каталоги, которые не являются изображениями:

IM7

Откройте все изображения внутри gimp и начните их редактировать, а когда вы будете довольны, скопируйте их в каталог вашей темы и проверьте, работает ли он. Примечание: поскольку тема принадлежит пользователю root, вам нужно использовать sudo для ее копирования.

Rinzwind
источник
7
Вы также можете скопировать темы в каталог, в ~/.local/share/themes/котором вам не нужны права sudo (и избежать возможных проблем с пакетами позже) при разработке новой темы.
Янв
32

11.10 и выше

Создание темы для 11.10 и выше (GTK + 3), к счастью, очень похоже на 11.04 и предыдущие версии Ubuntu, которые использовали GTK + 2. Этот ответ основан на уже превосходном ответе Rinzwind .

Проще изменить существующую тему, чем заняться темой с нуля. Кроме того, редактировать тему в собственной локальной домашней папке проще - это позволяет избежать проблем с разрешениями и т. Д.

Давайте создадим новую тему, которая называется foss, на основе темы Ambiance. Очевидно - если у вас установлены какие-либо другие темы GTK + 3, используйте их (см. Связанные вопросы и ответы, где найти темы)

Установочные темы хранятся в /usr/share/themes/- локальные темы хранятся в вашей домашней папке под именем папки.themes

  • Открытый терминал
  • Создать локальную папку темы Fossmkdir -p ~/.themes/foss
  • cp -R /usr/share/themes/Ambiance/* ~/.themes/foss

Внутри новой папки находится файл с именем, index.themeкоторое необходимо изменить на имя новой темы.

gedit ~/.themes/foss/index.theme измените все старые имена тем на новые.

введите описание изображения здесь

И теперь у нас есть новое имя под названием foss :

Редактирование новой темы

Внутри нашего нового каталога находятся две ключевые папки - Unity и gtk-3.0 :

введите описание изображения здесь

С помощью графического редактора, такого как Pinta или Gimp, вы можете изменять цвета или выполнять различные действия с изображениями в этих папках.

введите описание изображения здесь

Обязательно сохраняйте размер изображения одинаковым и, конечно, используйте вменяемые цвета (придерживайтесь одного цвета и одного или двух оттенков этого цвета, чтобы создать тему ).

Откройте все изображения внутри Pinta / Gimp и начните их редактировать, а когда вы будете довольны, скопируйте их в каталог вашей темы.

Тем не менее, основная часть редактирования темы - это изменение различных файлов .css в этих папках (и в подпапке Apps ).

введите описание изображения здесь

Cascading-Style-Sheets - это четко определенный язык таблиц стилей, который изменяет внешний вид связанных объектов - в нашем случае тему - но в равной степени относится к веб-страницам и документам HTML.

Это не для непосвященных редактировать их - к счастью, есть несколько очень хороших инструментов, которые позволяют вам редактировать и просматривать изменения CSS - см. Связанные вопросы и ответы ниже.

Как только вы довольны своей темой - установите свою тему через Ubuntu-Tweak

введите описание изображения здесь

К сожалению, вы не можете изменить темы через стандартный экран « Внешний вид» - темы там жестко запрограммированы в 11.10 и 12.04.


Связанные вопросы:

свобода ископаемых
источник
Почему я не могу изменить тему напрямую?
Сантош Кумар
1
темы фиксируются (жестко) на экране внешнего вида. Я уверен, что разработчики хотели бы патч, чтобы исправить это. До тех пор - используйте myunity, чтобы изменить свои темы.
fossfreedom
16.04, после следования инструкциям имени папки и внутри файла .theme, чтобы проверить, я изменил на этот файл .theme, ButtonLayout=minimize,maximize,close:но это не изменит расположение кнопок, любой совет? Я переключаюсь, используя unity tweak toolэто, работает при переходе на adwaita и обратно, но моя пользовательская тема никогда ничего не меняет :(
Aquarius Power