Bagaimana cara menggabungkan dua set ikon?

14

Saya ingin menggabungkan set ikon Mono standar Ubuntu dan set ikon Faenza. Saya ingin menyimpan ikon Ubuntu standar di panel (termasuk ikon untuk orang-orang seperti Dropbox, transfer file, dll.) Dan mengganti semua ikon aplikasi lain dengan versi Faenza.

Bagaimana saya melakukan ini?

richzilla
sumber

Jawaban:

3

Edit file ini di bawah ini dengan editor teks favorit Anda

/usr/share/icons/ubuntu-mono-(which mono set you want)/index.theme

dan menempatkan Faenza di awal garis keturunan.

Vallery
sumber
2
Anda harus menghindari memodifikasi file sistem. Pembaruan ke ubuntu-mono akan mengembalikan perubahan Anda.
idbrii
12

Saya pikir cara terbaik untuk menggabungkan set ikon adalah dengan membuat apa yang saya sebut set ikon ringan. Ikon ini mengatur hidup di direktori rumah Anda sehingga tidak akan dihancurkan oleh pembaruan sistem, tetapi tautan ke set ikon sistem, sehingga akan diperbarui bersama dengan mereka. Tema-tema ini tidak akan tersedia untuk pengguna lain di sistem Anda.

Set Ikon Ringan

Manajer tema Ubuntu akan mencari ~/.iconsdan /usr/share/iconsuntuk set ikon. Apa pun di ~/.iconsoverride /usr/share/icons.Jadi Anda dapat menyalin set ikon dari dir sistem ke dir home Anda untuk menyesuaikan ikon dan Anda hanya menyertakan bagian yang ingin Anda ubah!

Secara umum, saya pikir yang terbaik adalah membuat set ikon Anda sendiri yang menggunakan yang sistem. Anda dapat melakukan ini dengan membuat kumpulan ikon, file index.theme, dan menambahkan beberapa ikon. Namun, ketika Anda menggabungkan set ikon yang berbeda, Anda harus mengganti Inheritsatribut mereka sehingga Anda dapat mengatur urutan prioritas Anda sendiri.

Membuat Ikon Set untuk Menggabungkan Tema

Mari kita membuat set ikon super-mono:

# 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

Sekarang kita memiliki ikon baru di Appearance yang persis seperti Faenza-Darkest.

Untuk menggabungkan dua tema kami, kami mengubah tema super-mono untuk mewarisi dari ubuntu-mono-dark dan kemudian Faenza.

sed -ie "s/Inherits=.*$/Inherits=ubuntu-mono-dark,Faenza/" ~/.icons/super-mono/index.theme

Itu seharusnya cukup untuk richzilla, cukup pilih super-mono di Appearance.

Menambahkan Ikon Kustom

Kami juga dapat menambahkan ikon individual ke set ikon ini:

ln -s /usr/share/icons/Faenza-Darkest/actions/22/gtk-paste.png ~/.icons/super-mono/actions/22/.

Dan sekarang tema super-mono kami menggabungkan ubuntu-mono-dark dan Faenza, kecuali ia menggunakan satu ikon dari Faenza-Darkest. Lihat bagian selanjutnya untuk menggunakan lebih dari beberapa ikon.

Penting untuk mengetahui bahwa saya menyalin indeks. Tema dari Faenza-Darkest dan kemudian menggunakan ikon dari Faenza-Darkest. File index.theme mengatakan di mana ikon itu berada. Jika Anda ingin menarik masing-masing ikon dari set ikon yang berbeda, Anda harus menggabungkan file index.theme mereka. Anda dapat melihat file dan Anda akan melihat bidang bernama Direktori yang mencantumkan semua folder yang berisi ikon. Kemudian Anda akan melihat bidang lain yang menjelaskan folder ini. Jika Anda menambahkan ikon yang tidak dijelaskan oleh bidang ini, maka ikon itu akan diabaikan. Anda dapat menemukan informasi lebih lanjut di spec index.theme .

Lanjutan: Secara Selektif Menggabungkan Tiga Set Ikon

Saya juga suka ikon ubuntu-mono. Saya suka ikon aplikasi Faenza, tapi saya tidak suka ikon mono Faenza (indikator dan tombol). Saya juga suka ikon SD. Jadi saya ingin menggabungkan tiga set ikon ini. Sejauh yang saya tahu, cara terbaik untuk melakukan ini adalah dengan mengisolasi ikon yang Anda suka.

  1. Gunakan ubuntu-mono-dark
  2. Gunakan ikon aplikasi Faenza
  3. Kalau tidak, gunakan ikon SD

Untuk melakukan ini, kita perlu memberitahu ubuntu-mono-dark untuk tidak mewarisi dari apa pun (jadi kita juga bisa menggunakan Faenza dan dasar).

# 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

Anda akan melihat bahwa set ikon ubuntu-mono-dark sekarang rusak. Ini akan menjadi ikon yang hilang yang disediakan oleh Humanity-Dark dan ikon lainnya yang mewarisinya. Perubahan ini hanya akan memengaruhi pengguna Anda.

Sekarang kita dapat membuat set ikon baru yang menggunakan ikon aplikasi dari 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/.

Kumpulan ikon aplikasi Faenza ini juga rusak. Itu hanya memiliki ikon untuk aplikasi. Semua ikon lainnya tidak ada karena kami menghapus Warisan.

Sekarang kita buat set ikon yang akan kita gunakan. Set ikon kami tidak akan berisi ikon, itu hanya menghubungkan set ikon kami yang lain.

# 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

Sekarang kita harus dapat memilih merge-mono-dark di Appearance dan kita akan memiliki set ikon baru yang indah! (Catatan: Kita tidak perlu menggabungkan file index.theme karena kita tidak menambahkan ikon dari set ikon yang berbeda untuk menggabungkan-mono-gelap. Sebaliknya, kita menggunakan Inherits untuk secara otomatis menggabungkan set ikon.)


Penjelasan beberapa perintah

Saya menggunakan banyak perintah Terminal untuk menyederhanakan jawaban ini, tetapi inilah deskripsi dari apa yang mereka lakukan.

ln -s /usr/share/icons/Faenza-Darkest/actions/22/gtk-paste.png ~/.icons/Faenza-Alan/actions/22/.

Ini menciptakan sebuah pointer di ikon Anda diatur ke ikon gtk-paste ikon set sistem. Dengan begitu tidak ada ruang hard disk tambahan yang digunakan dan set ikon Anda diperbarui bersama dengan set ikon sistem. Jika Anda tidak menginginkannya, ganti ln -sdengan cp -r.

sed -ie "s/dark/light/" ~/file

Berarti mengganti semua darkdengan lightdi ~ / file.

sed -ie "s/Comment=.*$/Comment=Created with by me/" ~/.icons/super-mono/index.theme

The .*$sarana untuk mencocokkan teks (. *) Ke akhir baris ($).

sed -ie "s/Inherits=/Inherits=ubuntu-mono-dark,/"   ~/.icons/super-mono/index.theme

Di sini kita memasukkan ubuntu-mono-dark di depan daftar Inherits karena kita sedang mencari Inherits=dan menggantinyaInherits=ubuntu-mono-dark,

Di mana pun saya menggunakan sed, Anda dapat mengedit file dan menerapkan pengeditan secara manual.

idbrii
sumber
1
<sarcasm> Saya tidak yakin posting ini cukup rinci pydave </sarcasm> dalam semua keseriusan, jawaban yang bagus. Saya sebenarnya memiliki masalah serupa dengan ikon Clementines yang memilah ini.
zookalicious