lunes, 8 de septiembre de 2008

Wallpapers Dinámicos

Una página que me gusta bastante para descargar papeles tapices (wallpapers) es esta:


La encontré en Eliax, y tiene la peculiaridad de tener imágenes en diversas resoluciones. Además, muchas de sus imágenes son bastante interesantes.

Ahora que estoy liado con los scripts cutres en Linux, os voy a enseñar uno que he realizado para cambiar periódicamente el fondo de pantalla de vuestro ordenador, pudiendo elegir cada cuánto tiempo se repite esta operación.

Lo he diseñado para mi ordenador (con una pantalla de 1280x1024 px), pero el código admite pequeñas modificaciones para poder exportarlo a otras necesidades.

#!/bin/bash
zenity --info --text="**********************************************************\n BIENVENIDO AL PAPEL TAPIZ DINÁMICO CREADO POR ASTAROTH\n **********************************************************\n\n Este programa cambiará su fondo de escritorio periódicamente con imágenes descargadas de Internet.\n\n (http://astarothsworld.blogspot.com)"
t=`zenity --entry --text="Cuántos segundos quiere que aparezca cada imagen? (p.e., 1 hora => 3600)" --entry-text="60"`
zenity --info --text="Tenga en cuenta que el descargar las imágenes lleva un tiempo (t). Usted ha puesto un tiempo de $t segundos, pero en realidad el papel tapiz cambiará cada $t + t segundos."
k=0
DIR=`pwd`
mkdir .tempaper
cd .tempaper
while [ $k = 0 ] ; do
i=`echo $[$RANDOM % 91 + 1]`
j=`echo $[$RANDOM % 9 + 1]`
wget -O W.html http\:\/\/interfacelift.com\/wallpaper_beta\/downloads\/\date\/fullscreen/1280x1024\/index$i.html
p=`echo "$j""p"`
dir=`grep -o previews[[:print:]]*.jpg W.html | sed -n '$p' | sed 's/previews/http:\/\/interfacelift.com\/wallpaper\/downloads/g' | sed 's/.jpg/_1280x1024.jpg/g'`
fil=`echo $dir | sed 's/http:\/\/[[:print:]]*downloads\///g'`
wget $dir
if [ -e $fil ] ; then
gconftool-2 -t str --set /desktop/gnome/background/picture_filename "$DIR/.tempaper/$fil"
gconftool-2 -t str --set /desktop/gnome/background/picture_options "scaled"
sleep $t
rm $ofil
ofil=$fil
fi
done



Lo que hace el script es analizar la sección de imágenes de 1280x1024 px de la web mencionada, y seleccionar una de ellas basándose en dos números aleatorios (uno para la página y otro para la foto dentro de esa página). Luego descarga esa foto y la pone de papel tapiz.

La operación se repite en un bucle infinito, espaciando cada interacción el tiempo que queramos (nos lo pide al principio, al ejecutar el programa).

Aquí os dejo un vídeo para que veáis como funciona.

No hay comentarios:

Publicar un comentario

Querido astarothista!,

Si te ha gustado la entrada y quieres dejar constancia de ello, tienes alguna sugerencia para completarla o corregirla, quieres mostrar tu opinión respecto a algo de lo que se haya hablado en esta entrada (con respeto) o simplemente quieres dejarme un mensaje a mi o a la comunidad, no dudes en comentar ;)!

Recuerda que también estamos en Facebook y en Google+.