shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] yad - abrir terminal e sobrepor janelas


From: Julio C. Neves
Subject: Re: [shell-script] yad - abrir terminal e sobrepor janelas
Date: Wed, 18 Jul 2012 17:58:16 -0300

Fabiano,
Vc não está usando a potencialidade do YAD. Vc deveria montar um form mais
ou menos da seguinte maneira:

$ yad --form --field Locais:CB 'Local 1!Local 2!...!Local n' --field
"Escolha somente <big><b>uma</b></big>\ndentre as opções a seguir":LBL
--field ADSL:CHK FALSE --field Radio:CHK FALSE

Ou usar a facilidade de botão executar comandos, introduzida na última
release. Repare o que escrevi no meu livro (Bombando o Shell, que, na
editora, está numa promoção de 50% do valor, bastando colocar o código que
está sob a minha assinatura):
======================================================

*--button=BOTAO:ID*

*Para** ID **numérico:*

Adiciona o botão BOTAO à caixa. Se este botão for clicado, o diálogo
produzirá o código de retorno ($?) definido por ID. Há duas maneiras de
definir estes botões:

   1.

   Simplesmente criando o seu nome e ID. Ex: --button OK:0
   2.

   Usando botões padrão do GTK+. Ex: --button gtk-ok

Em ambos os casos, o código de retorno será zero e no botão terá escritoOK. A
diferença é que no botão padrão GTK+ a letra O (de OK) virá sublinhada,
para dizer que a combinação de teclas <ALT>+O equivale ao clique do botão.
Você também pode reproduzir este efeito colocando um sublinha (_) antes da
letra que você queira que apareça sublinhada. Por exemplo:
fazendo-se--button="_Botão:0" criamos
um botão onde estará escrito *B*otão e seu código de retorno ($?) será zero.

A lista completa de botões pode ser encontrada na documentação do GTK. E
para consultá-la execute o programa /usr/bin/gtk-demo e procure o item *"Stock
Items and Icon Browser"*. Caso não esteja instalado, faça:

$ sudo apt-get install gtk2.0-examples

O nome do botão, é o que se encontra na terceira coluna.

*Para** ID **não numérico:*

Se ID for não numérico, será tratado como um comando e um clique nesse
botão não encerrará o diálogo, executará a instrução e voltará ao ponto em
que estava. Se no escopo deste comando aparecer a cadeia %d o YAD irá
substituí-la pelo seu PID.
======================================================

Dessa forma vc poderia executar o ssh qdo o botão correspondente fosse
clicado.

Abcs,
Julio

*
*



Em 18 de julho de 2012 14:47, isa_fabi <address@hidden> escreveu:

> **
>
>
> Boa tarde pessoal,
>
> Como faço para abrir um terminal com o comando "ssh
> address@hidden" apartir de um menu exibido pelo yad?
>
> E nesse mesmo menu quando escolho uma das opcoes, uma outra janela é
> aberta com 3 botoes. Gostaria que essa janela fosse sobreposta ao menu, tem
> como fazer?
>
> Abaixo tem o codigo do script que estou montando, para melhorar o
> entendimento do que eu preciso:
>
> #!/bin/bash
>
> menu() {
> while : ; do
> UNIDADE=$(
> yad --list \
> --title 'Servidores' \
> --column="Opc":NUM \
> --column="Locais":TEXT \
> --print-column=1 \
> --hide-column=1 \
> --width="400" \
> --height="300" \
> 01 "Local 1 " \
> 02 "Local 2 " \
> 03 "(....) " \
> )
>
> [ $? -ne 0 ] && exit
> UNIDADE=$(echo $UNIDADE | egrep -o '^[0-9]')
> case "$UNIDADE" in
> 1)
> yad --title "Local 1" --button="_ADSL:1" --button="_RADIO:2"
> --button="_Voltar:3" --text "Acessar servidor pelo link"
> var=$?
> if [ $var = 1 ]; then
> ssh address@hidden
> elif [ $var = 2 ]; then
> ssh address@hidden
> fi
> ;;
> 2)
> yad --title "Local 2" --button="_ADSL:1" --button="_RADIO:2"
> --button="_Voltar:3" --text "Acessar servidor pelo link"
> var=$?
> if [ $var = 1 ]; then
> ssh address@hidden
> elif [ $var = 2 ]; then
> ssh address@hidden
> fi
> ;;
> esac
> done
> }
> menu
>
> Fabiano.
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]