Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/11/2008, à 21:55

thuban

changement de fond d'écran périodique sous openbox

Bonsoir à tous!
j'ai trouvé sur le wiki anglais ce petit script, qui permet de changer de fond d'écran périodiquement, ou simplement une fois. Cependant, lorsque je le lance avec la commande /home/xavier/.config/openbox/wallpaper.sh , dans le autostart.sh de openbox, il ne s'affiche que un fond noir, tandis que lorsque je le lance dans une console, cela marche tout seul! des idées?

# change_wp [seconds]     Changes the wallpaper at a given interval of seconds.
# example: change_wp 3600        change the wallpaper every hour.
# If you do not supply any time it just changes the wallpaper and exits.
# Copyleft (C) 2007,    Albert Bicchi   bicchi@gmail.com
WALLPAPER_LOCATION="/home/xavier/Images/Wallpapers"
find "${WALLPAPER_LOCATION}" -iname '*.jp*g' -o -iname '*.png' > /tmp/wallpapers
TOTAL=`cat /tmp/wallpapers | wc -l`
while [ 1 ]
do
        ((LINE=RANDOM%TOTAL+1))
        WALLPAPER=`sed -n "$LINE"p /tmp/wallpapers`
        hsetroot -tile "${WALLPAPER}"
        if [ "$1" = "" ]; then
                exit 0
        fi
        sleep "$1s"
done


ps : là, j'ai mis hsetroot, mais il peut tout aussi bien fonctionner avec feh ou autre!

Hors ligne

#2 Le 05/11/2008, à 14:40

thuban

Re : changement de fond d'écran périodique sous openbox

up?

Dernière modification par thuban (Le 09/11/2008, à 11:41)

Hors ligne

#3 Le 10/11/2008, à 14:26

thuban

Re : changement de fond d'écran périodique sous openbox

bon, j'ai trouvé un autre script sur un blog, je l'ai modifié avec un sleep 20, car il s'agissait de gnome-settings-daemon qui imposait son fond d'ecran. ainsi, j'impose le mien apres lui!

#!/bin/bash -u

#Description: Ce script requiert feh sur votre machine, il changera votre fond d'écran openbox (ou autre) automatiquement toutes les 400 seondes
#Author: Millien Marc
#Date: 2 mars 2008


#On vérifie l'existence du répertoire Images/Fonds
if [ -d ~/Images/Wallpapers/ ] ; then
  cd ~/Images/Wallpapers/
  #On compte le nombre de fichiers
  _fics=`ls | grep -E "*.(png|jpg)" | wc -l`

  #S'il y a plus d'un fichier c'est parti
  if [ ${_fics} -gt 0 ] ; then

   #On vérifie que le script ne tourne pas déjà
   _ps=`ps aux`
   _pid=`echo "${_ps}" | grep $0 | tr -s [:space:] | cut -d' ' -f2`
   _lines=`echo "${_pid}" | wc -w`

   if [ ${_lines} -gt 1 ]; then
    _pid=`echo ${_pid} | cut -d' ' -f1`
    echo "Un script en trop, on le kill (pid: ${_pid})"
    kill ${_pid}
   fi

   #Boucle de fonctionnement
   while true; do

    #On sélectionne un fichier au hasard
    _nombre=$RANDOM
    _nombre=`expr ${_nombre} % ${_fics}`
    if [ ${_nombre} -eq 0 ] ; then
     _nombre=1
    fi
    _image=`ls | grep -E "*.(png|jpg)" | head --lines=${_nombre} | tail -1`

    #On affiche le fichier
    sleep 20
    feh --bg-scale "${HOME}/Images/Wallpapers/${_image}"
    sleep 400
    _fics=`ls | grep -E "*.(png|jpg)" | wc -l`
   done
  else
   echo "Veuillez placer des fichiers images dans le répertoire ${HOME}/Images/Wallpapers !"
  fi
else
  echo "Veuillez créer le répertoire ${HOME}/Images/Wallpapers et y placer vos fonds d'écran !"
fi

Dernière modification par thuban (Le 10/11/2008, à 14:35)

Hors ligne