01 marzo, 2010

script - Wallpaper random con recorte y ajuste de imagen y sombras en fluxbox

Este script escrito en bash permite poner de manera aleatoria el fondo de escritorio(obvio especificando una o varias carpetas), ademas de ajustar (identificar la posición de la imagen) y recortar  según el tamaño del monitor, puedes ponerle sombras por medio de una plantilla (que debes crear también). Este es una "edición especial" ya que en un post anterior he ido publicando los avances con el script para poner de manera aleatoria fondos de escritorio en fluxbox, los últimos aveces que le hice a este fueron el ponerle un filtro de imágenes (sin importar si tuviera extensión o no)

lo puedes descargar de aquí:

15/enero/2010
nueva version con opcion de archivo de configuracion y soporte para gnome:
http://www.mediafire.com/?eoaqy4r86v8lklj


Este script ademas de incluir lo del original, añade la opción de poder ponerle sombras, esto con el fin de poderlo usar con el conky (o el uso que tu le encuentres), obtendrías algo asi:


necesitas tener una plantilla como esta:



al final, el script genera una imagen como esta:

Esta el la imagen que se usara para poner de fondo de pantalla.

Para hacer una plantilla, te sugiero hacer una toma de pantalla (screeshot, pantallazo, o como quieras llamarlo) , abre el pantallazo con gimp, te vas a la ventana de "Capas, canales" das click derecho en la imagen del screenshot (normalmente toma el nombre de "Fondo") y das click en la opción "Capa nueva"

Le das click en el ojito en la capa de la toma de pantalla que hicistes y empiezas a crear todas las sombras que le quieras poner, te guias con la capa que tiene la captura para que quede exactamente donde quieres
 
 Ahora solo resta guardar la plantilla de las sombras, click en Archivo, guardar como, lo guardas como "sombras.png" te dirá que la imagen debería exportarse, seleccionas combinar las capas, después exportar


 al final te saldrá un cuadro donde te preguntara que debe de guardar, solo deja el nivel de compresión en cero y dale guardar



Con esto habremos obtenido una plantilla que nos servirá para colocársela encima a todos los wallpapers de ahora en adelante, claro, sin modificar el original


El script también recorta y redimensiona el wallpaper de acuerdo al tamaño del monitor (no es necesario estipular el tamaño de este, la detección es automática) para evitar deformaciones.
Por ejemplo cuando existen círculos, si solo ponemos la opción de expandir podríamos conseguir un ovalo en lugar de un circulo. Sin embargo no esta probado con mas de un monitor, así que puede haber problemas
para mejor comprensión:

Si tenemos este wallpaper de las dimensiones: 2560x1600



y nuestro monitor es de las dimensiones: 2560x1080
el script lo recortara para las medidas de nuestro monitor:




El método de instalación es simple, después de descargar y descomprimir, te colocas en la carpeta
$ cd walrand-ajus-recor-somb-flux-blog

añades permisos de ejecución
$ chmod +x instalar.sh

y ejecutamos el script:
$ bash instalar.sh



Configuración
El script crea una carpeta llamada ".wallpaper-flux"
para especificar las carpetas donde se encuentran las carpetas de las imágenes, es necesario editar el archivo  de configuración "config" que se encuentra en la carpeta "~/.wallpaper-flux", mi editor es mousepad (cambiarlo por el que usen)
$ mousepad ~/.wallpaper-flux/config


Toma en cuenta que todas las variables van despues de dos diagonales //


Configuración del tiempo
La especificas con la variable "tiempo", el tiempo esta dado en segundos, ejemplo:

tiempo//1800


Configuración de cesión
Especificas si el script trabajara en gnome ó en fluxbox, ejemplo para fluxbox:

win_man_uso//fluxbox

ejemplo para usarse con gnome:

win_man_uso//gnome



Configuración de directorios

Son los directorio donde se encuentran las imagenes
No debe existir ni un solo espacio en blanco despues del directorio o eso ocasionaria error

Toma en cuenta que necesitas poner la direccion completa tal cual, no es valido poner "~" en lugar de "/home/usuario"
El script NO lee subcarpetas asi que es importante que las especifiques

Solo pueden usar hasta diez rutas, no incluyan mas, por ejemplo: "dir11//" porque no tiene caso, no estan soportados mas, tendrian que cambiar parte del codigo (bajo su propio riesgo; (bueno de porsi este script es bajo su propio riesgo)


Ejemplo:


#dir1//~/Imagenes #linea comentada, no tendra valides
dir2///home/gory/Imagenes/wallpapers
dir3///home/gory/Imagenes/wallpapers/anime
dir4///home/gory/Imagenes/wallpapers/meteorix
dir5///home/gory/Imagenes/wallpapers/ubuntu_wallpapers
dir6///home/gory/Imagenes/wallpapers/wallpaper_mac
# dir7///home/gory/Imagenes/wallpapers/Wallpapers_de_Marcas_Tecnologicas
dir8///home/gory/Imagenes/wallpapers/wallspapers_2008
dir9///home/gory/Imagenes/wallpapers/walls-gory
dir10///home/gory/Imagenes


Es muy importante que no dejes espacios en blanco al final de las líneas o tendras problemas

Para ejecutarlo desde el inicio de cesion de flux revisar otros post en el blog  >>  http://zer0-azucar.blogspot.com/2009/01/scrip-para-cambair-de-wallpaper-en.html

Actualmente cuenta con soporte para gnome de manera sumamente experimental



NOTAS:
- Recuerden que no he hecho pruebas con 2 monitores conectados, no se que consecuencias tenga
- El script esta hecho para usarse con fluxbox/gnome si no es la cesion, no se ejecutara (otros cambios para otras cesiones, solicitarlo o hacerlo bajo propio riesgo (que no es muy complicado por si quieren experimentar))
-dudas comentarios, son bienvenidos

=== ACTUALISACIÓN ===
======= sabado 25/enero/2010 ===============
- Ya cuenta con soporte para Gnome
- Cuenta con archivo de configuración