Zenity
# Zenity

Zenity è un programma libero e multipiattaforma che permette la realizzazione ed esecuzione di finestre di dialogo GTK+ all'interno di script di shell.

Gli script di shell sono dei programmi a riga di comando molto diffusi in ambiente Unix in quanto costituiscono dei potenti strumenti per l'automazione delle attività di elaborazione. La riga di comando è spesso una limitazione in quanto gli utenti preferiscono interagire con delle finestre di dialogo, da qui nasce l'esigenza di dotare gli script di un sistema di interazione grafico.

Esistono diversi strumenti preposti a questo scopo, ma zenity si distingue per la sua semplicità ed immediatezza di utilizzo da parte del programmatore.

Sebbene Zenity nasca in ambiente Unix, ci sono dei progetti di porting per Windows e macOS.

## Requisiti ed installazione

Zenity è normalmente già installato di default in tutte le distribuzioni Linux equipaggiate con l'ambiente grafico GNOME. Le librerie GTK+ che sono parte dell'ambiente GNOME, sono un prerequisito per l'installazione di zenity. Laddove zenity non sia installato, è possibile procedere alla installazione tramite il normale meccanismo di gestione dei pacchetti di Linux. Per verificare la prezenza di Zenity sul proprio sistema è possibile impartire il comando:

il risultato di questo comando è l'indicazione della versione di zenity.

## Help del programma

Un altro comando utile è la richiesta di help:

Il cui risultato è il seguente utile sommario di informazioni:

## Esempi di utilizzo

Riportiamo di seguito alcuni semplici esempi, utili per comprendere il funzionamento e le potenzialità di zenity.

### Finestra di informazione

Per visualizzare una semplice finestra di informazione, si può impartire il seguente comando dalla shell di Linux:

Questo comando sortirà l'apertura della finestra di dialogo. La finestra scompare alla pressione del tasto OK. È possibile inserire il comando in uno script di shell, che assumerà la seguente forma:

### Finestre per warning ed errori

Per i warning e gli errori la grafica è leggermente diversa, quindi sono richiesti i seguenti comandi:

Anche per questi due comandi, è possibile l'inserimento in uno script, analogamente a quanto visto nel precedente paragrafo.

### Selezione di un file

La finestra per la selezione di un file è possibile tramite il seguente comando esempio:

Il comando sortisce l'apertura della finestra di dialogo per la selezione di un file. Dopo che l'utente ha selezionato il file ed ha premuto il tasto OK, la finestra si chiude e sulla riga di comando viene riportato il nome del file selezionato. Questa possibilità di zenity è utile all'interno di uno script:

Come vediamo, il nome del file viene assegnato ad una variabile che potrà essere utilizzata dallo script. In realtà, l'utente potrebbe non selezionare nessun file, o potrebbe premere il tasto Cancel. In questo caso, il controllo da parte dello script della scelta dell'operatore è più complesso:

