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

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

Re: [shell-script] Dialog, como manter conteúdo em background.


From: Douglas Bussoli Mugnos
Subject: Re: [shell-script] Dialog, como manter conteúdo em background.
Date: Thu, 19 Jun 2014 20:09:23 -0300

Fala Julio, Obrigado pela resposta...

Fico mais claro agora, vou tentar resolver isso agora mesmo. Valeuu


2014-06-14 18:58 GMT-03:00 'Julio C. Neves' address@hidden [shell-script] <address@hidden>:
 

Fala Douglas,
já que vc comprou o Programação Shell Linux (que na 10ª edição, que vem aí
em uns 2 meses, dentre outras coisas vai ter o cmd sed altamente
aprofundado) vou colar aqui um pequeno trecho do Bombando o Shell que é a
caixa de ferramentas gráficas do Shell (fala absolutamente tudo sobre
dialog, yad (disparado o melhor e aconselho a todos instalarem e se tiverem
dúvidas estou aqui para ajudá-los), zenity e kdialog).

OBS1: Isso é chato mesmo. Lembo-me que apanhei um pouco qdo esta testando
essas opções genéricas do dialog
OBS2: O texto perdeu um pouco da formatação, mas espero que possa ajudá-lo.

Opções --and-widget, --clear e --keep-window

Use a opção --and-widget para colocar mais de um dialogo em um único
comando.

*$ Senhas=$(dialog --stdout --begin 2 2 \*

*--passwordbox "Informe sua senha" 0 0 \*

*--and-widget --begin 2 35 --passwordbox \*

*"Tecle novamente sua senha" 0 0)*

*$ echo $Senhas*

senha1 senha2

[image: Imagem inline 1]

O diálogo escolhido, --passwordbox, não ecoa na caixa nada do que foi
digitado (já que sua função básica é capturar senhas), mas a variável
$Senha abrigou as duas entradas, separadas por um espaço em branco. Com o
uso da opção --and-widget, a primeira caixa permaneceu enquanto enquanto se
fazia a entrada da segunda senha. A opção --begin foi utilizada para que as
caixas saíssem uma ao lado da outra (mas fique calmo isso foi só um
tira-gosto sobre o diálogo --passwordbox, você verá que ele é bem mais
amplo do que foi citado por enquanto).

Como você pode ver, os dois diálogos coexistiram na tela durante a execução
do comando. Este é o comportamento normal quando se usa a opção
--and-widget. Porém isso pode ser alterado com o uso de duas outras opções,
que atuam concomitantemente com ela, que são --clear e --keep-window.

A opção --keep-window faz com que a caixa e seu conteúdo permaneçam
visíveis, enquanto que o --clear apaga a tela após a execução da caixa à
qual esta opção está atrelada.

Para você entender melhor, mesmo sem ter sido apresentado à opção
--yesno, execute
a linha a seguir:

*$ dialog --keep-window --begin 0 0 \*

*--yesno "Texto 1" 0 0 \*

*--and-widget --clear --begin 7 0 \*

*--yesno "Texto 2" 0 0 \*

*--and-widget --begin 14 0 \*

*--yesno "Texto 3" 0 0*

Agora varie a posição do --clear e do --keep-window entre os 3 diálogos e
analise os resultados. Observei que esses comportamentos são diferentes com
o uso ou não de sombra das caixas. Para alterar o estado das sombras, edite
o arquivo de configuração do *Dialog* (normalmente $HOME/.dialogrc ou outro
que você tenha definido como padrão) e troque a situação (ON/OFF) da linha
que inicia com a expressão use_shadow =. Se você tiver dificuldades com
isso, volte um pouco a sua leitura nesta publicação e estude novamente a
opção --create-rc.

Abcs,
Julio
*@juliobash*
*Próximos cursos de Shell*
*Cidade Local Período*
*Rio de Janeiro EDX <http://edx.srv.br/> 02 a 06/06*
*São Paulo 4Linux <http://www.4linux.com.br/> 21 a 25/07*
Dou treinamento de *Shell* em qualquer cidade.
Para mais detalhes, me mande um e-mail <address@hidden>.

Em 14 de junho de 2014 17:34, Douglas Bussoli Mugnos address@hidden
[shell-script] <address@hidden> escreveu:

>
>


> Ernander, Obrigado pela resposta.
>
> Analisei esse script, essa atividade de looping eu consegui fazer.
> DIferente do script do Aurelio, o meu "case" possui Dialog em vez de
> comandos. Quando esses dialogs são chamados a janela do menu inicial some,
> pois a segunda sobreescreve a anterior.
>
> Minha dificuldade não esta sendo na criação do loop, mas sim em manter o
> menu inicial no fundo de tela.
>
>
> Obrigado.
> Douglas.
>
>
> 2014-06-14 10:12 GMT-03:00 'Ernander (Nander)' address@hidden
> [shell-script] <address@hidden>:
>
>>
>>
>> Mano,
>>
>> http://aurelio.net/shell/dialog/
>>
>> Da uma olhada no Item:
>> 5.1. Exemplo de menu amarrado (em loop)
>>
>>
>>
>>
>>
>> Em 14 de junho de 2014 00:00, Douglas Bussoli Mugnos
>> address@hidden [shell-script] <address@hidden>
>> escreveu:
>>
>>
>>>
>>> Oláá Pessoal,
>>>
>>> Estou apanhando do Dialog aqui, e preciso de uma ajuda.
>>>
>>> Seguinte,
>>>
>>> Vamos supor que eu tenho um menu com algumas ações, Ex :
>>>
>>> #mainMenuOption=$(dialog --backtitle "XXXXXXXXXXXXXXXX" --stdout \
>>> --menu "Main Menu " 0 0 0 \
>>> USER "Mostrar usuário" \
>>> GRUPO "Mostrar grupos" \
>>> ... "..." \ )
>>>
>>>
>>>
>>> Se eu apertar enter na opção "USER", ele fará a chamada do seguinte
>>> DIALOG :
>>>
>>> #dialog --title "usuários" --msgbox "Saida dos usuários do sistema" 10
>>> 20
>>>
>>>
>>> Com a chamada desse DIALOG --msgbox a janela anterior(a janela do
>>> menu), será apagada, porém eu gostaria de manter o conteúdo dela em
>>> backgroud. Eu estudei sobre --and-widget, mas até onde eu entendi ele
>>> funcionária para um fluxo Unico. Mas no meu caso eu posso escolher caminhos
>>> diferentes. Também testei o --keep-window, mas não tive sucesso nenhum.
>>>
>>> OBS. Minha dúvida não é em criar um looping no mainmenu, eu de fato
>>> preciso do conteúdo dele no fundo de tela. A idéia é bem parecida com o
>>> script posicao.sh da pagina 502 da nona edição do livro de "Programação
>>> Shell Linux" do Julio Cesar... só não consigo colocar esse exemplo na minha
>>> necessidade....
>>>
>>>
>>> Espero que tenha ficado claro...
>>>
>>> Obrigado!!
>>>
>>> Douglas.
>>>
>>>
>>
>
>

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



reply via email to

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