Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Cervantes_xD en 27 Enero 2010, 15:52 pm



Título: Script para fluxbox, cambia sólo el fondo de pantalla como en Win7
Publicado por: Cervantes_xD en 27 Enero 2010, 15:52 pm
(http://i49.tinypic.com/35m3aea.png)

Código
  1. #!/bin/bash
  2. #-----------------------------------------------------#
  3. # Pequeño scrip para alternar los fondos de pantalla
  4. # en fluxbox 0.1 (pendiente de mejor nombre...)
  5. # Gracias a cousteau y erUSUL (#ubuntu-es)
  6. #-----------------------------------------------------#
  7. # Aquí van las variables que contienen la ruta de nuestras imágenes
  8. img1=ruta_de_la_imagen
  9. img2=ruta_de_la_imagen
  10. img3=ruta_de_la_imagen
  11. img4=ruta_de_la_imagen
  12. img5=ruta_de_la_imagen
  13. img6=ruta_de_la_imagen
  14. img7=ruta_de_la_imagen
  15. img8=ruta_de_la_imagen
  16. #img9=ruta_de_la_imagen
  17. #img10=ruta_de_la_imagen
  18. # Fin de declaración de variables que contienen la ruta de
  19. # nuestras imágenes
  20.  
  21. tiempo=30
  22. # Tiempo entre imagen e imagen de fondo, para alternar, en segundos
  23.  
  24. for i in 'seq 1 2';
  25. do
  26. #Puede ser 2 veces o las que se quiera :P
  27. # creo que el for aún no funciona del todo bien :P
  28.  fbsetbg -f "$img1"
  29.  sleep $tiempo
  30.  
  31.  fbsetbg -f "$img2"
  32.  sleep $tiempo
  33.  
  34.  fbsetbg -f "$img3"
  35.  sleep $tiempo
  36.  
  37.  fbsetbg -f "$img4"
  38.  sleep $tiempo
  39.  
  40.  fbsetbg -f "$img5"
  41.  sleep $tiempo
  42.  
  43.  fbsetbg -f "$img6"
  44.  sleep $tiempo
  45.  
  46.  fbsetbg -f "$img7"
  47.  sleep $tiempo
  48.  
  49.  fbsetbg -f "$img8"
  50.  sleep $tiempo
  51. done
  52. exit
  53.  

El tiempo es ajustable, así como la cantidad de imágenes que quieras poner de fondo, así que para los sibaritas que les gustan cambiar de fondo cada X minutos sólo tienen que poner las rutas de sus imágenes y a darle guerra :P

P.D: Sé que es lo más cutre del mundo, pero es mi primer script :P creo que sobra eso de que hay que darle permisos de escritura (chmod +x ó chmod 755 :P), pequeño aporte para la comunidad fluxbox que aunque no lo parezca somos bastantes :)

Un saludo


Título: Re: Script para fluxbox, cambia sólo el fondo de pantalla como en Win7
Publicado por: Festor en 27 Enero 2010, 17:54 pm
Buen aporte! Está divertido esto de los scripts en bash...  ;D

Aquí te dejo lo que me refería por mp que se podía mejorar:

Código
  1. #!/bin/bash
  2.  
  3. # Directorio de fondos de pantalla
  4. img_dir=~/Imagenes
  5. # Tiempo de transiccion entre cada imagen
  6. tiempo=30
  7. # Numero de veces que se repite la secuencia una vez
  8. # que todas las imagenes pasaron como fondos de pantalla
  9. numero_de_veces=50
  10.  
  11. cd $img_dir
  12.  
  13. for i in `seq 1 $numero_de_veces`; do
  14. for i in `ls *.{jpg,png}`; do
  15.   fbsetbg -f $i
  16.   sleep $tiempo
  17. done
  18. done
  19.  
  20. exit

De esta forma pierdes un poco de control a la hora de que fondos quieres poner...

Pero si dichos fondos los tienes almacenados en un directorio concreto entonces haces (casi) lo mismo pero con menos codigo... y digo casi ya que aun se podría mejorar...  ;)

Por ejemplo si en ~/Imagenes no existiera ninguna imagen con png o jpg el comando ls devolvería error...

P.D. No lo he testeado mucho así que agradecería cualquier informe de error aunque sólo sea por aprender ya que no uso FluxBox como gestor de ventanas por defecto...


Título: Re: Script para fluxbox, cambia sólo el fondo de pantalla como en Win7
Publicado por: Cervantes_xD en 27 Enero 2010, 18:02 pm
Pues funciona bastante bien :D

P.D: Esto del shell scripting es perfecto para aprender a manejar la consola :P