Penso che il modo migliore per unire i set di icone sia quello di creare quello che chiamo un set di icone leggero. Questo set di icone vive nella tua home directory in modo che non venga bloccato dagli aggiornamenti di sistema, ma si collega ai set di icone di sistema, quindi verrà aggiornato insieme a loro. Questi temi non saranno disponibili per altri utenti sul tuo sistema.
Set di icone leggere
Gestore di temi di Ubuntu cercherà in ~/.icons
e /usr/share/icons
per le icone set. Tutto ciò in ~/.icons
sostituzioni /usr/share/icons.
Così si può copiare un set di icone dal dir sistema alla vostra directory home di personalizzare l'icona e si includere solo le parti che si desidera cambiare!
In generale, penso che sia meglio creare i propri set di icone che utilizzano quelli di sistema. Puoi farlo creando un set di icone, un file index.theme e aggiungendo alcune icone. Tuttavia, quando si combinano diversi set di icone, è necessario sovrascrivere il loro Inherits
attributo in modo da poter impostare il proprio ordine di precedenza.
Creazione di un'icona impostata per unire temi
Creiamo un set di icone 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
Ora abbiamo un nuovo set di icone in Appearance che è esattamente come Faenza-Darkest.
Per unire i nostri due temi, cambiamo il tema super-mono per ereditare da Ubuntu-mono-dark e quindi da Faenza.
sed -ie "s/Inherits=.*$/Inherits=ubuntu-mono-dark,Faenza/" ~/.icons/super-mono/index.theme
Questo dovrebbe essere sufficiente per richzilla, basta selezionare super-mono in Aspetto.
Aggiunta di icone personalizzate
Possiamo anche aggiungere singole icone a questo set di icone:
ln -s /usr/share/icons/Faenza-Darkest/actions/22/gtk-paste.png ~/.icons/super-mono/actions/22/.
E ora il nostro tema super-mono combina ubuntu-mono-dark e Faenza, tranne che usa un'icona di Faenza-Darkest. Vedi le sezioni successive per usare più di poche icone.
È importante vedere che ho copiato l'indice.theme di Faenza-Darkest e poi ho usato le icone di Faenza-Darkest. Il file index.theme indica dove potrebbero trovarsi le icone. Se vuoi estrarre singole icone da diversi set di icone, dovrai unire i loro file index.theme. Puoi guardare i file e vedrai un campo chiamato Directory che elenca tutte le cartelle che contengono icone. Quindi vedrai altri campi che descrivono queste cartelle. Se aggiungi un'icona che non è descritta da questi campi, quell'icona verrà ignorata. Puoi trovare maggiori informazioni nelle specifiche index.theme .
Avanzato: combinazione selettiva di tre set di icone
Adoro anche le icone di Ubuntu-Mono. Adoro le icone delle app di Faenza, ma non mi piacciono le icone mono di Faenza (gli indicatori e i pulsanti). Mi piacciono anche le icone elementari. Quindi voglio combinare questi tre set di icone. Per quanto ne so, il modo migliore per farlo è isolare le icone che ti piacciono.
- Usa ubuntu-mono-dark
- Usa le icone delle app di Faenza
- Altrimenti usa le icone elementari
Per fare questo, dobbiamo dire a Ubuntu-mono-dark di non ereditare da nulla (quindi possiamo anche usare Faenza ed elementari).
# 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
Noterai che il set di icone ubuntu-mono-dark è ora rotto. Mancano le icone fornite da Humanity-Dark e altri set di icone da cui eredita. Questa modifica interesserà solo il tuo utente.
Ora possiamo creare un nuovo set di icone che utilizza le icone delle app di 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/.
Anche questo set di icone delle app Faenza è rotto. Ha solo icone per le app. Tutte le altre icone mancano perché abbiamo rimosso gli Ereditari.
Ora creiamo il set di icone che useremo. Il nostro set di icone non conterrà icone, si collega semplicemente agli altri set di icone.
# 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
Ora dovremmo essere in grado di selezionare merge-mono-dark in Appearance e avremo un bellissimo nuovo set di icone! (Nota: non dovremmo aver bisogno di unire i file index.theme perché non stiamo aggiungendo icone da diversi set di icone per unire-mono-dark. Invece, stiamo usando Inherits per unire automaticamente i set di icone.)
Spiegazione di alcuni comandi
Uso molti comandi del Terminale per semplificare questa risposta, ma ecco una descrizione di ciò che fanno.
ln -s /usr/share/icons/Faenza-Darkest/actions/22/gtk-paste.png ~/.icons/Faenza-Alan/actions/22/.
Questo crea un puntatore nel tuo set di icone sull'icona gtk-paste del set di icone di sistema. In questo modo non viene utilizzato spazio aggiuntivo sul disco rigido e il set di icone viene aggiornato insieme al set di icone del sistema. Se non lo desideri, sostituiscilo ln -s
con cp -r
.
sed -ie "s/dark/light/" ~/file
Significa sostituire tutto dark
con light
in ~ / file.
sed -ie "s/Comment=.*$/Comment=Created with by me/" ~/.icons/super-mono/index.theme
Il .*$
mezzo per abbinare qualsiasi testo (. *) Alla fine della riga ($).
sed -ie "s/Inherits=/Inherits=ubuntu-mono-dark,/" ~/.icons/super-mono/index.theme
Qui stiamo inserendo ubuntu-mono-dark davanti all'elenco Erediti perché lo stiamo cercando Inherits=
e sostituendolo conInherits=ubuntu-mono-dark,
Ovunque io utilizzi sed
, puoi modificare il file e applicare le modifiche manualmente.