Derrière ce magnifique titre se cache une réjouissante réalité. Non, la Corée du Nord n’est pas redevenue un pays démocratique (elle prévoit toujours de trouver un prétexte dans une quelconque action de ses voisins du sud pour aller péter la gueule à leurs ennemis Japonais, à coup de missile longue portée). Non, les Américains n’ont pas résolu le problème que pose les terroristes islamiques (ils y travaillent, semble-t-il plus efficacement que ces huit dernières années, c’est-à-dire par le dialogue, mais ils en sont encore loin). Non, l’évènement qui me fait écrire ce billet est tout autre, bien plus important : j’ai vaincu le bug de la division approximée à un entier en python dans un de mes scripts \o/.
Ouais, ok, c’est une bidouille ridicule qui m’a sorti de ce « bourbier », ça m’a pris deux minutes à trouver, et ça n’a sauvé la vie de personne. Néanmoins, je me plais à croire que j’ai sauvé le monde et que mon action héroïque répandra le bonheur sur terre pour les générations futures.
Mais pourquoi je vous parle de ça, déjà ? Ah, oui, c’est parce que je suis tombé sur un billet de Nicolargo, sur le Planet Libre. Il y présente un logiciel baptisé Desktop Drapes qui permet de changer automatiquement son fond d’écran à intervalles réguliers en en choisissant un au hasard dans un dossier. Gros problèmes : il tourne en permanence (et donc prend de la ram), il ne gère qu’un seul écran, et il est codé en Mono (Ah, non, pas ça, c’est mal le Mono).
N’ayez crainte, ce n’est pas la fin du monde, et j’ai une magnifique solution pour vous : DuallPaper, le gestionnaire de wallpaper pour les dual screen.
Disponible dans toutes les bonnes crèmeries, enfin, au moins dans la mienne, ici.
On configure rapidement les quelques options, on le rend exécutable, on ajoute un cron, et hop, on n’en parle plus :-) .
Ce script tourne sur mon ordi depuis quelques semaines déjà. En voyant le billet de Nicolargo, ça m’a motivé pour ajouter quelques améliorations et pour nettoyer le code. J’ai ajouté une gestion d’une erreur récurrente (PIL ne gère pas les images PNG entrelacées, ça faisait planter le script. Maintenant il gère l’erreur en envoyant un message d’erreur et en choisissant une autre image), activé une option (pour maintenir le ratio d’une image, histoire d’éviter d’avoir des images 4:3 écrasées dans un widescreen, ou inversement), et j’ai condensé le code et mis des commentaires utiles.
Il n’y a pas de GUI, mais c’est léger, c’est rapide, ça ne prend pas de ram (sauf pendant dix secondes, quand le cron le lance), et c’est en python (tellement mieux que le Mono).
Je ne sais pas si ça sera jamais utile à qui que ce soit d’autre que moi, mais je pense que ça pourrait inspirer d’autres petits codeurs en herbe qui ont des besoins similaires.