
Corso Linux - Sezione Manuale Zenity - Capitolo file-selection
Generalita' selezione file e dir di zenity
Opzioni disponibile per file-selection
- --filename=NOMEFILE Imposta il nome del file
- --multiple Permette di selezionare piu' di un file
- --directory Attivare la selezione delle sole directory
- --save Attivare il modo sicuro
- --separator=SEPARATORE Imposta il carattere separatore per l'output
Script bash di esempio:
#!/bin/bash zenity --file-selection --text="Seleziona il file"

Questo script di esempio mostra una finestra di dialogo di selezione file con titolo "Seleziona il file". Se vogliamo che l'utente anziche' un file possa selezionare una directory utilizziamo l'opzione --directory in questo modo
#!/bin/bash zenity --file-selection --text="Seleziona la directory" --directory
Se vogliamo permettere all'utente di selezionare piu' file contemporaneamente possiamo utilizzare l'opzione --multiple.
#!/bin/bash zenity --file-selection --text="Seleziona i file" --multiple
Un esempio piu' complesso sull'utilizzo di zenity --file-selection potrebbe essere il seguente:
#!/bin/sh
# Apre una finestra di dialogo di conferma
zenity --question --text "Vuoi eseguire la copia di backup di un file?"
# Se l'utente preme OK (viene tornato valore 0) entra all'interno dell'IF altrimente termina lo script
if [ $? = 0 ]; then
#Apre una finestra di dialogo di selezione file e torna il nome del file selezionato che sara'
#posto all'interno della variabile FILE_ORIGINE
FILE_ORIGINE=`zenity --file-selection`
FILE_DESTINAZIONE=$FILE_ORIGINE".backup"
cp $FILE_ORIGINE $FILE_DESTINAZIONE
#Visualizza una finestra di dialogo di informazione visualizzando il path del file di origine e il
#nome del file di backup
zenity --info --text="E' stata creata una copia di "$FILE_ORIGINE" in "$FILE_DESTINAZIONE fi
Altro esempio:
#!/bin/bash
zenity --question --text "Vuoi editare un nuovo file?"
if [ $? = 0 ]; then
SELECTED_FILE=`zenity --file-selection`
zenity --text-info --width=560 --editable --filename=$SELECTED_FILE > $SELECTED_FILE.edited
echo "Saved $SELECTED_FILE as $SELECTED_FILE.edited"
zenity --text-info --filename=$SELECTED_FILE.edited
fi