lunes, febrero 12, 2007

Wallpaper Slideshow Ubuntu

Últimamente me he interesado en la tecnología mono y ya tenía ganas de hacer alguna aplicación. Debido a que a mi personalmente Desktop Drapes no me funciona [ya reporté el bug], decidí hacer mi propia aplicación a través de monoDevelop [sudo aptitude install monodevelop] y mi ubuntu edgy 6.10.

La aplicación que he realizado se encarga de:

  1. Monitorizar un directorio (el que le indiquemos) en el cual podremos poner imágenes png, jpeg o jpg que se usarán para ponerlas como fondo de pantalla. Monitorizar significa que si añadimos o quitamos imágenes no tenemos que reiniciar el programa ya que éste detectará todos los cambios realizados.
  2. Cambiar el fondo de pantalla cada X minutos.
  3. Borrar el actual fondo de pantalla por si no nos gusta y cambiará por el siguiente.
  4. Ir al siguiente fondo de pantalla.

El funcionamiento es:
  1. Iniciamos el programa (hay varias formas de hacerlo) y hay que tener en cuenta las dependencias que están especificadas más abajo.
    1. Doble clic sobre el fichero wallpaperMONO.sh
    2. Desde el terminal, escribiendo: mono wallpaperMONO.exe (dentro del directorio en donde se encuentra el fichero wallpaperMONO.exe)
    3. Agregarlo para que se inicie al encender el ordenador. Sistema -> preferencias -> sesiones -> programas de inicio -> agregar -> mono /ruta_hacia_el_fichero/wallpaperMONO.exe (por ejemplo mono /home/ferran/wallpaperMONO/wallpaperMONO.exe)
  2. Indicamos los minutos que queremos que pasen entre un fondo y otro.
  3. Indicamos el directorio que contendrá todas nuestras imágenes (no se buscan imágenes dentro de subdirectorios)
  4. Hacemos clic en Aceptar y el programa empieza a funcionar, si está todo correcto, vuestro fondo de pantalla debería de cambiar.

Después de la primera ejecución del programa, cuando lo volváis a ejecutar se mantendrán los valores establecidos desde el último clic a Aceptar, así que simplemente tenéis que ejecutar el programa y listo.

El programa no requiere ningún tipo de instalación, simplemente hay que ejecutar el script wallpaperMONO.sh (aseguraros de darle permisos de ejecución, botón derecho -> permisos -> ejecución) aunque necesita de las librerías de mono para poder ejecutarse (éstas son las dependencias):
sudo aptitude install -y libmono2.0-cil libgconf2.0-cil gtk-sharp2 libgtk2.0-dev

Cuando se ejecuta el programa, aparece un icono en la barra de tareas [tomado de los recursos de desktop drapes, gracias !]. Con un clic se oculta el programa y con otro clic se vuelve a mostrar, así no lo tenemos minimizado en la barra de tareas ocupando espacio.

Link1: Ejecutable
Link2: Código fuente

Espero que os sea útil.

NOTA1: No he encontrado la forma de ejecutar el programa bien a la hora de iniciarse el PC, bueno si se ejecuta pero no sale el icono en la barra de tareas ya que se ejecuta antes el programa que la propia barra, si alguien lo averigua que me lo indique.

NOTA2: Si alguien quiere alguna nueva funcionalidad me lo puede indicar enviándome un mail o aquí como comentario

Actualización [13-02-2006]: Respecto a la NOTA1, he implementado la solución "chapucera" comentada por Cristian, así que ahora la aplicación está orientada a ser ejecutada en el inicio de sesión. Para tal tarea habrá que introducir en Sistema -> Preferencias -> Sesiones -> Programas de inicio -> Añadir [mono /home/ruta_al_programa/wallpaperMONO.exe]. La aplicación tiene un retardo de exactamente 10 segundos para que se muestre, lo digo por si la ejecutáis directamente, y estará minimizada y con el icono en la barra de tareas. Si a alguien éstos 4 segundos no le resulta suficiente para su sistema, que me lo haga saber e incrementaré ése tiempo. Por cierto, la nueva versión ya está subida en el mismo link anterior.

---
Captura: Realizada en linux [ubuntu], con el programa de retoque fotográfico Gimp y el programa de diseño vectoria Xara Xtreme.

2 comentarios:

Cesarius dijo...

De verdad una excelente noticia, espero que sigas trabajando en ella para depurarla al máximo.

No soy muy amante de este tipo de aplicaciones, pero me parece que pueden desestrezar un poco eh.

Saludos

Cristian dijo...

Para que se ejecute al iniciar Ubuntu pq no pruebas de:

1- añadirlo (con su ruta) en Sesiones/programas de inicio.

2- chapuza, hacer un sleep de tu programa de x segundos para que de tiempo a cargarse tu megabarra y tal.

Ya me dirás.