O truque principal é descobrir corretamente onde os ícones reais estão localizados.
Para determinar isso, vamos analisar os ícones HTML. A convenção de nomenclatura para os ícones é a mesma do tipo MIME, /
é substituída apenas por -
e não é permitida nenhuma letra maiúscula. Ou seja, tipo MIME, digamos, text/x-changelog
terá o ícone nomeado text-x-changelog.svg
(ou png
). O tipo MIME para HTML é text/html
. Portanto, seu ícone será text-html.*
Se executarmos o comando
find /usr/share/icons/ -type f | grep 'text-html\.'
teremos vários lugares onde esses ícones são colocados:
/usr/share/icons/Humanity/mimes/
/usr/share/icons/gnome/NNxNN/mimetypes/
/usr/share/icons/HighContrast/scalable/mimetypes/
Se visitarmos cada um deles com o Nautilus, veremos, essa Humanity/
pasta contém nossos ícones atuais, gnome/
alguns mais antigos. HighContrast/
não nos interessa. Portanto, para alterar algum ícone, devemos substituir os ícones localizados na Humanity/
pasta.
Observe também que os text-html.svg
ícones escalonáveis e que deveriam ter sido colocados na scalable
subpasta (que deveriam ser lógicos) são colocados nas pastas para tamanhos diferentes, da mesma maneira que os arquivos PNG de varredura.
Após a substituição dos ícones (em todas as subpastas de acordo com seus tamanhos) pelos desejados, o cache de ícones deve ser atualizado:
sudo gtk-update-icon-cache /usr/share/icons/Humanity
É isso aí.
Há outra maneira de determinar a precedência dos esquemas de ícones - para verificar seus index.theme
arquivos. Se olharmos para dentro /usr/share/icons/Humanity/index.theme
, veremos:
Inherits=gnome,hicolor
Isso significa que os ícones de gnome
e hicolor
pastas terão menos precedência do que os de Humanity
. Isso é explicado aqui .
Curiosamente, o Nautilus não obedece a essas regras de herança. Quando eu adicionei novo tipo MIME, eu tentei colocar seus ícones para /usr/share/icons/gnome/
, /usr/share/icons/hicolor
, ~/.local/share/icons/hicolor
, banco de dados ícone de atualização em cada etapa - tudo em vão. Esses ícones foram exibidos corretamente na assogiate
primeira guia, mas nunca no Nautilus. Mas quando os coloquei na Humanity
pasta e no banco de dados atualizado de ícones, eles apareceram de uma só vez.
NB Tudo isso se aplica ao tema padrão dos ícones. Se você usar algum tema de ícone personalizado, verifique onde os ícones reais estão localizados e adicione / altere ícones lá. Também nas distribuições mais recentes, essas regras de herança podem mudar. Em seguida, você deve localizar a nova pasta que armazena os ícones reais (se não for Humanity
mais), conforme explicado anteriormente.