Fluxbox - Slideshow de wallpapers aleatórios
Publicado por Sandro Marcell (última atualização em 07/11/2010)
[ Hits: 5.026 ]
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
Ativar serviço que está parado
Monitoração e coleta de dados de performance de servidores GNU/Linux
Pidshell - Alternativa ao pidof, escrito em shell
Reconexão automática para internet ADSL
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
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (0)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









