Ridimensionare foto sul desktop al volo in KDE

Fotografia Informatica
Crea un nuovo file .desktop

In questo post vi mostro come creare un file *.desktop su cui trascinare immagini da ridimensionare per l'uso sul Web, in chat o per posta elettronica. Un'occasione per vedere alcune funzioni interessanti di KDE, per farci viziare ancora un po' dal nostro pinguino, e per aggiungere qualche altro strumento al nostro pinguino fotografo.

Da (vanitoso) appassionato di fotografia amo mostrare le mie foto, spesso anche inviandole via email o in chat ad amici. Ma un'immagine da 8 Mpx o più non va trasmessa così com'è, ma andrebbe ridimensionata a dimensioni e "peso" minori e poi... massima fiducia negli amici, ma i miei originali preferisco non diffonderli, non si sa mai!

Fino a ieri, ogni volta che volevo mostrare una foto ad un amico in chat facevo sempre la stessa trafila: apri la foto con Gimp o Digikam, scala l'immagine, salva con nome sul Desktop, inviala, tienila un po' e poi e cestina l'immagine.
Lo sapete, sono allergico alle operazioni ripetitive: sono cose per le macchine, non per gli esseri umani, facciamole fare alle macchine!

Oggi allora mi sono fermato un istante, ci ho pensato, ed ho trovato una soluzione elegante da usare nel mio ambiente desktop, KDE. Quel che mi serve è semplicemente un "coso" su cui "buttare" le immagini da ridimensionare, che mi restituisca sul Desktop una versione riscalata dell'immagine originale.

Niente di più facile. Basta far click con il pulsante destro in una area vuota del Desktop e scegliere "Crea" -> "Collegamento ad una applicazione". KDE ci mostra la finestra per creare un nuovo file *.desktop.

Nella prima scheda (Generale) scegliamo l'icona che vogliamo usare (io ho scelto un imbuto) e il nome del file (non sarà visualizzato nel desktop, ma lo sarà in konqueror). Passiamo alla scheda Applicazione; il campo Descrizione è il testo che effettivamente comparirà sul desktop, scriviamoci qualcosa come "Ridimensiona foto per il Web"; il campo Commento è per inserire una descrizione più dettagliata, che comparirà come tooltip quando fermiamo il mouse sull'icona.
Il campo più importante è il campo "Comando": inseriamo qui l'azione da fare al momento in cui si fa doppio click sull'icona (che non ci interessa in questo caso) o vi si trascina sopra un file con il drag'n drop (è il nostro caso).
Non c'è bisogno di essere programmatori, basta aver installato ImageMagick (è talmente utile che non dovrebbe mancare in nessuna linuxbox) saperlo usare e avere qualche rudimento della riga di comando. Ecco il comando che ho inserito:
convert %f -resize 1280x1280 `basename %f `

Il comando dovrebbe essere chiaro anche a chi non conosce ImageMagick. In pratica convert converte il file trascinato, identificato da %f, in un'immagine delle stesse proporzioni, il cui lato maggiore è di 1280 px, e scrive il risultato con lo stesso nome dell'originale ma in un file nella directory corrente (il comando basename "toglie" il percorso dal nome del file passato, le virgolette capovolte sostituiscono l'output di basename sulla riga di comando, dando semplicemente il nome del file senza percorso).
Se 1280 vi sembrano troppi, usate 1024x1024 o quel che volete.

Infine inseriamo nel campo "Percorso di lavoro" il percorso del nostro Desktop, dove andranno salvate le immagini convertite. Lasciamo stare le altre opzioni, diamo OK ed il gioco è fatto. Adesso basta trascinare sull'icona un'immagine da qualsiasi applicazione compatibile con KDE (e quindi anche GTK+...) per avere sul desktop una versione scalata della nostra immagine originale, pronta per essere spedita per vantarsi delle proprie foto con gli amici!

Noterete che la cosa funziona anche se ci trasciniamo sopra un gruppo di immagini invece che una singola immagine: non c'è bisogno di creare alcun ciclo, o altre complicazioni, sarà KDE a passare ciascuna immagine al comando convert e a darci i risultati desiderati.

L'operazione di ridimensionamento si può rendere più rapida dicendo in anticipo aggiungendo l'opzione -size a convert:
convert -size 1280x1280 %f -resize 1280x1280 `basename %f `

E visto che non vogliamo farci mancare nulla, facciamo in modo che quando l'operazione di ridimensionamento è stata completata con successo sia riprodotto un segnale acustico, che ci dia conferma:
convert -size 1280x1280 %f -resize 1280x1280 `basename %f ` && ogg123 $HOME/.kde/share/sounds/Borealis/Popup.ogg

Voi chiaramente sostituite $HOME/.kde/share/sounds/Borealis/Popup.ogg con il percorso del file audio che volete riprodurre, e usate il comando ogg123 se è un file ogg, mpg123 se è un file mp3 e aplay se è un file wav. In alternativa, potete usare mplayer, che è in grado riprodurre qualsiasi file audio.

Trascina per ridimensionare

In tutto questo non c'è magia nera. I file *.desktop non sono altro che dei file di testo, che contengono le informazioni necessarie a KDE per sapere che deve fare quando facciamo doppio click o ci trasciniamo qualcosa sopra. Basta aprirli con un editor di testo per svelare il mistero.
Ecco il nostro, ad esempio:
[Desktop Entry]
Comment=Ridimensiona le immagini trascinate a 1280 px, e ne mette una copia sul Desktop, in modo che possano essere inviate via email o messe sul web
Encoding=UTF-8
Exec[$e]=convert -size 1280x1280 %f -resize 1280x1280 `basename %f ` && ogg123 /home/gerlos/.kde/share/sounds/Borealis/Popup.ogg
GenericName=Ridimensiona foto per il web
Icon=filter
Name=Ridimensiona foto per il Web
Path[$e]=$HOME/Desktop
Type=Application

La prima riga descrive il tipo di file, ed è richiesta, come anche la riga Exec. Il ruolo delle altre righe è abbastanza evidente (per approfondire, vedi le pagine correlate). Una riga che non dovrebbe mancare nel nostro caso è Type=Application; se non ci fosse, non accadrebbe nulla!

Probabilmente la cosa vi ha stuzzicato la fantasia... chissà quante cose si possono fare in questo modo!
Ed in effetti, con queste funzioni, insieme ai menù di servizio di KDE (vedi ad esempio http://ramielinux.wordpress.com/2007/08/01/scrivere-service-menu-per-kde... ), è possibile estendere le funzioni del nostro ambiente desktop molto al di là di quelle predefinite, adeguandolo al nostro flusso di lavoro e alle nostre esigenze, con il minimo della fatica e con una conoscenza minima della riga di comando (che è sempre utilissima!).
Per approfondire, vedete le pagine correlate nella colonna a sinistra.

Trackback URL for this post:

http://gerlos.altervista.org/trackback/392

commenti

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Allowed HTML tags: <a> <em> <strong> <del> <cite> <code> <img> <ul> <ol> <li> <dl> <dt> <dd> <pre>
  • Linee e paragrafi vanno a capo automaticamente.
  • Insert Flickr images: [flickr-photo:id=230452326,size=s] or [flickr-photoset:id=72157594262419167,size=m].
  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
Per provare che sei un visitatore umano, rispondi a questa domanda. È per evitare l'inserimento di messaggi spam.
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.