Fluxbox - Slideshow de wallpapers aleatórios

Publicado por Sandro Marcell (última atualização em 07/11/2010)

[ Hits: 5.178 ]

Homepage: http://sanmarcell.wordpress.com

Download zsh_randwall




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!!!

  



Esconder código-fonte

#!/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

Scripts recomendados

Script para fazer download de vídeos do YouTube

Overclock em INTEL HD GRAPHICS!

Copiando arquivos de uma so vez para todos usuarios

Gerando lista de arquivos mp3 do disco em arquivo de formato HTML

POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - EXCLUINDO USUÁRIO COM USO=0


  

Comentários
[1] Comentário enviado por removido em 27/10/2020 - 23:29h


Esse problema ocorre com "wallpapers aleatórios no Fluxbox" e com o "painel Tint2"

# cat /var/log/Xorg.0.log | grep -i "Using O_TMPFILE"
[ 46775.131] Using O_TMPFILE
[ 47580.890] Using O_TMPFILE
[ 47583.653] Using O_TMPFILE
[ 47585.674] Using O_TMPFILE
[ 47594.736] Using O_TMPFILE

No caso tive de desativar o zsh_randwall no cron. Já que o painel Tint2 já estava desativado.

Para monitorar:
# tail -f /var/log/Xorg.0.log


# Xorg -version

X.Org X Server 1.18.3
Release Date: 2016-04-04



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts