user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 16-07-2013 01:14:24

Caly
Membre indécis

Diaporama de wallpapers

Bonsoir à  tous.  big_smile

Dans ma quête d'un soft pour faire un diaporama de wallpapers, je n'ai trouvé que quelques logiciels. Mais tous graphiques, donc lourd.
Ici, je vous propose un petit script python fait maison (je suis encore débutant... mais bon).

# -*- coding: utf-8 -*-

from random import randint
from os import system
from time import sleep

def main():
	minutes = 10                            # temps en minutes avant le prochain changement de background
	path = "/home/caly/images/wallpapers/"  # chemin vers le dossier où sont les fonds d'écrans
	format = ".jpg"                         # le format des images (convertissez les préalablement avant)
	max = 65                                # le nombre maximum d'images dans votre dossier

	command = "feh --bg-scale"
	attente = minutes * 60
	liste = [ ]

	while True:
		aleatoire = randint(1, max)
		if not aleatoire in liste:
			cmd = "%s '%s%d%s'" % (command, path, aleatoire, format)
			liste.append(aleatoire)
			system(cmd)
			if len(liste) == max:
				liste = []
			sleep(attente)

if __name__ == '__main__':
	main()

Dans le code par défaut, l'image change toutes les 15 minutes.
Le path est le miens, adaptez le à votre configuration... pareil pour le format, j'utilise en général des fonds de WallBase, sinon vous pouvez toujours utiliser GIMP pour changer le format.

Enjoy. :3

Dernière modification par Caly (16-07-2013 15:14:47)


Dell Latitude E7450 | Windows 10 && Debian | Sway | Intel i7-5600U | 16Go RAM | SSD 512Go
Fairphone 3 | Lineage OS | Pie
BlogDiaspora*Mastodon

Hors ligne

#2 16-07-2013 06:20:23

IceF0x
#! Gourou Linux

Re : Diaporama de wallpapers

Bonne idée, j'ai pas compris le while i < 1440: par contre plutot que while True:


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#3 16-07-2013 11:44:09

Caly
Membre indécis

Re : Diaporama de wallpapers

Je viens de modifier le code, maintenant il tourne constamment, et le code en lui même est plus propre.   cool


Dell Latitude E7450 | Windows 10 && Debian | Sway | Intel i7-5600U | 16Go RAM | SSD 512Go
Fairphone 3 | Lineage OS | Pie
BlogDiaspora*Mastodon

Hors ligne

#4 16-07-2013 15:15:33

Caly
Membre indécis

Re : Diaporama de wallpapers

Nouvelle version. Celle-ci permet de ne plus avoir deux fois le même fond d'écran dans la même lancée, c'est à dire que vous aurez chaque fond d'écran du dossier jusqu'à ce que toutes les images ont été utilisées, et ensuite on repart pour un tour. smile


Dell Latitude E7450 | Windows 10 && Debian | Sway | Intel i7-5600U | 16Go RAM | SSD 512Go
Fairphone 3 | Lineage OS | Pie
BlogDiaspora*Mastodon

Hors ligne

#5 16-07-2013 18:34:38

IceF0x
#! Gourou Linux

Re : Diaporama de wallpapers

Joli, dommage que c'est limité au .jpg


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#6 16-07-2013 20:11:59

Caly
Membre indécis

Re : Diaporama de wallpapers

Bah non, tu peux modifier en jng etc... tongue


Dell Latitude E7450 | Windows 10 && Debian | Sway | Intel i7-5600U | 16Go RAM | SSD 512Go
Fairphone 3 | Lineage OS | Pie
BlogDiaspora*Mastodon

Hors ligne

#7 17-07-2013 03:05:07

manon
#! Crunchikette #!

Re : Diaporama de wallpapers

merci  big_smile

Joli, dommage que c'est limité au .jpg

j'aurais fait comme ca pour lister les fichiers moi :

liste_fichiers = os.listdir(/home/caly/images/wallpapers/)
for fichier in liste_fichiers:
    if (fichier[-4:].lower() == '.jpg') or (fichier[-4:].lower() == '.png'): #on peut en rajouter d'autres
        liste_wall.append(fichier)

Script 2  tongue  je trouve ca mieux  ]:D

#!/usr/bin/python
# -*- coding: utf-8 -*-

from os import lisdir, system
from random import randint
from time import sleep

minutes = 10 
path = "/home/caly/images/wallpapers/"
command = "feh --bg-scale"
attente = minutes * 60
max_wall = 56
liste_wall = [ ]
liste_fichiers = listdir(path)

for i, fichier in enumerate(liste_fichiers):
    if (fichier[-4:].lower() == '.jpg') or (fichier[-4:].lower() == '.png'): #on peut en rajouter d'autres
        liste_wall.append(fichier)
        if i > max_wall:
            break

del i, liste_fichiers, fichier # suppression des variables inutiles  

while 1:
    for i, e in enumerate(liste_wall):
        cmd = command+" "+path+e    #
        system(cmd)
        sleep(attente)

Dernière modification par manon (17-07-2013 16:43:19)

Hors ligne

#8 17-07-2013 07:27:58

IceF0x
#! Gourou Linux

Re : Diaporama de wallpapers

Merci manon, on vois directement que tu as plus d'expérience en python que nous tongue merci pour ce retour en tout cas, tu pourras me conseiller en python d’ailleurs que je m'y remettrai sérieusement.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#9 17-07-2013 09:59:21

Lostyx
Membre

Re : Diaporama de wallpapers

manon a écrit :
        if i == -1:
            break
        sleep(attente)

Peut être réinitialisé la listewall si il veut pas que ça s'arrête tongue ?


-L'anonymat complet n'existe pas , il faudra vous y faire .
-La plus grande faille informatique ? l'homme sans aucun doute .

Hors ligne

#10 17-07-2013 12:43:09

manon
#! Crunchikette #!

Re : Diaporama de wallpapers

@Losyx -> ??? aprés le break on sort de la boucle for mais on reste dans la boucle while ....
donc rien a faire d'autres..... big_smile


Sinon j'ai postée le script hier soir , j'ai oubliée une option de Caly (nombre max de wall)
J'ai donc éditée mon script ;-) avec quelques truc pour consommer moins de mémoires ....

Ps: Pas de soucis IceFox , mais on verra tout ça a la rentrée , les vacances approchent wink

Hors ligne

#11 17-07-2013 13:26:24

Lostyx
Membre

Re : Diaporama de wallpapers

En effet j'ai loupé une boucle en regardant ><
une boucle avec une autre condition sinon ? en plus
parce que bon les break hmm


-L'anonymat complet n'existe pas , il faudra vous y faire .
-La plus grande faille informatique ? l'homme sans aucun doute .

Hors ligne

#12 17-07-2013 14:40:55

Caly
Membre indécis

Re : Diaporama de wallpapers

Un break dans une boucle... c'est dégueulasse.  neutral


Dell Latitude E7450 | Windows 10 && Debian | Sway | Intel i7-5600U | 16Go RAM | SSD 512Go
Fairphone 3 | Lineage OS | Pie
BlogDiaspora*Mastodon

Hors ligne

#13 17-07-2013 16:42:46

manon
#! Crunchikette #!

Re : Diaporama de wallpapers

oui surtout que celui ci est inutile  :rolleyes:
édité ...
ensuite pour celui-ci

 if i > max_wall:
            break

pourquoi continuer la boucle quand on peu la stopper ....

 if i > max_wall:
            pass # ou continue

Dernière modification par manon (17-07-2013 16:54:12)

Hors ligne

Pied de page des forums