Fluxbox - Slideshow de wallpapers aleatórios
Publicado por Sandro Marcell (última atualização em 07/11/2010)
[ Hits: 4.806 ]
Homepage: http://sanmarcell.wordpress.com
Script em zsh que uso para "montar" um slideshow de wallpapers aleatórios e que são trocados (via cron) a cada 15 minutos, sem repetir o último usado aqui no meu Fluxbox.
Para usá-lo é necessário o programa 'feh'.
Apesar do Fluxbox possuir o programa 'fbsetbg' que com a opção '-r' "randomiza" wallpapers, resolvi implementar minha própria versão porque gosto muito do zsh! =P
Falou!!!
#!/bin/zsh -f # # Fluxbox - Slideshow de wallpapers aleatorios =) # # Sandro Marcell <sandro_marcell@yahoo.com.br> # Boa Vista, Roraima - 15/02/2010 # # Agendamento via cron: # 0-59/15 * * * * DISPLAY=:0.0 /path/script # # Dependencia: # feh - image viewer and cataloguer <https://derf.homelinux.org/projects/feh/> # PATH="/bin:/usr/bin:/usr/local/bin" [ $DISPLAY ] || exit 1 RANDOM=$$ wallpapers_dir="${HOME}/imagens/wallpapers" # Altere conforme o seu! walls=(${wallpapers_dir}/*) last_used_wallpaper=${(f)$(<${HOME}/.fehbg)} function arrayShuffle { integer n k typeset -a array swap array=(${*=}) (( n = $#array + 1 )) while (( n > 1 )) do (( --n )) (( k = (RANDOM * n / (32767 + 1)) + 1 )) swap+=($array[k]) array[k]=$array[n] array[n]=$swap done randomized=($swap[@]) } arrayShuffle "$walls[@]:t" while true do { (( wallpaper = (RANDOM * $#walls / (32767 + 1)) + 1 )) [[ "$randomized[wallpaper]" == "${last_used_wallpaper##*/}" ]] && continue } always { feh --bg-scale "${wallpapers_dir}/$randomized[wallpaper]" && xrefresh break } done exit $status
Envio de backps de bancos por ftp com notificação por email
BACKUP para micros com Windows XP utilizando o share administrativo ( C$ )
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta