Relógio em posições aleatórias
Publicado por Sandro Marcell 20/10/2008 (última atualização em 24/09/2009)
[ Hits: 7.527 ]
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
Backup de arquivos importantes e MySQL
Script automatizado de Atualização e Instalação de Programas no Ubuntu
Banco de Dados Pessoais Interativo
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









