Relógio em posições aleatórias
Publicado por Sandro Marcell 20/10/2008 (última atualização em 24/09/2009)
[ Hits: 7.591 ]
Homepage: http://sanmarcell.wordpress.com
Download rand_clock (versão 2)
Scriptzinho que fiz e mostra um relógio em tempo real e em posições aleatórias no terminal. Não é grande coisa, mas foi legal de fazer! =)
Uma screenshot do script:
http://www.vivaolinux.com.br/screenshot/Fluxbox-Relogio-no-terminal/
Falou!!!
;)
Versão 2 - Enviado por Sandro Marcell em 24/09/2009
Changelog: - Revisão, correção e atualização parcial do código;
- Adição de metódo (POG!) para alteração de cor durante as mudanças de posição do relógio.
#!/bin/zsh -f
#
# Exibindo um relogio em posicoes aleatorias no terminal.
#
# Sandro Marcell (sandro_marcell@yahoo.com.br)
# Boa Vista, Roraima - 26/08/2008.
#
# Obs.:
# - As horas sao mostradas em tempo real;
# - A cada nova execucao do script, o relogio assume uma cor diferente;
# - Para sair, pressione <Ctrl+c>;
# - Mais detalhes: 'man zsh'.
# <Ctrl+c> pressionado ou sinal 'kill' recebido, finalizam o script.
# 'kill -9 $!' encerra a funcao executada em segundo plano:
trap 'kill -9 $! ; reset ; break ; bye' 1 2 3 15
# Modulos necessarios:
zmodload -i zsh/terminfo
zmodload -i zsh/datetime
# 'Semeando' valor da variavel RANDOM:
RANDOM=$$
# Tempo (em segundos) antes de mudar o relogio de posicao:
tmp=5
# Quantidade padrao de linhas no terminal corrente:
qlin=$terminfo[lines]
# Quantidade padrao de colunas no terminal corrente.
# Para evitar que a area do relogio exceda o numero
# de colunas do terminal, foi subtraido 8 da quantidade
# padrao de colunas.
qcol=$(($terminfo[cols] - 8))
# Funcao que definira as posicoes do relogio na tela:
function __defpos__
{
# Limpando a tela:
echoti clear
# Loop de execucao:
while :
do
# Nova posicao do cursor em linha:
local linha=$(((RANDOM * qlin / 32767) + 1))
# Nova posicao do cursor em coluna:
local coluna=$(((RANDOM * qcol / 32767) + 1))
# Reposicionando cursor:
echoti cup $linha $coluna
# Aguarde...
sleep $tmp
echoti clear
done
}
# Executando a funcao '__defpos__' em segundo plano, para que seja
# possivel exibir o relogio no terminal.
__defpos__ &
# Setando modo negrito e tornando cursor invisivel:
echoti bold
echoti civis
# Carregando funcao built-in 'colors':
autoload -U colors
colors
# Setando cor aleatoria para o relogio:
cores=(red green yellow blue cyan magenta white)
setcor="$cores[$(((RANDOM * 7 / 32767) + 1))]"
# Loop responsavel por exibir o relogio:
while :
do
# Salvando posicao do cursor:
echoti sc
# Mostrando relogio:
print -Pn "$fg[$setcor]$(strftime "%T" $EPOCHSECONDS)"
# Restaurando posicao do cursor:
echoti rc
# Aguarde... antes de atualizar o relogio:
sleep 1
done
# Fim
Alterar valores de jogos em Flash
Script para visualizar logs do squid
Instalador do LOIC (Low Orbit Ion Cannon)
Instalando o Firefox e o Thunderbird
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)
De volta para o futuro - ou melhor, para o presente (parte 2) (0)









