Script VideoFondo.sh: Coloca vídeos de wallpaper gráficamente
Hace unos días navegando por el blog de catrip me encontré con un pequeño scritp diseñado para manejar de forma fácil xwinwrap (programilla para colocar como fundo de escritorio imágenes animadas, vídeos o incluso tu propia webcam).
El script hace uso de Zenity para manejar de forma gráfica y mediante opciones la forma en la que se presentará el fondo de pantalla de tu ordenador.
Ese día no tenía mucho que hacer así que lo retoqué un poco y se lo envíe, a el le pareció correcto colgarlo en su web como una mejora y ahora yo lo cuelgo aquí por si alguno de los pocos visitantes de este blog les sirve para algo
EDITADO (01/02/2010): Ahora acepta seleccionar varios vídeos para para poner en cola al reproducir.
#!/bin/bash
#########################################################
# #
# VideoFondo.sh #
# #
# Realizado inicialmente por Catrip <alktrip@gmail.com> #
# y retocado por aabilio <aabilio@gmail.com> #
# WTFPL <http://en.wikipedia.org/wiki/WTFPL> #
#########################################################
### OPCIONES ###
PARAM="-fs -sp -ni -nf -st -s -b -o"
dato1="Colocar un o varios vídeos como Wallpaper"
dato2="Colocar Screen Saver como Wallpaper"
dato3="Finalizar la reproducción"
dato4="Colocar webcam como Wallpaper"
dato5="Finalizar el programa"
con_sonido="Colocar vídeo con sonido"
sin_sonido="Colocar vídeo sin sonido"
BACK="Volver"
### FUNCIONES ###
function fun_opacidad {
opacidad=$(zenity --list --width="60" --height="415" --text "Selecciona una opción" --title "Nivel de Opacidad" --column "Opacidad" `for (( c=1; c<=9; c++ )); do echo -n "0.$c "; done` 1)
}
function fun_check {
if pidof xwinwrap > /dev/null ; then
killall xwinwrap
fi
}
function fun_typeson {
typeson=$(zenity --list --width="315" --height="260" --text "Opciones del vídeo" --title "Opciones" --column "Opción" "$con_sonido" "$sin_sonido" "$BACK")
if [ "$typeson" = "$sin_sonido" ]; then
SON=" -nosound"
fi
if [ "$typeson" = "$con_sonido" ]; then
unset SON
fi
if [ "$typeson" = "$BACK" ]; then
main
fi
}
### MAIN ###
function main
{
type=$(zenity --list --width="415" --height="260" --text "Indique la operación a realizar" --title "ScreenSaver, Vídeo o WebCam como Wallpaper" --column "Opción" "$dato1" "$dato2" "$dato4" "$dato3" "$dato5")
if [ "$type" = "$dato1" ]; then
fun_typeson
FILES=`zenity --file-selection \
--title="Selecciona el vídeo a colocar como Wallpaper" --multiple --separator=" "`
fun_opacidad
fun_check
exec xwinwrap $PARAM "$opacidad" -- mplayer -quiet -noconsolecontrols -loop 0$SON -wid WID $FILES
fi
if [ "$type" = "$dato2" ]; then
screen=$(ls /usr/lib/xscreensaver/ | zenity --list --width="60" --height="415" --text "Selecciona un ScreenSaver" --title "ScreenSavers" --column "ScreenSaver")
fun_opacidad
fun_check
exec xwinwrap -argb $PARAM "$opacidad" -- /usr/lib/xscreensaver/"$screen" -window-id WID
fi
if [ "$type" = "$dato3" ]; then
fun_check
fi
if [ "$type" = "$dato4" ]; then
fun_opacidad
fun_check
exec xwinwrap $PARAM "$opacidad" -- mplayer -wid WID -quiet -fps 30 tv:// -vf mirror
fi
if [ "$type" = "$dato5" ]; then
fun_check
exit;
fi
#Incluimos a main en un bucle infinito hasta que el USER cierre
main
}
#Llamamos a que se ejecute la function main:
main
Enlace | Descarga el script (VideoFondo.sh) junto con un xwinwrap compilado para amd64.
Enlace | Descargar un .deb con Xwinwrap para 32 bits.
Enlace | Para todo lo demás (requisitos del script, vídeo de funcionamiento, enlaces…) visitar la web de Catrip.








Comentarios recientes