Acho que a melhor maneira de mesclar conjuntos de ícones é criar o que chamo de conjunto leve de ícones. Esse conjunto de ícones fica no diretório inicial para que não seja prejudicado pelas atualizações do sistema, mas vincula-se aos conjuntos de ícones do sistema e, portanto, é atualizado junto 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 procurará dentro ~/.icons
e /usr/share/icons
por conjuntos de ícones. Qualquer coisa ~/.icons
substituída /usr/share/icons.
Para que você possa copiar um conjunto de ícones do diretório do sistema para o diretório inicial para personalizar o ícone e incluir apenas as partes que deseja alterar!
Geralmente, acho melhor fazer 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 o Inherits
atributo 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 em Aparência, exatamente igual ao Faenza-Darkest.
Para mesclar nossos dois temas, alteramos o tema super-mono para herdar do ubuntu-mono-dark e, em seguida, do 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 nosso tema super-mono combina ubuntu-mono-dark e Faenza, exceto que ele usa um ícone do Faenza-Darkest. Consulte as seções posteriores para usar mais do que apenas alguns ícones.
É importante ver que copiei o índice.theme do Faenza-Darkest e depois usei ícones do Faenza-Darkest. O arquivo index.theme diz onde os ícones podem estar. Se você deseja extrair ícones individuais de diferentes conjuntos de ícones, precisará mesclar os arquivos index.theme. Você pode ver os arquivos e verá um campo chamado Diretórios que lista todas as pastas que contêm ícones. 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: combinando seletivamente três conjuntos de ícones
Eu também amo ícones ubuntu-mono. Adoro os ícones de aplicativos do Faenza, mas não gosto dos ícones mono do Faenza (os indicadores e botões). Eu também gosto dos ícones do ensino fundamental. Então, eu quero combinar esses três conjuntos de ícones. Até onde eu sei, a melhor maneira de fazer isso é isolando os ícones que você gosta.
- Use o ubuntu-mono-dark
- Use os ícones do aplicativo Faenza
- Caso contrário, use os ícones do elementary
Para fazer isso, precisamos dizer ao ubuntu-mono-dark para não herdar nada (para que também possamos usar o Faenza e o 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 agora está quebrado. Faltam ícones fornecidos pelo Humanity-Dark e outros conjuntos de ícones dos quais herda. Essa alteração afetará apenas seu usuário.
Agora podemos criar um novo conjunto de ícones que usa os ícones de aplicativos da 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. Possui apenas ícones para aplicativos. Todos os outros ícones estão ausentes porque removemos o Inherits.
Agora criamos o conjunto de ícones que usaremos. Nosso conjunto de ícones não conterá ícones, apenas conectará 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 mesclar-mono-escuro em Aparência e teremos um novo conjunto de ícones bonito! (Observação: não precisamos mesclar arquivos index.theme porque não estamos adicionando ícones de conjuntos de ícones diferentes para mesclar-mono-dark. Em vez disso, estamos usando o Inherits para mesclar automaticamente os conjuntos de ícones.)
Explicação de alguns comandos
Eu uso muitos comandos do Terminal para simplificar esta 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 no conjunto de ícones 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 tudo dark
por light
em ~ / file.
sed -ie "s/Comment=.*$/Comment=Created with by me/" ~/.icons/super-mono/index.theme
Os .*$
meios para combinar qualquer texto (. *) Até o final da linha ($).
sed -ie "s/Inherits=/Inherits=ubuntu-mono-dark,/" ~/.icons/super-mono/index.theme
Aqui estamos inserindo ubuntu-mono-dark na frente da lista Inherits porque estamos procurando Inherits=
e substituindo-o porInherits=ubuntu-mono-dark,
Em qualquer lugar que eu use sed
, você poderá editar o arquivo e aplicar edições manualmente.