site name logo

Thunar Service Menu per ridimensionare le immagini con le azioni personalizzate

Pubblicato in: , ,

Sblocca il Potenziale di Linux: Creare un Service Menu per Thunar

Nel vasto universo dei sistemi operativi, Linux brilla per la sua versatilità e personalizzazione. A differenza dei sistemi operativi più comuni come Windows o macOS, Linux offre agli utenti un controllo senza pari sulla loro esperienza informatica. Oggi, esploreremo uno dei modi in cui Linux può essere adattato alle tue esigenze specifiche, per questo tutorial ho usato la distribuzione EndeavourOS versione Openbox Community Edition con il suo gestore di file Thunar.

Il Potere delle Personalizzazioni in Linux

Linux è un sistema operativo noto per il suo approccio "fai-da-te". Ti dà la possibilità di plasmare il tuo ambiente di lavoro e farlo funzionare esattamente come desideri. Uno dei modi più efficaci per farlo è attraverso l'uso di service menu. Ma, prima di immergerci nei dettagli, diamo uno sguardo ai vantaggi fondamentali di utilizzare Linux rispetto ad altri sistemi operativi.

Vantaggi di Linux

  • Libertà di Scelta: Con Linux, hai l'opportunità di scegliere tra una vasta gamma di distribuzioni, ognuna con la sua personalità e specializzazione. EndeavourOS, basata su Arch Linux, è una scelta popolare per coloro che desiderano una distribuzione altamente personalizzabile.
  • Personalizzazione Estrema: Linux consente un controllo completo sull'aspetto e il comportamento del tuo sistema. Puoi scegliere tra vari ambienti desktop e configurarli secondo i tuoi gusti.
  • Comunità Attiva: La comunità Linux è appassionata e collaborativa. Puoi trovare risorse online, forum di supporto e una vasta gamma di software open-source per soddisfare qualsiasi tua esigenza.
  • Stabilità e Sicurezza: Linux è noto per la sua stabilità e sicurezza. Le vulnerabilità sono affrontate rapidamente, e il sistema è meno soggetto a malware rispetto ad altri sistemi operativi.

Impostare un Service Menu in Thunar

Ora che abbiamo sottolineato i vantaggi di Linux, concentriamoci sulla personalizzazione di Thunar, il file manager predefinito di EndeavourOS (Versione Openbox Community Edition). Un service menu in Thunar è un potente strumento che ti permette di estendere le funzionalità del gestore di file e automatizzare alcune delle tue attività più frequenti. Nel nostro caso, imparerai come creare un service menu per ridimensionare immagini in modo rapido e semplice.

Step 1

Prima di tutto se non sono già presenti installiamo le utilità che eseguono la conversione e mostrano la finestra di dialogo di ridimensionamento, che sono rispettivamente: imagemagick e zenity. EndeavourOS è basata su Arch Linux per cui possiamo installare i pacchetti con pacman usando il seguente comando:

sudo pacman -Syu imagemagick zenity

Ora che abbiamo tutto il necessario creiamo una cartella chiamata custom_actions/all'interno della cartella ~/.config/Thunar/presente nella tua home (devi premere la combinazione di tasti Ctrl + h per visualizzare le cartelle nascoste all'interno della home). Possiamo farlo con il seguente comando:

mkdir ~/.config/Thunar/custom_actions

Step 2

Creiamo il file picture_resize.sh all'interno della cartella custom_actions appena creata, possiamo farlo con il comando:

touch ~/.config/Thunar/custom_actions/picture_resize.sh

Step 3

Adesso possiamo editare il file picture_resize appena creato scrivendo il nostro script bash, incolliamo al suo interno quanto segue:

#!/bin/bash
 
# Thunar Azioni Personalizzate 
# Script per ridimensionare le immagini
 
DEST="./resized"
WIDTH=275
HEIGHT=190
QUALITY=75
 
 
# check required software
CHECK=("convert" "zenity")
for i in "${CHECK[@]}"
do
  if ! command -v $i >/dev/null 2>&1 ; then
      echo "Error: '$i' not found (installa i pacchetti richiesti)" 1>&2
      exit 1
  fi
done
 
resize=$(zenity --width=$WIDTH --height=$HEIGHT --list \
  --text "Scegli il livello di ridimensionamento" --radiolist  --column "%" --column "Resize"\
  FALSE 25 TRUE 50 FALSE 75);
 
# controlla se è presente il pulsante "Annulla".
if ! [[ $resize ]];
then
  exit 1
fi
 
mkdir -p $DEST
 
for file
    do
    if [ ! -e $file ]
        then
        continue
    fi
    to_name="$DEST/"$(echo $file | cut -f1 -d.)".jpg"
    convert -resize $resize% -quality $QUALITY "${file}" "${to_name}"
done
 
exit 0

