Siete passati a Linux Mint e sentite la mancanza di un comando rapido da effettuare su tutti o solo alcuni file direttamente cliccando con il tasto destro? Nessun problema: possiamo crearlo facilmente!

Questa guida fa specifico riferimento a Linux Mint, con ambiente Desktop Cinnamon, ma la procedura è valida per qualunque altra distro che utilizzi Nemo come gestore dei file!

[LINUX]Come creare 'azione personalizzata tasto destro mouse Cinnamon

Per creare un'azione nel menù contestuale che appare quando facciamo un click con il tasto destro del mouse, dobbiamo creare due file; in alcuni casi che prevedono un'operazione semplice sarà sufficiente un solo file ma per completezza vedremo il caso più complesso.

Data la richiesta di uno storico utente e vecchio contributore di Turbolab, creeremo un'azione per la verifica dell'integrità dei file compressi.

Per prima cosa creiamo uno script in bash con il comando per la verifica dell'integrità dei file compressi. Lo script andrà salvato, ad esempio con il nome test_compress.sh, nella percorso ~/.local/share/nemo/actions/action_scripts (dovremo prima creare la cartella action_scripts).

[LINUX]Come creare 'azione personalizzata tasto destro mouse Cinnamon

Il comando prevede l'utilizzo di alcuni strumenti (nell'esempio unzip, gzip, bzip2 e xz ma lo script può essere ampliato per includere anche altri tipi di file compressi) con l'opzione comune a tutti -t per la verifica dell'integrità; aggiungeremo poi un parametro posizionale $1 che serve per passare il file su cui faremo click con il tasto destro, come oggetto da verificare. Uno script molto base, che può essere ampliato in moltissimi modi (ad esempio, per supportare la selezione multipla di più file o generare un output colorato o...), sarebbe quindi:

[LINUX]Come creare 'azione personalizzata tasto destro mouse Cinnamon

Lo sleep 5 alla fine serve per attendere 5 secondi prima della chiusura della finestra dove apparirà il responso della verifica; in alternativa può essere sostituito con read in modo da attendere la pressione del tasto Enter prima di chiudere la finestra.

Ricordiamoci di rendere lo script eseguibile per il nostro utente con il comando:

chmod u+x ~/.local/share/nemo/actions/action_scripts/test_compress.sh

Adesso dobbiamo creare un'azione che richiami questo script quando, ad esempio, clicchiamo di destro su un file compresso. Per farlo creiamo un file di testo nominato test_compress.nemo_action e salviamolo in ~/.local/share/nemo/actions/. Il contenuto del suddetto file dovrà essere:

[LINUX]Come creare 'azione personalizzata tasto destro mouse Cinnamon

Vediamo brevemente cosa è dichiarato in questo file: la prima riga definisce il file come azione di Nemo, la seconda è un commento e la terza richiama lo script creato in precedenza. Se si tratta di un comando semplice o dell'apertura di un programma con GUI piuttosto che di uno script è possibile scrivere il comando direttamente qui, eliminando la necessità di creare l'altro file. Avrete notato che dopo il percorso relativo allo script è presente %F, che serve per indicare di eseguire l'operazione su di un file, utilizzando il percorso completo e in particolare su quello su cui andremo a cliccare.

Le altre righe:

  • Terminal=true serve per indicare che lo script o il comando vanno eseguiti in un terminale;
  • Icon-Name= indica l'icona da assegnare all'azione (io ho utilizzato la generica gtk-execute che mostra degli ingranaggi);
  • Selections=s indica che l'azione deve essere attiva solo se viene selezionato un singolo file;
  • Extensions=... indica che l'azione deve essere attiva solo per file con determinate estensioni;
  • Dependencies=... controlla che i programmi necessari all'esecuzione dell'azione siano installati

Per maggiori informazioni sulla creazione di azioni vi rimando alla documentazione ufficiale che potete trovare nel file /usr/share/nem/actions/sample.nemo_action.

A questo punto la nostra azione sarà subito disponibile facendo click destro su un file compresso

[LINUX]Come creare 'azione personalizzata tasto destro mouse Cinnamon