DavidDecotigny

APODbg

Navigation

  • Rechercher un mot :


capture d'ecran



Avoir les images de l'APOD en fond d'écran (KDE)


J'utilise une série de 2 scripts, ce qui donne une usine à gaz pas propre.

Récupérér les URLs des images


J'utilise ce script perl (inspiré de http://mordred.ao.com/rootwindow/) à lancer par cron ou anacron 1 fois par jour, voire moins (car il rattrape son retard). Le lancer plus d'une fois par jour ne sert à rien.

Ce script construit un fichier csv renfermant la liste des pages de l'APOD contenant des images ainsi que l'url de ces images. Ce script prend 1 paramètre : l'endroit où on veut stocker le fichier CSV. La première fois qu'on le lance, il récupère toutes les URLS depuis le début (Juin 1995).

Pour éviter de charger trop le serveur, on fait une pause de 0 à 3s entre chaque URL, ce qui fait que le script demande environ 1h pour se terminer la première fois. Pour ne pas subir cette looooongue phase d'amorçage, télécharger ce fichier csv pré-rempli jusqu'à aujourd'hui.

Configurer KDE pour lui dire d'afficher les images


Récupérér ce script sh (archi pas propre) et le mettre "exécutable". Personnaliser les variables suivantes :
Le script a pour rôle de récupérer une image de l'APOD par jour choisie aléatoirement, de la redimensionner conformément aux souhaits de KDE et de rajouter l'URL de l'image en bas de l'image. Les images téléchargées sont mises en cache localement pour éviter de trop charger le serveur : on peut les supprimer du CACHEDIR quand on veut si on désire faire un peu de place sur le disque. Le script rajoute un lien sur le bureau vers la page de l'APOD correspondant à l'image de fond en cours.

Ce script nécessite imagemagick et wget.

Ouvrir le centre de contrôle de KDE, Apparence & themes, Background :

Cette configuration avec le script précédent changera l'image de fond une fois par jour même si KDE est configuré pour l'appeler plusieurs fois par jour (ce qui est le cas ici puisque le Refresh time est de 60min). Si on veut la changer plus d'une fois par jour, il suffit de changer la ligne suivante :
touch -d "today 0:0" $TMPDIR/apod-stamp

Exemple avec changement toutes les 5 heures :
touch -d "5 hours ago" $TMPDIR/apod-stamp


Et voilà !

En bonus : changement immédiat


Une fois par jour c'est bien, mais si l'image ne me plait pas ?... J'exécute le script suivant pour en changer immédiatement :
#! /bin/sh

rm -f $HOME/download/images/apod-stamp
dcop kdesktop KBackgroundIface setBackgroundEnabled false
dcop kdesktop KBackgroundIface setBackgroundEnabled true

On pourra rajouter un bouton dans la barre des tâches qui lance ce script.

En bonus : utiliser le cache de konqueror


Pour accélérer le chargement de la Web page APOD correspondant à l'image de fond (icône "APOD" sur le bureau), on pourra remplacer la ligne :
[ -f $cached ] || wget -q -O $cached $img || exit 1

Par :
[ -f $cached ] || kfmclient copy $img $cached || exit 1


En bonus : économiseur d'écran APOD


On pourra dire à xscreensaver d'exécuter GLSlideshow ou Slideshow, et d'aller chercher ses images dans le répertoire CACHEDIR ($HOME/download/images par défaut).