Icone per nuovi mimetype in gnome

 
Anteprima del risultato con le nuove icone aggiunte

Le icone, una delle prime cose che si personalizza chi passa molto tempo al computer, oltre che per esigenze anchegrafiche per il fatto che permette di riconoscere un file a colpo d'occhio, e quindi capirne la funzione senza dover andare a leggere nome del file e magari capire di cosa si tratta.

Personalmente trovo una cosa comodissima poter assegnare icone alle cartelle, ma ancor di più poter personalizzare l'icona associata ad un be definito tipo di file, quindi vediamo come possiamo fare questo per tutti quei tipi di file uguali ma che dobbiamo differenziare per comodità nostra.

Dico subito che tratterò dei file dei moduli di drupal, ma lo stesso principio vale anche per qualsiasi altro tipo di file, quindi potete "sbizzarrivi" (ovviamente è inutile avere 100000 elementi grafici diversi, si rischierebbe solo di peggiorare la situazione!)

Come prima cosa dobbiamo andare a creare un nuovo mimetype da andare ad associare al nostro tipo di file che ha un'estensione ben precisa. Per fare questo creiamo un nuovo file XMl con la struttura di seguito specificata:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="application/x-drupal-php">
    <comment>Drupal module script</comment>
    <comment xml:lang="it">Modulo di Drupal</comment>
    <sub-class-of type="text/plain"/>
    <generic-icon name="x-drupal-php"/>
    <magic priority="80">
      <match value="&lt;?php" type="string" offset="0:64"/>
    </magic>
    <glob pattern="*.install"/>
    <glob pattern="*.module"/>
    <glob pattern="*.info"/>
  </mime-type>
</mime-info>

Come potete vedere questo file contiene la definizione del nuovo mimetype (che ho chiamato "application/x-drupal-php) per i file il cui nome corrisponde a dei pattern ben precisi (*.install, *.module e *.info). Oltre a questo abbiamo definito il nome del mimetype (Drupal module script) anche nelle versioni italiana (Modulo di Drupal) e il nome dell'icona che dovremmo usare (x-drupal-php).

Una volta creato questo file andiamo a salvarlo nella cartella /usr/share/mime/packages, per fare questo servono i privilegi di root, quindi se non li avete salvate il file nella vostra home e poi spostatelo nella cartella indicata. Nel mio caso il file l'ho chiamato drupal.mime.xml:

gedit ~/drupal.mime.xml

e dopo averlo editato:

sudo mv ~/drupal.mime.xml /usr/share/mime/packages/drupal.mime.xml

A questo punto andiamo ad aggioranre il database dei mimetype del nostro sistema dando:

sudo update-mime-database /usr/share/mime

Fatto questo primo passaggio andiamo ad aggiungere l'icona che ci serve nel nostro set ti icone, per fare questo dobbiamo innanzitutto sapere quale è il set di icone che stiamo usando, nel mio caso uso il set Tangerine, ma lo stesso discorso può essere applicato a qualsiasi set di icone.

Andiamo a copiare questa icona che vogliamo usare nella cartella corretta, ora, siccome la mia icona era un icona vettoriale (SVG) la salverò nella cartella scalable, ma é possibile fare la stesas cosa per le immagini PNG, dovete solo essere sicuri che le dimensioni corrispondano al nome della cartella in cui andrete a salvarla (32x32, 64x64, 128x128). All'interno di quella cartella troverete una serie di sottocartelle, nel nostro caso si tratta di un icona per un certo mimetype, quindi la posizionerò in questa cartella.

Al termine dobbiamo aggioranre il database del seti di icone in cache.

Nel mio caso ho dato i comandi:

sudo cp application-x-drupal-php.svg /usr/share/icon/Tangerine/scalable/mimetype/application-x-drupal-php.svg
cd /usr/share/icon
sudo gtk-update-icon-cache Tangerine

a questo punto dovremmo poter aprire una cartella contente questi file e vedremmo associati ad essi l'icona corretta, come potete vedere nell'immagine di apertura.

Se vi serve l'icona che ho utilizzato io la trovate allegata a questo articolo.

AllegatoDimensione
Icona per file di Drupal7.19 KB

Altri contenuti che potrebbero interessarti

  • SASS per i CSS con Compass (in ruby)
    Come indicato nell'articolo precedente abbiamo visto la comodità di usare un metalinguaggio per i CSS come SASS. Ovviamente i browser non sono in grado di utilizzare direttamente questi file, ma necessitano di ricevere del codice CSS standard. Questa operazione (NdA:la conversione da SASS a CSS)...
  • Redmine e Ubuntu
    Quando si lavora (come sviluppatori, ma anche in altre occasioni) in un team è quasi fondamentale avere un sistema per la gestione del codice oltre ad un sistema per la gestione del progetto. Inizialmente avevo utilizzato trac, strumento ottimo, ma con alcuni vincoli, il più evidente: essere...
  • Nell'articolo precedente abbiamo visto come procedere all'installazione di redmine su apache, abbiamo visto come integrare git e gitosis per la gestione delle credenziali degli utenti.. ma alla fine avevamo specificato che c'era ancora qualche problema da risolver. Di seguito vediamo come...
  • In questo articolo vedremo come collgare un dispositivo multimediale portatile ad un computer con installato una versione del sistema operativo GNU/Linux tramite protocollo MTP. Il protocollo MTP (Media Transfer Protocol) è l'evoluzione del PTP (Picture Transfer Protocol), sviluppato da...

Commenti

Invia nuovo commento





  • Elementi HTML permessi: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <h2> <h3> <h4> <table> <thead> <tbody> <tr> <th> <td>
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Linee e paragrafi vanno a capo automaticamente.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Maggiori informazioni sulle opzioni di formattazione.



Condividi contenuti