Fluxbox - Slideshow de wallpapers aleatórios
Publicado por Sandro Marcell (última atualização em 07/11/2010)
[ Hits: 4.936 ]
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
Atulizações do DAT antivírus Mcafee
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Gravação de tela com temporizador
Aplicativo simples para gravar tela
Como fazer boot em img do debian 12.img da web? (11)
Manjaro 25.0 no permite usar crontab (1)
trocar linhas [RESOLVIDO] (11)