sábado, 8 de enero de 2011

ROTAR FONDOS CON GNOME Y BASH

# fondorotar.sh
# Por Paco Aldarias
# 8.1.11
# Esta función rota los fondos del escritorio gnome

usuario="/home/paco"
dirfondos="/media/sda5/fotos"

lanzador="$usuario/Escritorio/Fondo.desktop"
icono="pitivi"

fimagenes="/tmp/fimagenes.txt"
ftot="/tmp/ftot.txt"

#***********************
function lanzador
{
echo "#!/usr/bin/env xdg-open" > $lanzador
echo "[Desktop Entry]">> $lanzador
echo "Version=1.0">> $lanzador
echo "Type=Application">> $lanzador
echo "Terminal=false">> $lanzador
echo "Icon[es_ES]=pitivi">> $lanzador
echo "Exec=bash /home/paco/fondorotar.sh">> $lanzador
echo "Name[es_ES]=Fondo $1">> $lanzador
echo "Icon=gparted">> $lanzador
echo "Name=Fondo $1">> $lanzador
}

#***********************
function cambia
{
gconftool-2 -t str -s /desktop/gnome/background/picture_filename $1
#Possible values are "none", "wallpaper" (eg tiled), "centered", "scaled", "stretched"
gconftool-2 -t string -s /desktop/gnome/background/picture_options "stretched"
}

#***********************
function numero
{
num=$1
tema=$(cat $fimagenes | sed -n ${num}L)
cambia "$tema"
lanzador "$tema"
}

#***************** MAIN

# Si no existe lo crea
if [ ! -f $fimagenes ]; then
find $dirfondos -iname '*.jpg' -o -iname '*.png' -o -iname '*.svg' > $fimagenes
cat $fimagenes | wc -l > $ftot
fi

# Total de fondos.
tot=$(cat $ftot)

# Numero aleatorio
num=$(($RANDOM%$tot))
numero $num

No hay comentarios:

Publicar un comentario