domenica 12 gennaio 2014

Gnome Shell e le Cartelle Colorate





Dalle mie parti, si narra una antica leggenda per cui un mio lontano prozio, dopo vent'anni di lavoro in un disordinato ufficio, fu il primo e unico vero inventore delle cartellette colorate.

Non penso che questa leggenda sia vera, e non ho mai apprezzato il monumento che il sindaco volle dedicare al mio prozio, ma qualche volta, quando gironzolo per il disco del mio portatile, mi intristisco di fronte alla visione di tante cartellette tutte uguali e tutte dello stesso colore.

Una volta succedeva anche coi files, ma adesso i sistemi sono praticamente tutti dotati di un comodo sistema, per ottenere delle stupende thunbnails.

Per le cartelle però questo non succede, c'è stato qualche timido tentativo, specialmente con KDE, ma il grosso della questione è ancora irrisolto.

È facile capire il perché:  tranne alcuni casi, come le foto o la musica, il sistema non sà cosa c'è in una cartella e se cerca di prendere qualche preview per rappresentarla, magari l'immagine non è significativa e rischia solo di creare confusione.

Ok, quindi il sistema non lo sa, ma noi si.

Per esempio nel mio caso, quando sono lanciato in un lavoro, riempio le scrivanie, sia quella reale che quella virtuale, di documenti vari, poi : la prima la ordino butto un po`di cose nel cestino e metto il rimanente in un armadio e per la seconda faccio esattamente la stessa cosa, mettendo le cose in un armadio chiamato Folders della mia HOME utente.

Così come leggenda narra, che il mio prozio, steso sulla comoda poltrona dell'ufficio e guardando il grigiore di quell'armadio, pensò alle cartellette colorate, realtà vuole che guardando quel maledetto Folders pieno di cartellette tutte uguali, il sottoscritto abbia voluto per forza fare qualcosa.

Una iconcina a testa

La prima cosa è cercare delle immagini piccole che rappresentino le singole attività.

Fare questo è facile facile, basta andare su Google Images, scegliere l'apposita voce di ricerca Clip art , inserire il nome della cartella (o qualcosa di simile), per esempio Android e si trova sempre un modo per descriverla, per esempio questo coso :



Possiamo scegliere jpg o png, altri formati sono accettati ma è meglio stare sul classico.

Se avete scelto la ricerca Clip Art, l'iconcina sarà di pochi pixel e se è troppo grande potete ridimensionarla con cura per farla diventare qualcosa attorno ai 256 pixel, ma le dimensioni esatte non sono molto importanti.

A questo punto salvatela nel folder Folders/Android, col nome .icon .

In sintesi le vostre icone saranno files nascosti all'interno del folder stesso con nome .icon e senza estensione, perché come dovreste ben sapere, Linux non si basa sulle estensioni ma sui magic numbers, per riconoscere il formato.

E chi glielo spiega a Gnome Shell ?

Ora che in ogni subfolder del folder "Folders", c'è una icon nascosta di nome ".icon" chi glielo spiega a Gnome Shell ?

Può spiegarglielo l'interfaccia grafica, tasto destro, proprietà, si clicca sull'iconcina e si sceglie.

Però è noioso e come al solito noi cerchiamo qualcosa di più semplice da farsi, con l'immancabile script di poche righe.

Le iconcine sono associate agli attributi del Virtual File System di Gnome, quindi cosa ci può essere di più comodo del comando : gvfs-set-attribute ?

Si può scrivere :

gvfs-set-attribute -t string "<path assoluto del folder>" metadata::custom-icon "file:<path assoluto dell'immagine>"

dove il significato di path assoluto del folder e path assoluto dell'immagine lo lascio intuire a voi.


Il solito script

Si và nella propria cartella Folders o in qualsiasi altra grigissima cartella della vostra HOME, dalla Documents alla Workspace alla Development eccetera e si lancia il solito script che abbiamo chiamato seticons, il quale sta nella classica /usr/local/bin, salvato come root ed accessibile in lettura ed esecuzione  da tutti (chmod 755) e il gioco è fatto !

Cosa manca ? Lo Script . Quindi eccolo qui :

#!/bin/bash
p=`pwd`
for i in *
do
  if [ -d "$i" ]
  then
    if [ -r "$i/.icon" ]
    then
      gvfs-set-attribute -t string "$p/$i" metadata::custom-icon "file://$p/$i/.icon"
    fi
  fi
done


Questo mette in p il path da cui lo lanciamo, quindi nel mio caso immaginiamo : /home/duraminga/Folders, ricerca tutti gli elementi che ci sono nella cartella, e quando trova un subfolder ( -d "$i" ) , si avventura cercando l'eventuale presenza di un file nascosto .icon ( -r "$i/.icon" ) e se lo trova allora esegue il set che nel caso del subfolder Android è :

gvfs-set-attribute -t string "/home/duraminga/Folders/Android" metadata:custom-icon "file:///home/duraminga/Folders/Android/.icon"

combinazione, proprio quello che ci serve per impostare le iconcine, quindi apriamo Folders, et voilà :



Se lo ingrandiamo un pochino possiamo anche vedere il dettaglio del numero di elementi nelle cartelle, con grande soddisfazione del mio prozio.


Nessun commento:

Posta un commento