Ir para o conteúdo
ou

Logo noosfero

ODF Alliance Award

Furusho

TDF Planet

redirection forbidden: http://planet.documentfoundation.org/atom.xml -> https://planet.documentfoundation.org/atom.xml

Linux Magazine

getaddrinfo: Name or service not known

BR.Linux.org

redirection forbidden: http://br-linux.org/feed -> https://br-linux.org/feed

Seja Livre!

redirection forbidden: http://sejalivre.org/feed/ -> https://sejalivre.org/feed/

Linux Feed

getaddrinfo: Name or service not known

Computerworld

getaddrinfo: Name or service not known

Guia do Hardware

530

Convergência Digital

503 Backend fetch failed

PC World

getaddrinfo: Name or service not known

IDG Now!

getaddrinfo: Name or service not known

Info

Invalid feed format.

Users SL Argentina

redirection forbidden: http://drupal.usla.org.ar/rss.xml -> https://cobalto.gnucleo.net/rss.xml

Tux Chile

500 Internal Server Error

Tecno Libres - Cubas

redirection forbidden: http://gutl.jovenclub.cu/feed -> https://gutl.jovenclub.cu/feed

Linux Colômbia

Invalid feed format.

Linux Costa Rica

Invalid feed format.

Software Libre Peru

Invalid feed format.

Linux Equador

Invalid feed format.

Linux Espanha

Invalid feed format.

Linux Guatemala

Invalid feed format.

Linux México

Invalid feed format.

Linux Nicarágua

Invalid feed format.

Linux Panamá

Invalid feed format.

Linux Peru

Invalid feed format.

Linux El Salvador

Invalid feed format.

Linux Venezuela

Invalid feed format.

Soft Libre Bolívia

redirection forbidden: http://www.softwarelibre.org.bo/feed/ -> https://www.softwarelibre.org.bo/feed/

GNU/Linux Paranguay

getaddrinfo: Name or service not known

Soft Libre Honduras

redirection forbidden: http://preguntaslinux.org/syndication.php -> https://preguntaslinux.org/syndication.php

Linux Rep.Dominicana

404 Not Found

 Voltar a FREE SOFTWAR...
Tela cheia

Interface gráfica em scripts shell: Júlio Neves apresenta o yad

16 de Dezembro de 2011, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 1360 vezes

por Júlio Neves

Mermão, se você gosta de usar a interface a caractere, lhe aconselho a instalar o yad (Yet Another Dialog) com urgência. O yad é um fork do zenity, só que muuuuuito mais incrementado. Para termos uma pequena ideia, pois este artigo é só um ensaio, nele você pode:

  • Inserir imagens nos diálogos;
  • Criar formulários com alto grau de complexidade;
  • Criar quantos botões quiser e customizá-los quanto aos nome e aos códigos de retorno quando clicados;
  • Criar diálogos drag’n drop;
  • Criar diálogos com ícones de atalho
  • Criar diálogos com barras de progresso múltiplas (muito legal para instalação. Uma serviria para o progresso de cada arquivo e outra para o progresso geral);

E muito mais…

Vamos logo aos exemplos para acabar com a encheção de saco:

Saida=$(yad --form --image BrLinux.jpeg --image-on-top            \
    --title "BR-Linux"                                            \
    --text "Demo do <b>YAD</b> para o <big><b>BR-Linux</b></big>" \
    --field Nome 'Juliana'                                        \
    --field Nascimento:DT 01/01/2000                              \
    --field "Há quanto tempo usa <b>Linux</b>:NUM" '1!0..20!1'    \
    --field "Sites preferidos:CB"                                 \
        'BR-Linux!Dicas-l!Viva o Linux!Outros'                    \
    --field "Vou passar a usar o yad:CHK" TRUE                    \
    --field "Vou continuar usando zenity:CHK")

Clicando nas caixas deste formulário, você verá que:

  • No campo Nascimento, a opção :DT abriria um calendário com a data 01/01/2000 previamente selecionada;
  • No campo Há quanto tempo usa Linux, aumentaria ou diminuiria os números pois a opção :NUM define uma SpinBox, da qual se informa: Valor Inicial!ValorMínimo..ValorMáximo!Incremento;
  • No campo Sites Preferidos, a opção :CB gera uma ComboBox com os valores especificados como Valor1!Valor2!…!Valorn.

Repare que o código é autoexplicativo e extremamente simples e veja ainda que o yad aceita todas as facilidades de formatação oferecidas pelo GTK. Nesse exemplo usei as tags b e big da linguagem Pango Markup do GTK. Poderia ter trocado também cores do texto, fazer sub ou super escrito, itálico, …

Deixando os campos com seus valores default, as linhas a seguir mostram o conteúdo da variável $Saida e uma forma rápida de separar os campos em variáveis.

$ echo $Saida
Juliana|01/01/2000|1,000000|BR-Linux|TRUE|FALSE| 

O separador é a barra vertical (|), então vamos trocar $IFS para fazer uma leitura rápida. Note que dessa forma $IFS será alterado somente para executar o read, voltando ao seu valor default após a instrução.

$ IFS='|' read Nome Nascimento HaQtoTempo Sites Yad Zenity <<< "$Saida"
$ echo $Nome ^ $Nascimento ^ $HaQtoTempo ^ $Sites ^ $Yad ^ $Zenity
Juliana ^ 01/01/2000 ^ 1,000000 ^ BR-Linux ^ TRUE ^ FALSE

Como você pode ver, em Shell é tudo muito complicado. Em uma linha monto um formulário (sim, foi em uma linha, pois a contrabarra (\) foi usada para poder quebrar a linha e facilitar o entendimento) e em outra linha (a do read) passei todos os valores lidos para as respectivas variáveis. Ou seja, tudo foi feito em duas linhas somente.

Também podemos customizar botões, veja:

$ yad --width 300 --entry --title "System Logout" \
    --image=gnome-shutdown                        \
    --button="_Switch User:2"                     \
    --button="gtk-ok:0" --button="gtk-close:1"    \
    --text "Choose action:"                       \
    --entry-text                                  \
    "Power Off" "Reboot" "Suspend" "Logout"

Duas coisas a destacar neste exemplo:

  • A opção --entry-text gerou uma ComboBox com os valores passados;
  • Podemos especificar não só os botões, como também os seus códigos de retorno ($?) para serem analisados por um comando case que viria logo a seguir.

Então pessoal, tem muito mais coisas para contar acerca do yad, porém temos uma limitação de espaço e por isso temos de ficar por aqui.

Para de ler este artigo e saia correndo para instalar o yad e colocar uma cara bonita nos seus scripts. Na vida real, não adianta nada ter um corpinho lindo, se a cara é feia... ;)

Se você já instalou o yad e deseja ver uma coisa inusitada, execute a linha a seguir e clique em qualquer ícone:

$ yad --icons --read-dir=/usr/share/applications \
    --width 670 --height 400 --no-buttons

SuShellso!! ;)


Fonte: http://br-linux.org/2011/interface-grafica-em-scripts-shell-julio-neves-apresenta-o-yad/

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.