Creare gli sfondi animati di Enlightenment (E17) »
Uno degli aspetti più incredibili del window manager Enlightenment DR17 è indubbiamente, l’utilizzo di sfondi animati, renderizzati ricorrendo alle Edje, le librerie base di E17 stesso. Chi usa questo ambiente si sarà sicuramente chiesto: «Come si fanno questi sfondi animati?». Ovviamente, usando l’Edje stesso, ma il problema è che non ci sono guide rivolte a chi volesse imparare a crearli, l’unica risposta che si trova in giro in rete è «Decompilali e smanetta sul codice».
MadnessMike, attivissimo sviluppatore Opengeu, ha realizzato una guida che permette di realizzare uno semplice sfondo animato, con sfondo statico, un piccolo logo che cambia continuamente colore e alcune stelle che brillano ciclicamente. A dire il vero, il tutto è già fatto, ma leggendo i commenti sul codice e le spiegazioni su questa guida, non dovreste aver problemi a realizzare il vostro sfondo.
Innanzitutto, scaricate e decomprimete il codice esempio utilizzato in questo articolo tramite questi semplici comandi:
wget http://repo.intilinux.com/opengeu/geurainbow.tar.gz
tar zxvf geurainbow.tar.gz
Adesso aprite il file “geurainbow.edc” presente nella cartella geurainbow, che contiene il codice usato per la realizzazione dello sfondo.
Strutturalmente, è costituito da due sezioni principali: Images, che contiene le immagini che verranno usate dallo sfondo, e Collections, contenente i vari oggetti dello sfondo e programmi.
Concentriamoci sul gruppo Images, come vedete è strutturato più o meno così:
images {
image: "background.png" FRAME;
image: "1.png" FRAME;
image: "2.png" FRAME;
image: "3.png" FRAME;
image: "4.png" FRAME;
image: "5.png" FRAME;
image: "6.png" FRAME;
image: "7.png" FRAME;
....
}
Qui non dovreste aver grossi problemi nel capire il loro utilizzo, permette di caricare in memoria le varie immagini costituenti lo sfondo, che devono essere posizionate ovviamente nella stessa cartella in cui si trova il file edc.
Passiamo ora alla prossima sezione, Collections, suddivisa solo in un gruppo “group” che contiene a sua volta le sezioni “parts” e “programs”, la struttura è simile a questa:
collections{
group {
name: "e/desktop/background";
parts {
part{
....
}
part{
....
}
}
programs {
program {
....
}
program {
...
}
}
}
}
Analizziamo ora le sezioni “part” per la stesura dello sfondo e della piccola animazione nel mezzo; iniziamo proprio dallo sfondo:
part {
name: "background_image";
type: IMAGE;
mouse_events: 0;
description {
state: "default" 0.00;
visible: 1;
image {
normal: "background.png";
}
}
}
La riga che ci interessa maggiormente è «normal: “background.png”;», questa contiene il nome del file dello sfondo.
Invece per le componenti animate, la struttura è simile a questa:
Code:
part {
name: "logo";
description {
state: "default" 0.0;
min: 149 130; //inserire le dimensioni esatte dei vari "fotogrammi" del componente animato
max: 149 130; // pure qui!
align: 0.5 0.5; //questa è la posizione (in percentuale) dell'oggetto sullo sfondo
image {
normal: "37.png";//i "fotogrammi" dell'animazione; normal è l'immagine in cui inizia e termina il ciclo
tween, "1.png";
tween, "2.png";
tween, "3.png";
tween, "4.png";
tween, "5.png";
tween, "6.png";
tween, "7.png";
tween, "8.png";
tween, "9.png";
tween, "10.png";
.....
tween, "36.png";
tween, "37.png";
}
}
}
Qui le linee da approfondire sono già commentate, quindi non dovreste avere particolari problemi nell’interpretazione.
Passiamo ora all’ultima sezione, quella dei programmi, che sono strutturati così:
Code:
program {
name: "logo_rotator"; //nome del programma
signal: "show";
source: "";
action: STATE_SET "default" 0.0;
transition: LINEAR 4.0; //Il numero rappresenta la durata dell'animazione in secondi
target: "logo"; //imposta l'istanza su cui avverrà l'animazione
after: "logo_rotator"; //programma da eseguire al termine (in questo caso, rieseguendo sempre lo stesso pezzo, generiamo un loop)
}
Pure qui i commenti dovrebbero essere sufficientemente esaustivi.
Una volta apportate le modifiche alle immagini ed al codice, procediamo con la compilazione con il comando di shell:
edje_cc nomefile.edc
Verrà generato un file di nome nomefile.edj.
A questo punto, mettiamo il file edj appena creato nella cartella
~/.e/e/backgrounds
apriamo il gestore sfondi e selezioniamo quello appena creato da noi, se non ci sono errori, nella casella di anteprima lo sfondo dovrebbe visualizzarsi.
Per maggiori chiarimenti è possibile fare domande direttamente nel forum di sviluppo di opengeu oppure nel sito ufficiale dell’autore.
Se sei alle prime armi con Linux fai la tua richiesta alla sezione Help per inesperti su InTiLinuX Forum.




2 commenti
Molto utile la guida.
Semplice e chiara anche per… me che ho qualche difficoltà con Enlightenment dr17.
Ciao
Stefano
Vorrei creare uno sfondo tutto mio per avere un’ idea sul fatto che non date i file richiesti.IO VOGLIO CREARMI LO SFONDO ANIMATO A..NI..MA..TOOOOOO……………