in

Criando aplicações gráficas com ShellScript e GtkDialog

GtkDialog (ou gtkdialog) é um pequeno utilitário para fácil e rápida construção de interfaces gráficas. Ele pode ser usado para criar caixas de diálogo para quase todas as linguagens de programação interpretadas e compiladas, o que é uma característica muito atraente, pois o desenvolvedor não tem que aprender várias bibliotecas gráficas para cada linguagem de programação que utilizar.

Instalação:

Você pode verificar se há o pacote gtkdialog nos repositórios da sua distro GNU/Linux, ou, se preferir, pode baixar o código fonte, clicando aqui.
$ wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/gtkdialog/gtkdialog-0.8.3.tar.gz
$ tar -xvf gtkdialog-0.8.3.tar.gz
$ cd gtkdialog-0.8.3/
$ ./configure
$ make
$ sudo make install

Criando o primeiro programa:

Vamos criar uma pequena aplicação gráfica utilizando o GtkDialog + ShellScript:

 

#!/bin/bashexport MAIN_DIALOG=’
<window title=”Meu primeiro programa” icon-name=”gtk-about” resizable=”true” width-request=”300″ height-request=”100″>
<vbox>
<hbox homogeneous=”true”>
<frame Executar programa>
<hbox homogeneous=”false” space-expand=”true” space-fill=”true”>
<entry>
<variable>ENTRY</variable>
<action signal=”activate”>$ENTRY</action>
<action signal=”activate” type=”exit”>EXIT</action>
</entry>
<button>
<label>Executar</label>
<action type=”command”>$ENTRY</action>
<action function=”exit”>EXIT</action>
</button>
</hbox>
</frame>
</hbox>
</vbox>
</window>’

case $1 in
-d | –dump) echo “$MAIN_DIALOG” ;;
*) gtkdialog –program=MAIN_DIALOG –center ;;
esac

Imagem do código acima em execução:

Código em execução

Explicando o código resumidamente:

OBSERVAÇÃO: A sintaxe para criação da interface segue o padrão XML, portanto as TAGS devem ser abertas e fechadas corretamente.
  • #!/bin/bash: A primeira linha do script, representa qual programa será utilizado para interpretar o código
  • export MAIN_DIALOG=…: Variável que contém toda a estrutura da interface gráfica, o nome da variável pode ser qualquer um
  • <window>: Tag que inicia a aplicação. Nela pode conter atributos como título, tamanho da janela, ícone da janela, entre outras opções
  • <vbox>: Caixa vertical (Vertical box) usada como container para outros objetos como caixas horizontais (hbox), botões (button), etc…
  • <hbox>: Caixa horizontal (Horizontal box) também usada como container para outros objetos
  • <button>: Tag para criação de botões
  • <label>: Atribui um nome para o objeto
  • <action>: Ação que será realizada dependendo do sinal e do tipo de ação que o objeto receberá. Pode ser executado um comando do shell, execução de programas (que se trata do nosso caso), execução de outras variáveis, etc…
  • </nome_da_tag>: Fechamento da tag aberta anteriormente, assim como no XML.
As possibilidades com o GtkDialog são imensas, você pode fazer desde aplicações gráficas simples até as mais avançadas, como um player de música, um editor de textos, e assim por diante.
Para mais detalhes, documentação e funcionamento do GtkDialog consulte a página do projeto.
Segue também página com diversos exemplos de aplicações com GtkDialog. Qualquer dúvida deixe nos comentários.

Written by Emanuel Negromonte

Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e tudo mais difícil quando nos separamos.

Como Instalar o Git no Ubuntu

Como Instalar o Git no Ubuntu

Lançado quinto Release Candidate do kernel Linux 4.9, o kernel Linux 4.9-rc5