Algumas coisas sobre zenity - Parte I



Retirado no Blog Gustavo Roberto - www.gustavoroberto.blog.br

Antes de começar, gostaria de dizer que a idéia desse documento, nasceu de um texto escrito pelo nosso grande amigo Aurélio ( Verde ), sobre dialog.

Se vocês consultarem o documento dele Dialog –tudo , irão ver que eles se parecessem muito.

Façam bom proveito da documentação, e se quiserem, fiquem a vontade para sugerir mudanças, ou fazer críticas.

O Documento será dividido em 2 partes. Na próxima Sexta-Feira, ou quem sabe antes, a segunda parte já estará pronta.

Apertem os cintos, e boa viagem !

+++++++++++++++++++++++++++++++++++++++
1. Prefácio

Bem vindos(as) ao “Alguma coisa sobre zenity”, essa é uma tentativa de fazer um tutorial bem legal do programa zenity.

O zenity é um pouco diferente do famoso dialog, velho conhecido de muitos programadores de Shell Script.

Você vai usá-lo quase dá mesma forma, porém dessa vez, interagindo com a interface GTK+, ou seja a interface gráfica.

1.1. Por quê esse documento existe ?

Este documento existe, para se tornar uma pequena referência ao zenity, visto que existem poucos documentos disponíveis na internet sobre o assunto.

1.2. Objetivos e escopo deste documento

O Objetivo

O Objetivo principal deste documento, é que um leigo em zenity possa, ao final da leitura, ser capaz de criar scripts ou alterar scripts já existentes.

Requisito
Do Leitor, espera-se um conhecimento prévio de programação em Shell Script ( Bourne Shell ). Os scripts que serão demonstrados aqui são simples, mas para um leigo em Shell Script será difícil aproveitar o conteúdo desse documento. Afinal, o zenity foi feito para trabalhar em conjunto com o Shell.

Recomendação

Para um bom aprendizado, recomenda-se que o leitor tenha uma shell disponível no momento da leitura, para que o leitor tenha experiência prática com o zenity, e não apenas leia o texto.

Boa Leitura !

2. Introdução
2.1 O que é o zenity

zenity, é um programa para modo gráfico, que desenhas caixas de diálogo na tela. Essas caixas são usadas para compor interfaces amigáveis ao usuário.

O zenity é um executável, que recebe todos os parâmetros via linha de comando, então ele geralmente é usado dentro de um Shell Script. Com isso fazemos programas mais interativos.

No zenity podemos construir muitas coisas práticas, como por exemplo, caixas de aviso, caixa de informação, calendários, etc.

Conseguimos assim inserir uma grande praticidade em muitos scripts que geralmente eram ‘mortos’.

É bastante divertido, acreditem.

Bem, chega de falatório, e vamos colocar a mão na massa, ou no teclado, como queiram.

3. Seu primeiro contato com o zenity

Você está louco para fazer o seu primeiro ‘programa’ no zenity, então vamos lá, abra um shell, ou ainda faça os comandos Alt+F2 ( É como o executar do Linux ), e digite:

$ zenity –calendar

Moleza não é ?!

O zenity reconhece vários tipos de “caixas”, e esta é a do calendário.

3.1. Listagem das funções

Veremos aqui, todas as funções suportadas pelo zenity, que podem ser usadas combinadas umas com as outras.

Opções de caixa
–calendar
Mostra um calendário

–entry
Mostra uma caixa onde você pode inserir um texto

–error
Mostra uma janela de erro

–file-selection
Mostra uma janela onde posso selecionar arquivos

–info
Mostra uma caixa de informação

–list
Mostra uma caixa com lista

–notification
Mostra uma caixa de notificação

–progress
Mostra uma caixa de progresso

–question
Mostra uma caixa com uma pergunta

–text-info
Mostra uma caixa com uma informação ( texto )

–warning
Mostra uma caixa de alerta

Opções gerais
–title=TITULO
Define o título da caixa

–window-icon=CAMINHO_DO_ICONE
Define um ícone para janela

–width=LARGURA
Define a largura da janela

–height=ALTURA
Define a altura da janela

Opções do calendário
–text=TEXTO
Define o texto da caixa

–day=DIA
Define o dia

–month=MES
Define o mês

–year=ANO
Define o ano

–date-format=STRING
Define o formato para data mostrada

Opções de entrada de texto
–text=TEXTO
Define o texto da caixa

–entry-text=TEXTO
Define o texto da entrada

–hide-text
Esconde o texto da entrada

Opções para a caixa de erro

–text=TEXTO
Define o texto da caixa

Opções para seleção de arquivos
–filename=ARQUIVO
Define o nome do arquivo

–multiple
Habilita a seleção de vários arquivos

–separator=SEPARADOR
Define o caracter separador, quando selecionamos vários arquivos

Caixa de Informação

–text=TEXTO
Define o texto de entrada

Caixa de Listagem

–text=TEXTO
Define o texto da caixa

–column=STRING
Define o cabeçalho da coluna

–checklist
Usa caixas de checagem na primeira coluna

–radiolist
Usa radio-buttons na primeira coluna

–separator=STRING
Define o separador

–editable
Habilita mudanças para o texto

–print-column=STRING
Especifica qual coluna tera a saída padrão, por default é a primeira coluna

Caixa de Notificação
–text=TEXTO
Define o texto da notificação

Opções da Caixa de Progresso
–text=TEXO
Define o texto da caixa

–percentage=INTEIRO
Define a porcentagem inicial

–auto-close
Fecha a caixa assim que completar 100 %

–pulsate
Barra de progresso pulsante

Opções da Caixa de Perguntas
–text=TEXTO
Define o texto da caixa

Opções de Texto
–filename=NOME_DO_ARQUIVO
Abre o arquivo

–editable
Habilita mudanças para caixa de texto

Opções de Aviso
–text=TEXTO
Define o texto da caixa

Opções mistas
-?, –help
Mostra a ajuda

–about
Mostra uma caixa de Sobre

–version
Indica qual a versão do programa

4. Exemplos de alguns tipos de caixa :
Exemplo de calendário:

$ zenity –title=’Escolha a data’ –calendar –day=31 –month=12 –year=2007

Exemplo de caixa de entrada:

$ zenity –title “Digite o IP da máquina que você deseja pingar” –entry –text ” “

Exemplo de caixa de listagem :

$ zenity –list –checklist –column “Comprar” –column “Item” TRUE Maçã TRUE Laranja FALSE Peras FALSE Uvas

Exemplo de seleção de arquivos:

$ zenity –title=”Selecione o arquivo a ser removido” –file-selection

Exemplo de caixa de alerta:

$ zenity –question –title “Cuidado !” –text “Usuário encontrado, deseja removê-lo ?”

Pesquisa por arquivos :

$ find . -name *.mp3 | zenity –list –title “Busca por resultados” –text “Procurando todos as MP3..” –column “Arquivos”

Exemplo de notificação ( Se estiver usando gnome, perceba o ícone novo perto do relógio ) :

$ zenity –notification –window-icon=update.png –text “É preciso fazer update do usuário”

Exemplo de barra de progresso :

$ find $HOME -name ‘*.mp3′ | zenity –progress –pulsate

Comentários

Postagens mais visitadas