Як зробити тему з нуля для Єдності?


66

Я хотів би зробити тему з нуля для Unity.

Які знання та інформація / вміння потрібні? Чи є вже інструменти чи шаблони для чогось подібного? Я не маю жодного досвіду Python, тому інструменти, упереджені для початківців, є кращими.


1
Наскільки це має бути детально? Які частини теми вам потрібні? Ікони? Метацити? 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

im6

За допомогою редактора зображень (Gimp) ви можете змінювати кольори або робити різні речі на зображеннях. Не забудьте зберегти однаковий розмір зображення і, звичайно, використовуйте здорові кольори (дотримуйтесь одного кольору та 1 або 2 відтінків цього кольору, щоб створити тему, а не те, що доставляє людям миттєві головні болі).

Відтворіть ці 2 каталоги у своїй Picturesпапці, скопіювавши тему у свою Pictures. Я скопіював 2 каталоги всередині теми і в результаті видалив усі каталоги, які не є зображеннями:

im7

Відкрийте всі зображення всередині gimp і починайте їх редагувати, і коли ви задоволені, скопіюйте їх у каталог вашої теми та перевірте, чи працює він. Зауваження: оскільки темою належить root, вам потрібно скористатися sudo, щоб скопіювати її.


7
Ви також можете скопіювати теми в каталог, ~/.local/share/themes/щоб вам не потрібні права sudo (а також уникнути можливих проблем із пакетами пізніше) під час розробки нової теми.
JanC

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, ви можете змінювати кольори або робити різні речі на зображеннях у цих папках.

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

Не забудьте зберегти однаковий розмір зображення і, звичайно, використовуйте здорові кольори (дотримуйтесь одного кольору та 1 або 2 відтінків цього кольору, щоб створити тему ).

Відкрийте всі зображення всередині Pinta / Gimp і починайте їх редагувати, і коли ви задоволені, скопіюйте їх у каталог своєї теми.

Однак - основна частина відредагувати тему змінюють різні .css файлів в цих папках (і підпапці Apps ).

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

Cascading-Style-Sheets - це чітко визначена мова таблиць стилів, яка змінює зовнішній вигляд асоційованих об'єктів - у нашому випадку тему - але однаково стосується веб-сторінок та документів HTML.

Редагувати це не для непосвячених - на щастя, є кілька дуже хороших інструментів, які дозволяють редагувати та переглядати зміни CSS - див. Пов'язані запитання та відповіді нижче.

Як тільки ви задоволені своєю темою - встановіть свою тему через Ubuntu-Tweak

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

На жаль, ви не можете змінити теми за допомогою стандартного екрану зовнішності - теми там жорстко закодовані в 11.10 та 12.04.


Пов’язані запитання:


Чому я не можу змінити тему безпосередньо?
Сантош Кумар

1
теми фіксуються (жорстко) на екрані зовнішності. Я впевнений, що розробники хочуть, щоб це виправити. До цього - використовуйте мій спільноту, щоб змінити свої теми.
fossfreedom

16.04., Слідуючи вказівкам назви папки та всередині .theme-файла, щоб перевірити, я змінив цей файл на .theme-файл, ButtonLayout=minimize,maximize,close:але він не змінить розкладку кнопок, будь-яку пораду? Я перемикаю, використовуючи unity tweak toolйого, працює при переході на adwaita і назад, але моя власна тема ніколи нічого не змінює :(
Power Aquarius Power
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.