[fond d'ecran] Tempo du fond d'ecran (résolue)

Questions et astuces concernant l'installation et la configuration d'archlinux
Avatar de l’utilisateur
banditblue
Elfe
Messages : 625
Inscription : dim. 10 janv. 2010, 10:19

Re: [fond d'ecran] Tempo du fond d'ecran (demande d'aide)

Message par banditblue »

le script pour le fond d'ecran écrit par maitre :chinois: véka merci à toi

Code : Tout sélectionner

#!/bin/sh
# Script de diaporama de fond d'écran 
# requis : feh
# Le mode manuel requière zenity 

#==================================================
#
# LICENCE PUBLIQUE RIEN À BRANLER
# Version 1, Mars 2009
#
# Copyright (C) 2009 Veka
#
# La copie et la distribution de copies exactes de cette licence sont
# autorisées, et toute modification est permise à condition de changer
# le nom de la licence. 
#
# CONDITIONS DE COPIE, DISTRIBUTON ET MODIFICATION
# DE LA LICENCE PUBLIQUE RIEN À BRANLER
#
# 0. Faites ce que vous voulez, j’en ai RIEN À BRANLER. 
#
#==================================================
# Pour me contacter : veka61@laposte.net

#==================================================
#=============== PARTIE A EDITER ==================
#==================================================

# Dossier ou se trouve les images ( format accepté : jpg JPG jpeg JPEG png PNG )
dossier=~/Images/1440x900/

# Commande qui affiche le fond d'écran
comande="feh --bg-scale"

# Mode Diapo : 1 = activer , 0 = Désactiver
# Le mode diapo fait défiler les images automatiquement.
diapo=1

# Temps entre les images , en seconde ( mode diapo )
temp=600

# Mode aléatoire : 1 = activer , 0 = Désactiver
# Le mode aléatoire choisie les images aléatoirement.
aleatoire=1

# Mode manuel : 1 = activer , 0 = Désactiver
# Le mode manuel ajoute une icone dans la zone de notification, qui change le fond d'écran au clic
manuel=0

#==================================================
#=============== PARTIE A NE PAS TOUCHER ==========
#==================================================

rouge=`tput setaf 1`
NC="$(tput sgr0)" 

# Verifi que l'uilisateur ne lance pas le mode diapo et manuel en même temps
if [ $diapo = '1' ] && [ $manuel = '1' ] ; then
{
echo "
${rouge}Vous avez activé à la fois le mode manuel et le mode diapo.
Ces deux modes ne peuvent être activés en même temps. 
Veuillez éditer le script.
${NC}"
exit
}
fi

# test si zenity est installer pour le mode manuel
if [ ! -e "$(which zenity)" ] && [ $manuel = '1' ] ; then
{
echo "${rouge}Le mode manuel requière zenity. ${NC}"
exit
}
fi 


fichier=~/.list.txt
ls $dossier*.jpg > $fichier
ls $dossier*.JPG >> $fichier
ls $dossier*.jpeg >> $fichier
ls $dossier*.JPEG >> $fichier
ls $dossier*.png >> $fichier
ls $dossier*.PNG >> $fichier

nb_ligne=`wc -l $fichier | cut -d' ' -f1`
nu_ligne=1
chemin=$( cd -P $(dirname $0); pwd)

while [ $nb_ligne != $nu_ligne ]
do

# mode aleatoire 
if [ $aleatoire = '1' ]; then
{
RANDOM="$(dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -f1 -d" " )"
random=$(( RANDOM % $nb_ligne + 1 ))
var=`head -$random $fichier | tail -1`
}
else
{
var=`head -$nu_ligne $fichier | tail -1`
}
fi


$comande $var &	


#===================================================================
#=== Commande a executer en même temps que le changement de fond ===
#===================================================================
# Aide :
#	 $var = adresse compète du fichier a afficher
#	 $nb_ligne = nombre d'image contenu dans le dossier 
#	 $nu_ligne = numero d'identification de l'image 
#===================================================================

# Copie le fond d'écran pour le partager avec mon script d'exctinction
cp $var "/home/veka/.FOND/bg.jpg"

# Commande pour gerer le fond de slim ( necesite les droit d'écriture )
#~ rm /usr/share/slim/themes/archlinux/background.jpg 
#~ ln -s $var /usr/share/slim/themes/archlinux/background.jpg

#~ # Réactualisation de idesk
#~ sleep 0.5
#~ killall idesk
#~ idesk &
#===================================================================

# Si Manuel = 0
if [ $manuel = '0' ]; then
{

# Stop le programme si l'option diapo est a 0
if [ $diapo = '0' ]; then
{
exit
}
fi

# pause defini par l'utilisateur
sleep $temp

}

# Si Manuel = 1
elif [ $manuel = '1' ]; then
{

zenity --notification\
--window-icon=$chemin/background.png \
--text="Cliquez pour changer le fond d'écran" 

}
fi


# Empeche l'arret des diapos une fois toute les images afficher
if [ $nb_ligne = $(($nu_ligne+1)) ]; then
{
nu_ligne=1
}
else
{
nu_ligne=$(($nu_ligne+1))
}
fi

done

rm $fichier
ensuite reste a creer un fichier diapo.sh et a tout coller dedans et à faire un chmod +x
La connaîssance n'a pas de limite.
Mais sa valeur, est d'autant plus grande, une fois partagé
Répondre