Come faccio a unire due set di icone?

12

Voglio unire il set di icone standard di Ubuntu Mono e il set di icone di Faenza. Mi piacerebbe mantenere le icone standard di Ubuntu nel pannello (comprese le icone di Dropbox, trasferimenti di file ecc.) E sostituire tutte le altre icone dell'applicazione con le versioni di Faenza.

Come andrei su questo?

    
posta richzilla 01.03.2011 - 16:51
fonte

2 risposte

1

Modifica questo file di seguito con il tuo editor di testo preferito

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

e inserisci Faenza all'inizio della riga inherits.

    
risposta data Vallery 06.03.2011 - 17:05
fonte
10

Penso che il modo migliore per unire i set di icone sia creare ciò che io chiamo un set di icone leggero. Questa icona è salvata nella tua home directory in modo che non venga danneggiata dagli aggiornamenti di sistema, ma si collega ai set di icone del sistema, quindi verrà aggiornata insieme a loro. Questi temi non saranno disponibili per altri utenti sul tuo sistema.

Set di icone leggeri

Il gestore temi di Ubuntu guarderà in ~/.icons e /usr/share/icons per i set di icone. Qualsiasi cosa in ~/.icons sostituisce /usr/share/icons. Quindi puoi copiare un set di icone dalla directory di sistema alla tua directory home per personalizzare l'icona e includere solo le parti che vuoi modificare!

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 combini set di icone diversi, dovrai sostituire il loro attributo Inherits in modo da poter impostare il tuo ordine di precedenza.

Creazione di un set di icone 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 Aspetto che è esattamente come Faenza-Più scuro.

Per unire i nostri due temi, cambiamo il tema super-mono per ereditarlo da ubuntu-mono-dark e poi 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 utilizzare più di poche icone.

È importante vedere che ho copiato l'index.theme da Faenza-Darkest e poi ho usato le icone di Faenza-Darkest. Il file index.theme dice dove potrebbero essere 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 contenenti 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 ulteriori informazioni nella index.theme spec .

Avanzato: Combinazione selettiva di tre set di icone

Adoro anche le icone 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 è isolando le icone che ti piacciono.

  1. Usa ubuntu-mono-dark
  2. Utilizza le icone dell'app di Faenza
  3. Altrimenti usa le icone elementari

Per fare questo, dobbiamo dire a ubuntu-mono-dark di non ereditare da nulla (quindi possiamo anche usare Faenza e elementare).

# 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. Mancheranno 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 questa icona di App di Faenza è rotta. Ha solo icone per le app. Tutte le altre icone mancano perché abbiamo rimosso l'Eredita.

Ora creiamo il set di icone che useremo. Il nostro set di icone non contiene icone, ma collega solo le altre nostre serie 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 Aspetto e avremo un bellissimo nuovo set di icone! (Nota: non dovremmo unire i file index.theme perché non stiamo aggiungendo icone da diversi set di icone a merge-mono-dark, ma stiamo usando Inherits per unire automaticamente i gruppi di icone.)

Spiegazione di alcuni comandi

Uso molti comandi Terminal 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/.

Crea un puntatore nell'icona impostata sull'icona gtk-paste dell'icona di sistema. In questo modo non viene utilizzato spazio aggiuntivo su disco rigido e il set di icone viene aggiornato insieme al set di icone del sistema. Se non lo desideri, sostituisci 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 .*$ significa corrispondere qualsiasi testo (. *) alla fine della riga ($).

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

Qui inseriamo ubuntu-mono-dark davanti alla lista Inherits perché stiamo cercando Inherits= e lo sostituiamo con Inherits=ubuntu-mono-dark,

Ovunque io usi sed , potresti invece modificare il file e applicare manualmente le modifiche.

    
risposta data idbrii 13.05.2011 - 20:33
fonte

Leggi altre domande sui tag