martes, 4 de octubre de 2011

Regreso y traigo mi Script. Wallpapper Changer v1.0

Buenas maximas a todos, aca volviendo despues de varios meses a mi blog, he decidido revivirlo un poco, y para hacerlo, traigo mi script, es un cambiador de Wallpaper. Contiene un config.cfg donde por ahora solo estarán implementados dos datos, la carpeta de los Wallpapers, y un intervalo de tiempo entre cada wallpaper... Son 3 archivos, les copio el codigo, espero que los entiendan, comente el codigo para que les sea a los principiantes (aunque me considero uno) entender el codigo... Y al final les dejo para descargar los ficheros. Cualquier duda al mail :)

WallChangerIndex.sh

#!/bin/bashmydir=$(cd $(dirname "$0"); pwd)#directorio del script
#analizamos procesosEXISTE=`ps -ef | grep "WallChanger.sh" | grep -v "grep" | awk '{print $2}'`

PINDEX="$mydir/WallChanger.sh"
#comprobamos existenciaif [ "$EXISTE" != "" ]; then kill -9 `ps -ef | grep -i "WallChanger.sh" | awk {'print $2'}`
 sh $PINDEX #re-ejecutamos #echo "El proceso existe. El ID del proceso es: $EXISTE"else #ejecutamos directamente sh $PINDEX #echo "El proceso no existe."fi
#Cualquier duda, sugerencia, reporte de errores a maati.garcia@gmail.com#Gracias

WallChanger.sh
#!/bin/bashmydir=$(cd $(dirname "$0"); pwd)#directorio del script#leemos el archivo de configuracionCONFIGFILE="$mydir/config.cfg"while read linedo
date1=`echo $line | cut -d '=' -f1` date2=`echo $line | cut -d '=' -f2` if [ "$date1" = "FOLDER" ]; then CARPETA=$date2 elif [ "$date1" = "SLEEP" ]; then TIEMPO=$date2 fidone < $CONFIGFILE#Bucle de cambio de imagenwhile [ 1 ]; do set — * pixdir=$CARPETA newbkgrnd="$(ls $pixdir | shuf -n1)" gconftool-2 -t string -s /desktop/gnome/background/picture_filename "$pixdir$newbkgrnd" gconftool-2 -t string -s /desktop/gnome/background/picture_options zoom #Intervalo de cambio sleep $TIEMPOdone#Cualquier duda, sugerencia, reporte de errores a maati.garcia@gmail.com#Gracias
config.cfg
FOLDER=/home/mtx/Imágenes/Wallpapers/02Wallpapers/
SLEEP=10m

Si entendieron el codigo, el programa principal es "WallChanger.sh" es el encargado de buscar la carpeta, con los Wallpapers, elegir al azar y cambiarlo cada un cierto tiempo. Se preguntaran porque cree "WallChangerIndex.sh" Ese para mi es el proceso inicial del programa, busca si esta ejecutado "WallChanger.sh" y si lo esta lo cierra, y/o cierra todo proceso con ese nombre, y lo vuelve a abrir, si no lo esta, lo abre por primera vez. ¿Porqué? Lo hice para cuando hay un Wall que no te gusta, o lo queres cambiar, entonces, al ejecutar este file, es como que inicia TODO de nuevo, cierra el WallChanger.sh anterior y lo vuelve a abrir, buscando otro Wall, se entiende? Es mas, yo para ejecutar el programa, abro directamente ese archivo, o mejor, como tengo hecho, en los procesos iniciales, al arrancar ubuntu. Entonces se maneja solo el programa, y cuando no me gusta un wall, lo cambio con "WallChangerIndex.sh" Tambien quisiera aclarar que yo lo tengo al acceso directo en el escritorio "COMO APLICACION" no como "APLICACION EN TERMINAL" asi no molesta la ventana del terminal...

Para ser mi primer minisoft creo que va bien, con el tiempo lo iré modificando, y agregando cosas, espero que les guste, y les sirva, si les interesaria aportar con ideas, sugerencias, reportar bugs, manden al mail => maati.ga*rcia=@ gmail.com" (SIN EL ESPACIO, NI EL ASTERISCO, NI EL SIGNO DE IGUALDAD, PARA EVITAR SPAM)



No hay comentarios:

Publicar un comentario