Como faço para mesclar dois conjuntos de ícones?

12

Eu quero mesclar o conjunto de ícones padrão do Ubuntu Mono e o conjunto de ícones do Faenza. Eu gostaria de manter os ícones padrão do Ubuntu no painel (incluindo ícones para o Dropbox, transferências de arquivos, etc.) e substituir todos os outros ícones de aplicativos pelas versões do Faenza.

Como eu faria isso?

    
por richzilla 01.03.2011 / 16:51

2 respostas

1

Edite este arquivo abaixo com seu editor de texto favorito

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

e colocar Faenza no início da linha de heranças.

    
por Vallery 06.03.2011 / 17:05
10

Acho que a melhor maneira de mesclar conjuntos de ícones é criar o que eu chamo de um conjunto de ícones leves. Este conjunto de ícones reside em seu diretório pessoal para que não seja danificado por atualizações do sistema, mas vincula-se aos conjuntos de ícones do sistema, portanto, ele será atualizado com eles. Esses temas não estarão disponíveis para outros usuários no seu sistema.

Conjuntos de ícones leves

O gerenciador de temas do Ubuntu examinará ~/.icons e /usr/share/icons para conjuntos de ícones. Qualquer coisa em ~/.icons substitui /usr/share/icons. Assim, você pode copiar um conjunto de ícones do diretório do sistema para seu diretório inicial para personalizar o ícone e incluir apenas as partes que deseja alterar!

Geralmente, acho que é melhor criar seus próprios conjuntos de ícones que usam os do sistema. Você pode fazer isso criando um conjunto de ícones, um arquivo index.theme e adicionando alguns ícones. No entanto, quando você estiver combinando conjuntos de ícones diferentes, será necessário substituir seu atributo Inherits para poder definir sua própria ordem de precedência.

Criando um conjunto de ícones para mesclar temas

Vamos criar um conjunto de ícones 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

Agora temos um novo ícone definido no Appearance, exatamente como o Faenza-Darkest.

Para mesclar nossos dois temas, mudamos o tema super-mono para herdar do ubuntu-mono-dark e depois Faenza.

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

Isso deve ser suficiente para o richzilla, basta selecionar super-mono em Aparência.

Adicionando ícones personalizados

Também podemos adicionar ícones individuais a este conjunto de ícones:

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

E agora o nosso tema super-mono combina o ubuntu-mono-dark e o Faenza, exceto que ele usa um ícone do Faenza-Darkest. Veja seções posteriores para usar mais do que apenas alguns ícones.

É importante ver que copiei o index.theme do Faenza-Darkest e usei ícones do Faenza-Darkest. O arquivo index.theme diz onde os ícones podem estar. Se você quiser extrair ícones individuais de diferentes conjuntos de ícones, precisará mesclar seus arquivos index.theme. Você pode ver os arquivos e verá um campo chamado Diretórios, que lista todas as pastas que contêm ícones. Então você verá outros campos que descrevem essas pastas. Se você adicionar um ícone que não seja descrito por esses campos, esse ícone será ignorado. Você pode encontrar mais informações na especificação index.theme .

Avançado: Combinação Seletiva de Três Conjuntos de Ícones

Eu também adoro os ícones do ubuntu-mono. Eu amo os ícones de aplicativos de Faenza, mas eu não gosto dos ícones mono de Faenza (os indicadores e botões). Eu também gosto de ícones elementares. Então eu quero combinar esses três conjuntos de ícones. Até onde sei, a melhor maneira de fazer isso é isolar os ícones que você gosta.

  1. Use o ubuntu-mono-dark
  2. Use os ícones de aplicativos do Faenza
  3. Caso contrário, use os ícones do elementary

Para fazer isso, precisamos dizer ao ubuntu-mono-dark para não herdar nada (para que possamos usar Faenza e elementar).

# 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

Você notará que o conjunto de ícones do ubuntu-mono-dark está quebrado. Faltarão ícones fornecidos por Humanity-Dark e outros conjuntos de ícones herdados. Essa alteração afetará apenas seu usuário.

Agora, podemos criar um novo conjunto de ícones que use os ícones de aplicativos do 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/.

Este conjunto de ícones do Faenza-apps também está quebrado. Só tem ícones para aplicativos. Todos os outros ícones estão ausentes porque removemos as Inherits.

Agora, criamos o conjunto de ícones que usaremos. Nosso conjunto de ícones não contém ícones, apenas conecta nossos outros conjuntos de ícones.

# 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

Agora, poderemos selecionar o merge-mono-dark no Appearance e teremos um novo e belo conjunto de ícones! (Nota: Não precisamos mesclar arquivos index.theme porque não estamos adicionando ícones de conjuntos de ícones diferentes para mesclar-mono-escuro. Em vez disso, estamos usando Inherits para mesclar automaticamente os conjuntos de ícones.)

Explicação de alguns comandos

Eu uso muitos comandos do Terminal para simplificar essa resposta, mas aqui está uma descrição do que eles fazem.

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

Isso cria um ponteiro em seu ícone definido para o ícone gtk-paste do conjunto de ícones do sistema. Dessa forma, nenhum espaço adicional no disco rígido é usado e seu conjunto de ícones é atualizado junto com o conjunto de ícones do sistema. Se você não quiser isso, substitua ln -s por cp -r .

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

Significa substituir todos os dark por light em ~ / file.

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

O .*$ significa corresponder qualquer texto (. *) ao final da linha ($).

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

Aqui estamos inserindo o ubuntu-mono-dark na frente da lista Inherits porque estamos procurando por Inherits= e substituindo-o por Inherits=ubuntu-mono-dark,

Em qualquer lugar que eu use sed , você pode editar o arquivo e aplicar as edições manualmente.

    
por idbrii 13.05.2011 / 20:33

Tags