Linux-magazine.it Forum
Maggio 24, 2012, 03:40:37 pm *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?
 
Pagine: 1 [2]   Vai giù
  Stampa  
Autore Discussione: Script per Slideshow di immagini sul desktop  (Letto 2525 volte)
0 utenti e 2 Utenti non registrati stanno visualizzando questa discussione.
Morfeo
Sr. Member
****

Karma: +1/-1
Scollegato Scollegato

Messaggi: 374



Mostra profilo E-mail
« Risposta #15 inserita:: Gennaio 13, 2011, 05:30:47 pm »

Chiarissimo...Sorriso per lo script non aveo dubbi...qualcuno in più per l'XML ... Occhiolino

..però se devo essere sincero non succede nulla...e ti riporto l'esempio di due output..ho letto il codice e mi sembra chiaro...magari sbaglio a rispondere qualche domanda  Occhi al cielo...... Ghigno

Citazione
:~/Pictures$ ./slide.sh
Durata in secondi di ogni immagine: 5
Vuoi inserire una transizione tra un'immagine e l'altra? (s,n): s
Quanti secondi deve durare la transizione? 2
.jpg
1 - 12
2 - 12
.jpeg
1 - 12
.png
1 - 12
2 - 12
3 - 12
4 - 12
5 - 12
6 - 12
7 - 12
8 - 12
9 - 12
Vuoi usare la slideshow come sfondo? (s,n): s
~/Pictures$

...ma non succede nulla...
Registrato

./configure
  make
  make install
radioresa
Newbie
*

Karma: +2/-0
Scollegato Scollegato

Messaggi: 25

radio.resa@hotmail.it
Mostra profilo
« Risposta #16 inserita:: Gennaio 13, 2011, 08:00:25 pm »

@Morfeo: È "normale" che non succeda nulla  Occhi al cielo grazie al tuo aiuto ho riguardato il codice e ho trovato un errore.
In pratica io effettuavo le prove sempre in una cartella con files tutti .jpg e nn si era mai verificata la tua situazione.
Se osservi l'output puoi notare che ci sono quei numeri: il primo è il numero progressivo dell'immagine importata e il secondo è il numero totale di immagini. Cambiando estensione il conteggio progressivo ripartiva da 1 con la consguenza di non avere mai, nel tuo caso, una immagine 12 - 12, l'immagine finale.

Posto il codice aggiornato
Codice:
#! /bin/bash

########################################################
## Script per creare slideshow per lo sfondo di Gnome ##
########################################################


#################################
## Definizione delle variabili ##
#################################

# Cartella attuale
cartella=$PWD

# File di output a scelta
output_file="slideshow.xml"

# Lista delle estensioni di file accettate
lista_estensioni=".jpg .jpeg .png"

for ext in $lista_estensioni; do
num_file=$(($(ls ${cartella} | grep -i $ext | wc -w) + num_file))
done


echo -n "Durata in secondi di ogni immagine: "
read durata

#########################################
## Controlla se la durata è un numero. ##
#########################################

if [ "$durata" != "$(echo $durata | grep "^[0-9]*$")" ]; then
echo "Valore non corretto."
sleep 3
exit
fi


echo -n "Vuoi inserire una transizione tra un'immagine e l'altra? (s,n): "
read risposta


#####################################################################################
## Controlla se è stata richiesta la transizione e verifica il valore della durata ##
#####################################################################################

if [ "${risposta}" = "s" ]; then
transizione="1"

echo -n "Quanti secondi deve durare la transizione? "
read tempo_transizione

if [ "$tempo_transizione" != "$(echo $tempo_transizione | grep "^[0-9]*$")" ]; then
echo "Valore non corretto."
sleep 3
exit
fi
elif [ "${risposta}" = "n" ]; then
transizione="0"
else
echo "Scelta errata."
sleep 3
exit
fi

###########################################################
## Cancella il file esistente se c'è e ne crea uno nuovo ##
###########################################################


if [ -e ${output_file} ]; then
rm ${output_file}
fi

touch ${output_file}

############################################
## Scrive sul file la prima riga dell'XML ##
############################################

echo "<background><starttime><year>2009</year><month>08</month><day>04</day><hour>00</hour><minute>00</minute><second>00</second></starttime>" >> ${output_file}

#########################################
## AGGIUNTA DELLE IMMAGINI AL FILE XML ##
#########################################

for estensioni in $lista_estensioni; do
echo ""
echo $estensioni
for elemento in $(ls ${cartella} | grep -i $estensioni); do
let c=$c+1
echo "$elemento ($c/$num_file)"
# Fatta eccezione per la prima immagine, completa il comando di transizione dell'immagine precedente
if [ "$c" != "1" ] && [ "$transizione" = "1" ]; then
echo "<to>${cartella}/${elemento}</to></transition>" >> ${output_file}
fi

echo "<static><duration>${durata}</duration><file>${cartella}/${elemento}</file></static>" >> ${output_file}

# Fatta eccezione per l'ultima immagine, inizia il comando di transizione dell'immagine attuale
if [ "$c" != "$num_file" ] && [ "$transizione" = "1" ]; then
echo "<transition type=\"overlay\"><duration>${tempo_transizione}</duration>" >> ${output_file}
echo "<from>${cartella}/${elemento}</from>" >> ${output_file}
fi
done
done

##########################################
## Chiude il file XML con </background> ##
##########################################

echo "</background>" >> ${output_file}

#######################################################
## Chiedo se si vuole usare la slideshow come sfondo ##
#######################################################

echo -n "Vuoi usare la slideshow come sfondo? (s,n): "
read risposta2

if  [ "${risposta2}"="s" ]; then
/usr/bin/gconftool-2 -t string -s /desktop/gnome/background/picture_filename ${cartella}/${output_file}
fi
Registrato
Morfeo
Sr. Member
****

Karma: +1/-1
Scollegato Scollegato

Messaggi: 374



Mostra profilo E-mail
« Risposta #17 inserita:: Gennaio 14, 2011, 09:56:51 am »

Occhiolino infatti ho volutamente fatto il test su una cartella dove ci sono anche file .tar e altre estensioni per capire se avrebbe dato problemi...

 Ghigno

ora provo... Occhi al cielo
Registrato

./configure
  make
  make install
Pagine: 1 [2]   Vai su
  Stampa  
 
Vai a: