Zenity
Zenity software | |
---|---|
![]() | |
Genere | Gestore di finestre di dialogo (non in lista) |
Sviluppatore | Glynn Foster, Lucas Rocha |
Ultima versione | 4.0.1 (4 gennaio 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | C |
Toolkit | GTK |
Licenza | licenza GPL (licenza libera) |
Sito web | wiki.gnome.org/Zenity |
Modifica dati su Wikidata · Manuale |
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:
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:
Uso: zenity [OPZIONE…] Opzioni di aiuto: -h, --help Mostra le opzioni di aiuto --help-all Mostra tutte le opzioni di aiuto --help-general Mostra le opzioni generiche --help-calendar Mostra le opzioni del calendario --help-entry Mostra le opzioni della casella di inserimento del testo --help-error Mostra le opzioni del dialogo di errore --help-info Mostra le opzioni del dialogo di informazione --help-file-selection Mostra le opzioni del dialogo di selezione file --help-list Mostra le opzioni del dialogo elenco --help-notification Mostra le opzioni dell'icona di notifica --help-progress Mostra le opzioni della barra di avanzamento --help-question Mostra le opzioni di domanda --help-warning Mostra le opzioni di avvertimento --help-scale Mostra le opzioni del cursore --help-text-info Mostra le opzioni del testo informativo --help-color-selection Mostra le opzioni di selezione del colore --help-password Mostra le opzioni del dialogo password --help-forms Mostra le opzioni del dialogo moduli --help-misc Mostra opzioni varie --help-gtk Mostra le opzioni GTK+ Opzioni dell'applicazione: --calendar Mostra un dialogo con il calendario --entry Mostra un dialogo di inserimento testo --error Mostra un dialogo di errore --info Mostra un dialogo di informazioni --file-selection Mostra un dialogo di selezione file --list Mostra un dialogo con un elenco --notification Mostra un'icona nell'area di notifica --progress Mostra un dialogo di indicazione dell'avanzamento --question Mostra un dialogo di domanda --warning Mostra un dialogo di avvertimento --scale Mostra un dialogo con un cursore --text-info Mostra un dialogo di informazione testuale --color-selection Mostra un dialogo di selezione del colore --password Mostra un dialogo della password --forms Mostra un dialogo modulo --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. È 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 "il file $INPUT_FILE è stato selezionato.";; 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
Altri progetti
Altri progetti
- Wikimedia Commons
Wikimedia Commons contiene immagini o altri file su Zenity
Collegamenti esterni
- (EN) Sito ufficiale, su wiki.gnome.org.
- Zenity, su packages.debian.org.
- Repository sorgenti di Zenity, su gitlab.gnome.org.
- (EN) Manuale di Zenity, su help.gnome.org.
- (EN) A complete zenity dialog examples 2 su Linux by Examples
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Nuvola_apps_emacs.svg/25px-Nuvola_apps_emacs.svg.png)