Con questo script bash otteniamo una finestra di dialogo per scegliere il livello di ridimensionamento (valori: 25%, 50%, 75%), quindi nella directory di lavoro viene creata la cartella resized in cui ogni immagine viene ridimensionata e convertita in .jpg.

Step 4

Ora che abbiamo il nostro script picture_resize.sh, salvato in ~/.config/Thunar/custom_actions/, possiamo procedere con la creazione del nostro service menu per il ridimensionamento delle immagini selezionate all'interno del file manager (in questo caso ridimensioniamo in percentuale, dopo tratteremo anche il ridimensionamento usando una misura fissa in pixel).

Quindi per prima cosa in Thunar selezioniamo Modifica nel menu a tendina e successivamente clicchiamo su Imposta azioni personalizzate...

A questo punto si aprirà la finestra che ci consentirà di creare la nostra azione personalizzata. Qui dobbiamo cliccare sul pulsante + presente sulla destra per aggiungere una nuova Azione Personalizzata

Quindi apparirà una nuova finestra "Crea azione" dove dobbiamo impostare un Nome e il Comando da eseguire. Per il nome possiamo mettere quello che vogliamo, in questo esempio ho usato "Ridimensiona Immagine in %", mentre il comando da inserire è il seguente:

~/.config/Thunar/custom_actions/picture_resize.sh %N

Infine clicchiamo sul tab "Condizioni di visibilità" e dove c'è scritto "Appare se la selezione contiene:" mettiamo la spunta sulla check box "File immagine" e premiamo sul pulsante "OK" in basso.

Questo è tutto! Non ci resta che testare il funzionamento del nostro service menu, per farlo andiamo in una cartella dove sono presenti alcune immagini ad alta risoluzione che vogliamo ridimensionare e selezioniamole in blocco, dopo di che facciamo click con il destro su una delle immagini selezionate per visualizzare il menu contestuale, se abbiamo fatto tutto correttamente vedremo la nuova voce "Ridimensiona Immagine in %", facciamo click.

Service Menu

Ora apparirà la finestra di dialogo (di Zenity) che ci consentirà di scegliere il livello di ridimensionamento in percentuale, dopo aver fatto la nostra scelta (di default è impostato su 50%) premiamo su OK

Adesso dovremmo vedere una nuova cartella resized nella directory di lavoro, dove al suo interno troveremo le nostre immagini ridimensionate.

Ridimensionamento in pixel

Per ridimensionare le immagini ad una dimensione specifica, per esempio 1920px, 1280 etc... ripetiamo la procedura appena descritta ma usando un altro script che questa volta chiameremo picture_resize_px.sh e lo inseriamo all'interno della cartella ~/.config/Thunar/custom_actions/

#!/bin/sh

mkdir -p ./Resized/$1

for file
do
if [ ! -e $file ]
then
continue
fi
toname="./Resized/"$1"/"$( echo $file | cut -f1 -d.)"_"$1".jpg"
convert -geometry $1x$1 -quality 100 "${file}" "${toname}"
done

invece in Thunar ripetiamo i passaggi già effettuati nello step 4 ma con una piccola modifica, useremo un sottomenu per le varie opzioni di ridimensionamento, quindi nella finestra di Thunar in Modifica -> Imposta azioni personalizzate inseriamo in Nome: 1920 px e in Sottomenu: Ridimensiona Immagine in px

Come comando invece useremo il seguente:

~/.config/Thunar/custom_actions/picture_resize_px.sh 1920 %N

e nel tab condizioni di visibilità impostiamo come segue mettendo la spunta su File immagine.

e per aggiungere altre dimensioni ripetiamo usando sempre lo stesso comando ma modificando l'ultima parte, per esempio per impostare una voce "1280 px", in Thunar userò il comando:

/home/rodolfo/.config/Thunar/custom_actions/picture_resize_px.sh 1280 %N

nel file manager si presenterà più o meno così:

Conclusione

In conclusione, la bellezza di Linux risiede nella sua flessibilità e nella sua capacità di adattarsi alle tue esigenze. Con EndeavourOS e Thunar, hai accesso a uno strumento potente per la gestione dei file, e con l'aggiunta di un service menu personalizzato, puoi semplificare ulteriormente il tuo flusso di lavoro.

Ricorda che Linux è un sistema operativo in continua evoluzione, e l'apprendimento è parte integrante dell'esperienza. Sperimenta, personalizza e scopri le infinite possibilità che Linux ha da offrire. Con il tuo nuovo service menu in Thunar, sarai in grado di gestire le tue immagini con facilità, e questo è solo l'inizio della tua avventura Linux.

Grazie per aver letto, e non vedo l'ora di esplorare ulteriori personalizzazioni e trucchi Linux nel futuro!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Rodolfo Rizzo - Webmaster Freelance