#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!
suckless.org
websérie d'un copain
Profil libre.fm
Debian Sid avec dwm
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)
suckless.org
websérie d'un copain
Profil libre.fm
Debian Sid avec dwm
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)
suckless.org
websérie d'un copain
Profil libre.fm
Debian Sid avec dwm
Hors ligne