#1 Le 21/08/2008, à 13:26
- Yannou90
[Script]Applet Wallpaper/Papier-Peint pour XFCE
Edit du 27.08.2008:changement de la fonction rebour pour sleep
Edit du 19.09.2088:changement du script qui empeche en plus xfdesktop de planter
Edit du 20.10.2008:refonte totale du script:
-Ajout menu option
-Démarer le changement automatique
-Choix de la temporisation
-Changer manuellement le papier peint
-Créer un icône sur le bureau pour changer manuellement de papier peint
-Ajouter une image a la liste de papiers peint
-Recharger le bureau en cas de "plantage"
Et le tout en un clic!!!!!!!
Bonjour a tous!!!!!!!:D
Voici mon astuce:
Comme vous le savez certainement,le monde merveilleux de linux nous permet toutes sortes de fantaisie,pour peu que l on prenne la peine de chercher(google est mon ami) et de consulter les manuels
Ma copine souhaitait changer régulièrement de papier peint.Jusque là pas trop de probleme...
Sauf que sous xfce,magnifiquement fonctionnel et ultra léger,les logiciel tel que wallpaper tray et autre wallpapoz sont a installer et configurer pour un résultat décevant:ca ne marche pas.
En effet xfce utilise xfdesktop pour gérer les fonds d'écrant
Il permet de créer une liste de "wallpaper" dans laquelle il va piocher a chaque nouveau login,permettant le changement du papier peint uniquement a la connexion.Vêxant me direz-vous????????:(
J ai alors entreprit l écriture d un script bash executant le changement du papier peint d aprés la liste de xfdesktop et a interval régulier et surtout paramétrable;
Pour ce il faut:
-etre sous xfce
-paramétrer et créer sa liste de papier-peints
Plus simplement:
-pour créer sa liste de wallpaper:
-menu>parametre>gestion des parametres de xfce>bureau>image>edition de la liste
-vous sélectionner alors autant de wallpaper que vous le souhaitez,xfce au démarrage choisira l un d eux
-création du script:
-très compliqué,il suffit de créer un document vierge que vous pouvez nommer par exemple 'Auto-Wallpaper.sh'
-copier/coller mon script a l intérieur:
#!/bin/bash
##Script-Yannou90 : http://forum.ubuntu-fr.org/profile.php?id=73803
##Ce script est libre vous pouvez le distribuer et/ou le modifier
##Vous éxecutez ce script sous votre entière responsabilité
##Fonction changement du papier peint
change() {
while true
do
grep OUI Auto-papier-Peint.txt
if [ $? = 1 ]
then
return
fi
#Fonction temporisation
xfdesktop --reload
sleep $tempo
done
exit 0
}
##Fonction redémarrage de xfdesktop en cas de plantage
restart() {
while true
do
grep OUI Auto-papier-Peint.txt
if [ $? = 1 ]
then
return
fi
sleep 1
ps -C xfdesktop | grep xfdesktop
if [ $? = 1 ]
then
xfdesktop
fi
done
exit 0
}
##Fonction notification et menu choix
notif() {
zenity --notification --window-icon="info" --text="Papier peint"
Choix=$(zenity --list --radiolist --width=350 --height=240 --window-icon="info" --title="PAPIER PEINT" --text="Pour désactiver PAPIER PEINT cliquez sur annuler" --column="Cliquez" --column="Choix de l'option" \
TRUE "Premier lancement" \
FALSE "Redémarer le bureau" \
FALSE "Papier peint automatique" \
FALSE "Changement manuel" \
FALSE "Créer un icône" \
FALSE "Ajouter une image a la liste de papiers peint" )
if [ "${PIPESTATUS[0]}" != "0" ]; then
echo message:Le script PAPIER PEINT est maintenant arrêté.Merci et bonne journée! | zenity --notification --listen --window-icon="info"
exit 0
fi
}
##Fonction choix de l'option
choix() {
#Changement automatique du papier peint et redemarrage du bureau en cas de plantage
echo "$Choix" | grep "Papier peint automatique" >/dev/null
if [ "$?" = 0 ] ; then
echo "OUI" > Auto-papier-Peint.txt
tempo=$(zenity --entry --entry-text="30" --window-icon="info" --title="REGLAGE" --text="Indiquez en secondes le délai du changement du papier peint")
change & restart & echo message:Cliquez ici pour désactiver le papier peint auto! | zenity --notification --listen --window-icon="info" | zenity --notification --window-icon="info" --text="AUTO OFF"
echo "NON" > Auto-papier-Peint.txt
echo message:Changement automatique désactivé! | zenity --notification --listen --window-icon="info"
fi
#Changer manuellement de papier peint
echo "$Choix" | grep "Changement manuel" >/dev/null
if [ "$?" = 0 ] ; then
xfdesktop --reload
fi
#Créer un icône
echo "$Choix" | grep "Créer un icône" >/dev/null
if [ "$?" = 0 ] ; then
echo"" > /home/$USER/Desktop/Papier-Peint
echo "[Desktop Entry]" >> /home/$USER/Desktop/Papier-Peint
echo "Version=1.0" >> /home/$USER/Desktop/Papier-Peint
echo "Encoding=UTF-8" >> /home/$USER/Desktop/Papier-Peint
echo "Type=Application" >> /home/$USER/Desktop/Papier-Peint
echo "Name=Papier-Peint" >> /home/$USER/Desktop/Papier-Peint
echo "Comment=Changer de papier peint" >> /home/$USER/Desktop/Papier-Peint
echo "Exec=xfdesktop --reload" >> /home/$USER/Desktop/Papier-Peint
echo "Icon=/usr/share/icons/Human/scalable/apps/screensaver.svg" >> /home/$USER/Desktop/Papier-Peint
echo "Terminal=false" >> /home/$USER/Desktop/Papier-Peint
echo "StartupNotify=false" >> /home/$USER/Desktop/Papier-Peint
echo message:Cliquez sur votre icône pour changer de papier peint. | zenity --notification --listen --window-icon="info"
fi
#Premier lancement
echo "$Choix" | grep "Premier lancement" >/dev/null
if [ "$?" = 0 ] ; then
zenity --info --title="PREMIER LANCEMENT" --text="Bonjour!
Avant de lancer le changement automatique assurez-vous que:
-xfce gére le fond d'écran
-avoir éditer une liste de papiers peint
Pour ce faire:
Menu xfce -> Paramètre -> Gestion des paramètre -> Bureau -> Edition de la liste
Ou plus simplement:
Clic droit -> Paramètres du bureau -> Edition de la liste
Sélectionnez ensuite plusieurs images et enregistrez.
Merci."
fi
#Ajouter une image a la liste de papiers peint
echo "$Choix" | grep "Ajouter une image a la liste de papiers peint" >/dev/null
if [ "$?" = 0 ] ; then
img=$(zenity --file-selection --window-icon="info" --title="Sélectionnez l'image a ajouter a la liste")
echo "$img" >> /home/superyannou/.config/xfce4/desktop/fonds.list
xfdesktop --quit && xfdesktop
echo message:Image ajouter! | zenity --notification --listen --window-icon="info"
fi
#Redémarer le bureau
echo "$Choix" | grep "Redémarer le bureau" >/dev/null
if [ "$?" = 0 ] ; then
xfdesktop &
fi
}
##Lancement de l'application
echo message:Vous pouvez configurer votre papier peint | zenity --notification --listen --window-icon="info"
while true
do
notif && choix
done
exit
Une foi ce script créer,placez le ou bon vous semble(votre home ou document,....)
Rendez le script executable puis créez un lanceur/icône en le renseignant avec le chemin du script comme commande.
D'un clic vous lancer le script qui vous permettra d'automatiser le changement du papier peint de régler la temporisation de celui-ci ...
Pour tout probleme n'hésitez pas a poster
Merci:D
Dernière modification par Yannou90 (Le 28/10/2008, à 16:19)
Hors ligne
#2 Le 22/08/2008, à 02:48
- Wapush_HL
Re : [Script]Applet Wallpaper/Papier-Peint pour XFCE
Merci !
Personnellement, je trouve plus simple après avoir créé une liste dans les paramètres du bureau, de créer un lanceur avec comme commande "xfdesktop --reload". Ça permet de changer le papier-peints quand on le veut et de ne pas avoir à attendre après un temps prédéterminé ou de ne pas se le faire changer si on ne veut pas.
J'ai aussi une action personnalisée dans Thunar permettant d'utiliser une image comme comme fond d'écran, au clic droit sur celle-ci. Si ça t'intéresse, je le met ici.
A+
#3 Le 22/08/2008, à 06:03
- Yannou90
Re : [Script]Applet Wallpaper/Papier-Peint pour XFCE
Bonjour Wapush_HL !
Mon petit post est une réponse indirecte aux besoins de ma copine.J ai essayé walpapoz,wallpaper tray,et autres mais ai été décu.J ai alors créé ce petit script qui marche trés bien.
Je t avouerais que je ne passe pas mon temps a vouloir changer de papier peint,c est une astuce comme une autre.
Ainsi,associé a la création de plusieurs liste de wallpaper,on peut au grès de ses envies personnalisé par themes sont bureau
Mais je le conçoi,il n y a la qu un interet futile.Disons que je les fais pour les beaux yeux de mon amie.
Mercie§
Hors ligne
#4 Le 20/10/2008, à 12:28
- Yannou90
Re : [Script]Applet Wallpaper/Papier-Peint pour XFCE
Bon ben je dois etre le seul a vouloir me prendre la tete avec ce papier peint
Je plaisante bien sur
Mais je ne sais pas si mon post doit etre déplacé dans le forum xfce et encore moin comment faire
En attendant c'est une "astuces" comme une autre donc si un modo passe par là....
Hors ligne