Relógio em posições aleatórias
Publicado por Sandro Marcell 20/10/2008 (última atualização em 24/09/2009)
[ Hits: 7.562 ]
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
Script para ejetar o seu cdrom numa determinada hora
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6









