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

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

Re: [shell-script] [Tput] - Dúvida


From: Julio C. Neves
Subject: Re: [shell-script] [Tput] - Dúvida
Date: Wed, 24 Jul 2013 13:31:36 -0300

Vc não poderia fazer algo assim?

for ((i=$3; i>0; i--))
{
    echo $((i*100/$3-1))
    echo "# Faltam $i segundos"
    sleep 1
} | zenity --progress --title "Contagem regressiva" \
        --auto-close --auto-kill
zenity --info --text "$2"

Fica mais simples e mais elegante. Com yad é melhor ainda.

Abcs,
Julio
*@juliobash
*



Em 24 de julho de 2013 12:03, Gustavo Filgueiras
<address@hidden>escreveu:

> **
>
>
> Galera,
>
> Resolvi dessa forma, sei que está tosco usando um if dentro do while,
> mas.... é oque temos pra hoje rs !
>
> # -- Exibe uma contagem regressiva.
> # -- Exemplo de uso: funcao.global_Contagem.Regressiva "MENSAGEM" "MENSAGEM
> NO FIM" "SEGUNDOS"
> funcao.global_Contagem.Regressiva() {
> tempo=$3
> tput sc
> while ((tempo != -1)); do
> tput rc; tput el
> echo -n "$1" "$tempo";
> let tempo--
> sleep 1
> if [ $tempo -lt 0 ]; then
> tput rc; tput el
> echo -n "$2"
> echo ""
> fi
> done
> }
>
> Em 24 de julho de 2013 11:05, Gustavo Filgueiras
> <address@hidden>escreveu:
>
> > Julio,
> >
> > Obrigado por me ajudar, mas continuo com o mesmo problema, e na
> > documentação que me passou, não consegui achar um comando para me ajudar,
> > veja, eu ainda continuo amarrado ao numero *tput cup 9
> >
> > *
> > Gostaria que ao inves de passar* *tput cup 9, fica-se algo do tipo
> >
> > linha_que_estou=X
> > tput cup $linha_que_estou
> >
> > Pq dessa forma que voce sugeriu, so funciona se eu estiver na linha 9
> >
> >
> >
> > Em 23 de julho de 2013 23:20, Julio C. Neves <address@hidden
> >escreveu:
> >
> > Antes de mais nada, dê uma olhada
> >> aqui<
> >> https://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo007#O_comando_tput>
> >> .
> >>
> >> Visto isso vamos continuar:
> >> 1 - echo; echo; echo... é comando de marreco ;) Use
> >> tput il 9
> >> que ele insere 9 linhas em branco (il=insert line)
> >> 2 - tput sc (save cursor position) guarda a posição que o cursor está e
> tp
> >> rc (restore cursor to position) devolve o cursor para a linha e coluna
> que
> >> o cursor estava no momento do tput sc. Assim sendo o teu tput cup 9,
> não é
> >> necessário e ainda por cima está incompleto, pq tput cup precisa da
> linha
> >> e
> >> da coluna (origem zero).
> >>
> >> Na linha que vc fez:
> >> tput rc; tput cup 9; tput el
> >> faça:
> >> tput rc; echo X; sleep 5; tput cup 9; echo Y; sleep 5; tput el
> >> e repare onde aparecerão o X e o Y.
> >>
> >> Outra coisa:
> >> se vc fizer:
> >> tput cup 20 40; tput el; echo X
> >> vc verá que o X foi escrito na 20 40, isto é o tput el, apesar de ter
> >> apagado até o fim da linha, não tirou o cursor da posição que ele
> estava.
> >>
> >>
> >>
> >> Abcs,
> >> Julio
> >> *@juliobash
> >> *
> >>
> >>
> >>
> >> Em 23 de julho de 2013 22:07, Gustavo Filgueiras
> >> <address@hidden>escreveu:
> >>
> >> > **
> >> >
> >> >
> >> > Boa noite,
> >> >
> >> > Galera, estou tentando fazer uma contagem regressiva dinâmica, ou
> seja,
> >> > qualquer que seja a linha que ela for chamada, ela vai funcionar.
> >> >
> >> > echo "";echo "";echo "";echo "";echo "";echo "";echo "";echo "";echo
> "";
> >> > tempo=1
> >> > echo -n "Segundos para iniciar: "
> >> > tput civis; tput sc
> >> > while ((tempo != -1)); do
> >> > tput rc; tput el
> >> > echo -n "$tempo"
> >> > let tempo--
> >> > sleep 1
> >> > done
> >> > tput rc; tput cup 9; tput el
> >> > echo "Iniciando..."
> >> > echo "";echo "";echo "";echo "";echo "";echo "";echo "";echo "";echo
> "";
> >> > echo "oi"
> >> >
> >> > O problema eh que eu to usando um valor fixo em tput cup 9 , gostaria
> de
> >> > saber, se tem como eu guardar a linha aonde o curso está rodando, para
> >> eu
> >> > jogar no tput cup $linha por exemplo.
> >> >
> >> > []'s
> >> >
> >> > [As partes desta mensagem que não continham texto foram removidas]
> >> >
> >> >
> >> >
> >>
> >>
> >> [As partes desta mensagem que não continham texto foram removidas]
> >>
> >>
> >>
> >> ------------------------------------
> >>
> >> ----------------------------------------------------------
> >> Esta lista não admite a abordagem de outras liguagens de programação,
> >> como perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem
> >> prévio aviso.
> >> ----------------------------------------------------------
> >> Sair da lista: address@hidden
> >> ----------------------------------------------------------
> >> Esta lista é moderada de acordo com o previsto em
> >> http://www.listas-discussao.cjb.net
> >> ----------------------------------------------------------
> >> Servidor Newsgroup da lista: news.gmane.org
> >> Grupo: gmane.org.user-groups.programming.shell.brazil
> >>
> >> Links do Yahoo! Grupos
> >>
> >>
> >>
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



reply via email to

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