Zenity
Zenity è un programma libero e multipiattaforma che permette la realizzazione ed esecuzione di finestre di dialogo GTK+ all'interno di script di bash.
Zenity software | |
---|---|
![]() | |
Genere | Gestore di finestre di dialogo (non in lista) |
Sviluppatore | Glynn Foster, Lucas Rocha |
Ultima versione | 4.1.90 (31 gennaio 2025) |
Sistema operativo | Multipiattaforma |
Linguaggio | C |
Toolkit | GTK |
Licenza | licenza GPL (licenza libera) |
Sito web | wiki.gnome.org/Zenity |
Gli script in bash 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 Mac OS X.
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:
zenity --version
il risultato di questo comando è l'indicazione della versione di zenity.
Help del programma
Un altro comando utile è la richiesta di help:
zenity --help
Il cui risultato è il seguente utile sommario di informazioni:
Usage:
zenity [OPTION...]
Help Options:
-?, --help Show help options
--help-all Show all help options
--help-general Show general options
--help-calendar Show calendar options
--help-entry Show text entry options
--help-error Show error options
--help-info Show info options
--help-file-selection Show file selection options
--help-list Show list options
--help-notification Show notification icon options
--help-progress Show progress options
--help-question Show question options
--help-warning Show warning options
--help-scale Show scale options
--help-text-info Show text information options
--help-misc Show miscellaneous options
--help-gtk Show GTK+ Options
Application Options:
--calendar Display calendar dialog
--entry Display text entry dialog
--error Display error dialog
--info Display info dialog
--file-selection Display file selection dialog
--list Display list dialog
--notification Display notification
--progress Display progress indication dialog
--question Display question dialog
--warning Display warning dialog
--scale Display scale dialog
--text-info Display text information dialog
--display=DISPLAY X display to use
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:
zenity --info --title "Finestra di informazione" \
--text "Questo è un esempio di info dialog.\nVoce zenity di Wikipedia"
Questo comando sortirà l'apertura della finestra di dialogo. La finestra scompare alla pressione del tasto OK. E' possibile inserire il comando in uno script di shell, che assumerà la seguente forma:
#!/bin/sh
zenity --info --title "Finestra di informazione" \
--text "Questo è un esempio di info dialog.\nVoce zenity di Wikipedia"
Finestre per warning ed errori
Per i warning e gli errori la grafica è leggermente diversa, quindi sono richiesti i seguenti comandi:
zenity --warning --title "Finestra di informazione" \
--text "Questo è un esempio di info dialog.\nVoce zenity di Wikipedia"
zenity --error --title "Finestra di informazione" \
--text "Questo è un esempio di info dialog.\nVoce zenity di Wikipedia"
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:
zenity --file-selection --title "Seleziona un file"
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:
#!/bin/sh
INPUT_FILE=`zenity --file-selection --title "Seleziona un file"`
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:
#!/bin/sh
INPUT_FILE=`zenity --file-selection --title "Seleziona un file"`
case $? in
0)
echo "$INPUT_FILE selected.";;
1)
echo "Nessun file selezionato";
zenity --warning --text="Nessun file selezionato, uscita dal programma";
exit;;
-1)
echo "Nessun file selezionato";
zenity --warning --text="Nessun file selezionato, uscita dal programma";
exit;;
esac
Collegamenti esterni
- (EN) Sito ufficiale
- (EN) Manuale di Zenitye
- (EN) A complete zenity dialog examples 2 su Linux by Examples