Como alterar um ícone de tipo de arquivo no XFCE (Thunar)?

13

Como alterar o ícone usado para representar arquivos de um tipo específico no Thunar / XFCE.

Ivan
fonte

Respostas:

12

Os ícones exibidos pelo Thunar são baseados em informações armazenadas no banco de dados de mimetipos. E, assim, para alterar o ícone de um tipo MIME, precisamos modificar esse banco de dados. Existe um gui do Gnome chamado assogiate que pode ser usado para isso, mas ainda não o testei. Ou podemos apenas modificar as informações do tipo MIME manualmente, editando / criando determinados arquivos xml.

Como exemplo, tentarei alterar o ícone dos arquivos .html. Primeiramente, buscarei seu tipo de mimet na linha de comando ...

$ file --mime-type testfile.html 
testfile.html: text/html

Em seguida, preciso obter suas informações de definição de tipo MIME no banco de dados de tipo MIME do sistema. O banco de dados está localizado em / usr / share / mime /, mas, mais especificamente, as definições xml mimetype de origem são encontradas na subpasta / usr / share / mime / packages. Então, tentarei descobrir qual arquivo xml contém uma declaração do tipo mime para text / html

$ cd /usr/share/mime/packages/
$ fgrep -Hn '<mime-type type="text/html">' *
freedesktop.org.xml:25295:  <mime-type type="text/html">

Então, eu encontrei um arquivo xml que contém a definição de tipo MIME para text / html. Mas esse arquivo xml pode conter as definições para dezenas de mimetipos. Portanto, devemos abri-lo em um editor e procurar uma pequena seção do arquivo que comece com mime-type type = "text / html" e termine com / mime-type> , como visto abaixo.

  <mime-type type="text/html">
    <comment>HTML document</comment>
      .
      .
      .
  </mime-type>

Agora, se modificarmos o banco de dados de mimetype de sistemas, ele poderá ser substituído por uma atualização de pacote. Então, em vez disso, criaremos um novo arquivo xml no banco de dados mimetype de usuários locais, encontrado em ~ / .local / share / mime. E como esse novo arquivo xml conterá uma definição de tipo de tipo de fonte, ele será colocado na subpasta ~ / .local / share / mime / packages. Então, criaremos um novo arquivo xml lá, mas usando um nome inventado ...

$ cd ~/.local/share/mime/packages
$ gedit html_example.xml &

e cole o texto encontrado acima, mas adicionando duas linhas extras na parte superior e uma linha extra na parte inferior ...

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/html">
    <comment>HTML document</comment>
      .
      .
      .
  </mime-type>
</mime-info> 

Neste exemplo, no meu Linux, não vejo nenhuma linha relacionada a ícones na definição de mimetype para text / html. Mas se você vir linhas semelhantes a estas ...

<generic-icon name="xx_yada_yada_xx"/>
<icon name="xx_blah_blah_xx"/>

então edite-os. E, finalmente, adicionaremos uma entrada com o nome do ícone. Nesse caso, eu escolhi o ícone para iceweasel, mas você pode escolher o seu. Qualquer ícone que esteja disponível no seu sistema. Como agora, o novo arquivo xml se parece com esse

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/html">
    <comment>HTML document</comment>
      .
      .
      .
  <icon name="iceweasel"/>
  </mime-type>
</mime-info> 

E agora salve o arquivo. Agora, tendo modificado as definições de origem do tipo mimetype local, devemos reconstruir o banco de dados de mimetype local ...

$ cd ~/.local/share/mime
$ update-mime-database $PWD

Se ~ / .local / share / mime estava vazio antes, agora ele conterá vários arquivos de banco de dados. De modo que, após a reinicialização do sistema, as informações modificadas no banco de dados mimetype local devem substituir as informações no banco de dados principal do sistema. E espero que seus ícones html em Thunar também tenham mudado.

Bem, é assim que eu faço. Espero que funcione para você. Mais informações sobre o banco de dados de informações MIME compartilhadas do freedesktop.org podem ser encontradas aqui .

dru8274
fonte