Відповіді:
Я думаю, що найкращий спосіб об’єднання наборів іконок - це створити те, що я називаю легким набором іконок. Цей набір значків знаходиться у вашому домашньому каталозі, тому його не буде замінено оновленнями системи, але він посилається на набори системних іконок, тому він буде оновлюватися разом з ними. Ці теми не будуть доступні для інших користувачів вашої системи.
Тема менеджер Ubuntu буде виглядати в ~/.icons
і /usr/share/icons
для іконок наборів. Що-небудь із ~/.icons
переопределеннями. /usr/share/icons.
Отже, ви можете скопіювати набір іконок із системного режиму до вашого домашнього режиму, щоб налаштувати значок, і ви включаєте лише ті частини, які ви хочете змінити!
Взагалі, я думаю, що найкраще робити власні набори іконок, які використовують системні. Це можна зробити, створивши набір іконок, файл index.theme та додавши деякі піктограми. Однак, комбінуючи різні набори значків, вам потрібно буде замінити їх Inherits
атрибут, щоб ви могли встановити свій власний порядок пріоритетності.
Давайте створимо супермоно набір іконок:
# Create a new icon set
mkdir -p ~/.icons/super-mono
# Copy an existing icon config and modify it for our new icon set
cp /usr/share/icons/Faenza-Darkest/index.theme ~/.icons/super-mono/.
sed -ie "s/Name=Faenza-Darkest/Name=super-mono/" ~/.icons/super-mono/index.theme
sed -ie "s/Comment=.*$/Comment=Created with by me/" ~/.icons/super-mono/index.theme
sed -ie "s/Inherits=/Inherits=ubuntu-mono-dark,/" ~/.icons/super-mono/index.theme
Зараз у нас з’явився новий набір піктограм у зовнішності, який точно нагадує Фаензу-Даркест.
Щоб об'єднати наші дві теми, ми змінимо супермоно тему, щоб успадкувати від ubuntu-mono-dark, а потім Faenza.
sed -ie "s/Inherits=.*$/Inherits=ubuntu-mono-dark,Faenza/" ~/.icons/super-mono/index.theme
Цього має бути достатньо для Richzilla, просто виберіть супермоно в зовнішності.
До цього набору значків можна також додати окремі значки:
ln -s /usr/share/icons/Faenza-Darkest/actions/22/gtk-paste.png ~/.icons/super-mono/actions/22/.
І тепер наша супермоно-тема поєднує ubuntu-mono-dark та Faenza, за винятком того, що вона використовує одну піктограму від Faenza-Darkest. Дивіться пізніші розділи, щоб використовувати більше ніж декілька піктограм.
Важливо бачити, що я скопіював index.theme з Faenza-Darkest, а потім використовував іконки з Faenza-Darkest. Файл index.theme вказує, де можуть бути значки. Якщо ви хочете витягнути окремі піктограми з різних наборів іконок, вам потрібно об’єднати їх файли index.theme. Ви можете переглянути файли, і ви побачите поле під назвою Каталоги, в якому перераховані всі папки, що містять піктограми. Потім ви побачите інші поля, що описують ці папки. Якщо ви додасте піктограму, яка не описана в цих полях, вона буде ігнорована. Додаткову інформацію можна знайти в специфікації index.theme .
Я також люблю іконки ubuntu-mono. Я люблю піктограми додатків Faenza, але мені не подобаються моно піктограми Faenza (індикатори та кнопки). Мені також подобаються ікони елементарного. Тому я хочу поєднати ці три набори іконок. Наскільки я знаю, найкращий спосіб це зробити, виділивши потрібні вам значки.
Для цього нам потрібно сказати ubuntu-mono-dark, щоб нічого не успадковувати (тому ми також можемо використовувати Фаензу та елементарне).
# First, ubuntu-mono-dark
# Create a shadow of the system icon set
mkdir -p ~/.icons/ubuntu-mono-dark
# Copy an existing icon config and modify it for our shadow icon set
cp /usr/share/icons/ubuntu-mono-dark/index.theme ~/.icons/ubuntu-mono-dark/.
sed -ie "s/Comment=.*$/Comment=A shadow to prevent inherits/" ~/.icons/ubuntu-mono-dark/index.theme
sed -ie "s/Inherits=.*$/Inherits=/" ~/.icons/ubuntu-mono-dark/index.theme
Ви помітите, що набір значків ubuntu-mono-dark вже порушений. У ньому будуть відсутні піктограми, які надає Humanity-Dark та інші набори іконок, від яких він успадковує. Ця зміна торкнеться лише вашого користувача.
Тепер ми можемо зробити новий набір іконок, який використовує піктограми додатків від Faenza.
# Create a new icon set
mkdir -p ~/.icons/Faenza-apps
# Copy the existing icon config and modify it for our new icon set
cp /usr/share/icons/Faenza/index.theme ~/.icons/Faenza-apps/.
sed -ie "s/Name=Faenza/Name=Faenza-apps/" ~/.icons/Faenza-apps/index.theme
sed -ie "s/Comment=.*$/Comment=Just Faenza app icons/" ~/.icons/Faenza-apps/index.theme
sed -ie "s/Inherits=.*$/Inherits=/" ~/.icons/Faenza-apps/index.theme
# Use Faenza's app icons
ln -s /usr/share/icons/Faenza/apps/ ~/.icons/Faenza-apps/.
Цей набір значків додатків Faenza також порушений. У ньому є лише піктограми для додатків. Усі інші значки відсутні, оскільки ми видалили Спадки.
Тепер ми створюємо набір іконок, який ми будемо використовувати. Наш набір іконок не буде містити піктограм, він просто з'єднує наші інші набори іконок.
# Create a new icon set
mkdir -p ~/.icons/merge-mono-dark
# Copy an existing icon config and modify it for our new icon set
cp /usr/share/icons/Faenza/index.theme ~/.icons/merge-mono-dark/.
sed -ie "s/Name=Faenza/Name=merge-mono-dark/" ~/.icons/merge-mono-dark/index.theme
sed -ie "s/Comment=.*$/Comment=Created with by me/" ~/.icons/merge-mono-dark/index.theme
sed -ie "s/Inherits=.*$/Inherits=ubuntu-mono-dark,Faenza-apps,elementary-mono-dark/" ~/.icons/merge-mono-dark/index.theme
Тепер ми повинні мати можливість вибрати злиття-моно-темне у зовнішньому вигляді, і у нас буде новий гарний набір іконок! (Примітка. Нам не потрібно зливати файли index.theme, тому що ми не додаємо піктограми з різних наборів іконок для об'єднання моно-темних. Натомість ми використовуємо Inherits для автоматичного злиття наборів іконок.)
Я використовую безліч команд Terminal для спрощення цієї відповіді, але ось опис того, що вони роблять.
ln -s /usr/share/icons/Faenza-Darkest/actions/22/gtk-paste.png ~/.icons/Faenza-Alan/actions/22/.
Це створює вказівник у вашому значку, встановленому на значку gtk-вставлення набору значків системи. Таким чином, не використовується додатковий простір на жорсткому диску, і ваш набір іконок оновлюється разом із набором значків системи. Якщо ви цього не хочете, замініть ln -s
на cp -r
.
sed -ie "s/dark/light/" ~/file
Значить , щоб замінити всі dark
з light
в ~ / файл.
sed -ie "s/Comment=.*$/Comment=Created with by me/" ~/.icons/super-mono/index.theme
Засіб .*$
для зіставлення будь-якого тексту (. *) До кінця рядка ($).
sed -ie "s/Inherits=/Inherits=ubuntu-mono-dark,/" ~/.icons/super-mono/index.theme
Тут ми вставляємо ubuntu-mono-dark перед списком Inherits, тому що ми шукаємо Inherits=
і замінюємо йогоInherits=ubuntu-mono-dark,
Де б я не користувався sed
, ви можете редагувати файл і застосовувати зміни вручну.