Hoje vamos falar sobre o Zenity:
Zenity
e um programa cross-plataform que permite a execução de box GTK+
de dialogos
em
linha de comando e scripts shell.
Assim como whiptail and dialog, zenity permite facilmente a criação de GUIs, embora tenha menos recursos do que as ferramentas de criação de GUI mais complexas: "
Outras linguagens de script como Perl e Python podem ser usadas para construir aplicações GUI em grande escala, mas o programa zenity permite que um script shell possa interagir com um usuário GUI, a interface do usuário não é muito refinada quanto uma que poderia ser fornecido por um aplicativo completo GUI, mas é perfeitamente adequada para interações simples ".
Uso Básico
Quando
você pode usar Zenity em seus scripts para criar diálogos simples
que interagem com o usuário graficamente, como segue:
Você
pode criar um diálogo para obter informações do usuário. Por
exemplo, você pode solicitar que o usuário selecionar uma data de
um calendário de diálogo, ou para selecionar um arquivo a partir de
uma janela de seleção de arquivos.
Você
pode criar uma caixa de diálogo para fornecer ao usuário
informações. Por exemplo, você pode usar uma caixa de diálogo de
progresso para indicar o status atual de uma operação, ou utilize
uma caixa de diálogo mensagem de aviso para alertar o usuário.
Quando
o usuário fecha o diálogo, Zenity imprime o texto produzido pelo
diálogo para a saída padrão.
Message Box
O Zenity pode criar quatro tipos de box de menssagens:
-
Erro
-
Informação
-
Questoes
-
Alertas
Para
cada tipo , use a opção –text para expecificar o texto que
sera exibido na caixa de dialogo.
Examples:
Examples:
Abrindo
uma caixa de pergunta.
zenity --question –title="Edson te ajundando a entender o zenity" --text "Você quer mesmo desligar”"
|
Dialog
entry
Use
a opção -Entry para criar um diálogo de entrada de texto. Zenity
retorna o conteúdo da entrada de texto para a saída padrão, ou
pode armazena-la em uma variavel e processa-la mais adiante.
A
caixa de diálogo de entrada de texto compatível com as seguintes
opções:
-text
= text
Especifica
o texto que é exibido na caixa de diálogo de entrada de texto.
-Entry-text
= text
Especifica
o texto que é exibido no campo de entrada da caixa de diálogo de
entrada de texto.
-hide-text
Esconde
o texto no campo de entrada da caixa de diálogo de entrada de texto.
Exemplo
zenity
--entry --title="Login do Sistema" --text="Entre sua
password:" --hide-text
Dialogo
de progresso
Diálogo
de progresso mostra a progressão de uma rotina.
Zenity
lê dados de linha de entrada padrão . Se uma linha for prefixada
com #, o texto é atualizado com o texto nessa linha. Se uma linha
contém apenas um número, o percentual é atualizado com esse
número.
O
diálogo de progresso suporta as seguintes opções:
-text
= text
Especifica
o texto que é exibido na caixa de diálogo de progresso.
-percentage
= Percentagem
Especifica
a porcentagem inicial que está definido na caixa de diálogo de
progresso.
-auto-Close
Fecha
o diálogo progresso quando 100% tenha sido alcançado.
-pulsate
Especifica que a barra de progresso pulsa até que um caractere EOF
é lido a partir da entrada padrão.
Diálogo
de seleção de arquivo
Diálogo
de seleção de arquivo é uma das diálogo um diálogo zenity muito
útil, suporte a arquivos abertos ou salvar o arquivo.
Use
a opção -file-select para criar uma janela de seleção de
arquivos. Zenity retorna os arquivos selecionados ou diretórios para
a saída padrão. O modo padrão da caixa de diálogo de seleção de
arquivo é aberto.
A
caixa de diálogo de seleção de arquivo suporta as seguintes
opções:
-filename
= Filename
Especifica
o arquivo ou pasta que está selecionado na caixa de diálogo de
seleção de arquivos quando o diálogo é exibido pela primeira vez.
-multiple
Permite
a seleção de vários nomes de arquivos na janela de seleção de
arquivos.
-directory
Permite
apenas a seleção de diretórios no diálogo de seleção de
arquivo.
-save
Defina
o diálogo de seleção de arquivo em modo de economia.
-separator
= separator
Especifica
a cadeia que é usada para dividir a lista retornada de nomes de
arquivos.
#!/bin/bash
FILE=`zenity
--file-selection --title="Select a File"`
case
$? in
0)
echo
""$FILE" selected.";;
1)
echo
"No file selected.";;
-1)edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # zenity --list --checklist --column "Buy" --column "Item" TRUE Maçãs TRUE Laranjas FALSE Peras FALSE Cambuci FALSE Pitanga FALSE Araça >> ListaCompras.txt
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # cat ListaCompras.txt
Maçãs|Laranjas|Cambuci
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson #
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # cat ListaCompras.txt
Maçãs|Laranjas|Cambuci
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson #
echo
"No file selected.";;
esac
done
Caixa
de Shutdown
# diga ciao pro seu PC #usando o zenity zenity --question --title "Confirma o Desligamento" --text "Tem certeza" if [ "$?" -eq "0" ] then # Do shutdown at here. #Ubuntu probably needs gksudo instead of sudo sudo init 0; fi
Google
Chrome profile selector
Google
Chrome profile manager usando o zenity para o profile input. Ponha
isso num shell script e então use o path pra ele como o comando
field no gnome/kde shortcut. Quando você começar você será
promptado por profile para usar se deixar em branco sera mantido o
profile padrão
Exemplo:
/opt/google/chrome/google-chrome --user-data-dir=$HOME/.config/google-chrome/`zenity --entry --text="Enter a profile name:"` |
Outro
grande exemplo encontrado no
http://www.tildehash.com/?article=advanced-application-shortcuts-with-zenity
Este
exemplo mostra um arquivo de diálogo de navegação a partir da qual
você pode selecionar um arquivo para editar, então ele abre uma
janela de caixa de texto onde você pode digitar ou colar texto,
quando você clicar em "Fechar" outro diálogo de navegação
de arquivos é exibida onde você pode selecionar o arquivo onde
você gostaria de salvar as modificações, ele pode ser
Display a weekly shopping list in a check list dialog with Apples and Oranges pre selected zenity --list --checklist --column "Buy" --column "Item" TRUE Apples TRUE Oranges FALSE Pears FALSE Toothpasteo arquivo original, um arquivo diferente, ou um arquivo inexistente.
#!/bin/bash
#Author
tirado da WEB
zOpenPath="$(zenity
--file-selection)"
if
[ "$zOpenPath" != "" ]
then
zData=$(cat
"$zOpenPath")
zNewData=$(echo
-n "$zData" | zenity --text-info --editable --width 650
--height 400)
zSavePath=$(echo
-n "$(zenity --file-selection --filename="$zOpenPath"
--save --confirm-overwrite)")
echo
-n "$zNewData" > "$zSavePath"
fi
done
Exibindo uma caixa para seleção de itens redirecionando o resultado para um arquivo texto
Maçãs|Laranjas|
Exibindo uma caixa para seleção de itens redirecionando o resultado para um arquivo texto
Maças e Laranjas estão preselecionadas = true
zenity --list --checklist --column "Buy" --column "Item" TRUE Maçãs TRUE Laranjas FALSE
Peras FALSE Cambuci FALSE Pitanga FALSE Araça >> ListaCompras.txt
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # zenity --list --checklist --column "Buy" --column "Item"TRUE Maçãs TRUE Laranjas FALSE Peras FALSE Cambuci FALSE Pitanga FALSE Araça >> ListaCompras.txt
EXIBINDO O ARQUIVO listaCompras.txt
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson # cat ListaCompras.txtMaçãs|Laranjas|
edson-HP-Compaq-dx7400-Brazil-SFF-PC edson #
Dialog options --calendar Display calendar dialog --entry Display text entry dialog --error Display error dialog --file-selection Display file selection dialog --info Display info dialog --list Display list dialog --notification Display notification icon --progress Display progress indication dialog --question Display question dialog --text-info Display text information dialog --warning Display warning dialog General options --title=TITLE Set the dialog title --window-icon=ICONPATH Set the window icon --width=WIDTH Set the dialog width --height=HEIGHT Set the dialog height Calendar options --text=STRING Set the dialog text --day=INT Set the calendar day --month=INT Set the calendar month --year=INT Set the calendar year --date-format=STRING Set the format for the returned date Text entry options --text=STRING Set the dialog text --entry-text=STRING Set the entry text --hide-text Hide the entry text Error options --text=STRING Set the dialog text File selection options --filename=FILENAME Set the filename --multiple Allow selection of multiple filenames in file selection dialog --separator=SEPARATOR Specify separator character when returning multiple filenames Info options --text=STRING Set the dialog text List options --text=STRING Set the dialog text --column=STRING Set the column header --checklist Use check boxes for first column --radiolist Use radio buttons for first column --separator=STRING Set output separator character --editable Allow changes to text --print-column=STRING Specify what column to print to standard output. The default is to return the first column. ’ALL’ may be used to print all columns. Notification options --text=STRING Set the notification text Progress options --text=STRING Set the dialog text --percentage=INT Set initial percentage --auto-close Close dialog when 100% has been reached --pulsate Pulsate progress bar Question options --text=STRING Set the dialog text Text options --filename=FILENAME Open file --editable Allow changes to text Warning options --text=STRING Set the dialog text Miscellaneous options -?, --help Show summary of options. --about Display an about dialog. --version Show version of program. Also the standard GTK+ options are accepted.
Nenhum comentário:
Postar um comentário