Come modificare l'icona di un tipo di file in XFCE (Thunar)?


13

Come modificare l'icona utilizzata per rappresentare i file di un tipo particolare in Thunar / XFCE.

Risposte:


12

Le icone visualizzate da Thunar si basano su informazioni archiviate nel database dei mimetipi. E quindi, per cambiare l'icona di un mimetype, dobbiamo modificare quel database. C'è una gui di Gnome chiamata assogiate che potrebbe essere usata per questo, ma non l'ho ancora provato. Oppure possiamo semplicemente modificare manualmente le informazioni sul mimetype, modificando / creando determinati file XML.

Ad esempio, tenterò di cambiare l'icona per i file .html. In primo luogo, prenderò il suo mimetipo dalla riga di comando ...

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

Successivamente, devo ottenere le informazioni sulla definizione del mimetype dal database mimetype del sistema. Il database si trova in / usr / share / mime /, ma più specificamente, le definizioni XML del mimetype di origine si trovano nella sottocartella / usr / share / mime / pacchetti. Quindi, proverò a trovare quale file xml contiene una dichiarazione di tipo mime per text / html

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

Quindi ho trovato un file xml che contiene la definizione di tipo mime per text / html. Ma quel file XML può contenere le definizioni per dozzine di mimetipi. Quindi dobbiamo aprirlo in un editor e cercare una piccola sezione del file che inizia con mime-type type = "text / html" e termina con / mime-type> , come mostrato di seguito.

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

Ora, se modifichiamo il database mimetype dei sistemi, potrebbe essere sovrascritto da un aggiornamento del pacchetto. Quindi, invece, creeremo un nuovo file xml nel database mimetype degli utenti locali, che si trova in ~ / .local / share / mime. E poiché questo nuovo file XML conterrà una definizione di mimetype di origine, verrà inserito nella sottocartella ~ / .local / share / mime / pacchetti. Quindi, creeremo un nuovo file xml lì, ma usando un nome inventato ...

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

e incolla il testo trovato sopra, ma aggiungendo due righe extra nella parte superiore e una riga extra nella parte inferiore ...

<?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> 

In questo esempio, sul mio Linux, non vedo alcuna riga relativa all'icona nella definizione del mimetype per text / html. Ma se vedi linee simili a queste ...

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

quindi si prega di modificarli. E infine, aggiungeremo una nostra voce con il nome dell'icona. In questo caso, ho scelto l'icona per iceweasel, ma puoi scegliere la tua. Qualsiasi icona disponibile sul tuo sistema. Tale che ora, il nuovo file XML sembra simile a questo

<?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 ora salva il file. Ora, dopo aver modificato le definizioni dell'origine mimetype locale, dobbiamo ricostruire il database mimetypes locale ...

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

Se ~ / .local / share / mime era vuoto prima, allora conterrà vari file di database. In modo tale che dopo il riavvio del sistema, le informazioni modificate nel database mimetype locale dovrebbero sovrascrivere le informazioni nel database dei sistemi principali. E si spera che anche le icone HTML in Thunar siano cambiate.

Bene, è così che lo faccio. Spero che funzioni per te. Ulteriori informazioni sul database condiviso MIME-info condiviso di freedesktop.org sono disponibili qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.