Inicio > GNU/Linux, Software Libre, códigos, software > Script VideoFondo.sh: Coloca vídeos de wallpaper gráficamente

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.

GNU/Linux, Software Libre, códigos, software

  1. CoNtRaStE
    24 de Noviembre de 2009 a las 01:39 | #1

    aabilio y catrip, quexcelente aporte, sinceramente ese script ha superado todas mis expectativas ahora si se reproduce excelentemente bien cualquier video osalvapantallas como fondo y se ve excelente!!!.

    Los felicito por ese aporte.

    Y definitivamente Linux siempre a la vanguardia.

    Saludos y excelente aporte.

  1. Ningún tracback.