[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 108.   MagicPoint

MagicPoint (1) è un applicativo molto semplice che permette di realizzare delle presentazioni preparando una sorta di script che viene interpretato dal programma mgp. MagicPoint può avvalersi delle librerie VFlib, (2) per la visualizzazione di caratteri delle lingue orientali (giapponesi e altre).

In generale, la cosa importante da apprendere del funzionamento di MagicPoint è proprio la sintassi dei comandi che possono essere inseriti nello script della presentazione.

In condizioni normali, una volta avviata l'esecuzione della presentazione, MagicPoint prende il controllo della stazione grafica, cosa che impedisce di utilizzare il mouse e la tastiera per altri scopi (in pratica non è possibile passare ad altre applicazioni). In particolare, MagicPoint sfrutta tutta la superficie grafica della finestra principale; in questo senso non è adatto a funzionare con un monitor in cui si ha solo una visualizzazione parziale di questa (la superficie virtuale).

Come accennato, quando è in funzione MagicPoint, il mouse e la tastiera servono esclusivamente per interagire con questo. La tabella 108.1 riassume i comandi disponibili da tastiera. In generale bisogna ricordare che la [barra spaziatrice] permette di passare alla scena successiva, così come il primo tasto del mouse; il tasto [p] e il terzo tasto del mouse permettono di passare alla scena precedente; infine, il tasto [q] termina il funzionamento di MagicPoint.

Tabella 108.1. Riepilogo di alcuni comandi di MagicPoint che possono essere impartiti da tastiera.

Comandi Effetto
[barra spaziatrice], [n], [n], [j], [freccia giù], clic con il primo tasto del mouse Avanza alla scena successiva.
[backspace], [canc], [p], [k], [freccia su], clic con il terzo tasto del mouse Ritorna alla scena precedente.
[Esc], [q] Termina l'esecuzione.
n[g] Passa alla scena n-esima.
[Ctrl] Mostra l'elenco delle scene disponibili.
[G] Abilita o disabilita la guida alle scene.
[x], clic con tasto centrale del mouse Attiva o disattiva la modalità di modifica della scena, mostrando una penna in corrispondenza del puntatore del mouse.
[l], [Ctrl+l] Cancella i segni disegnati con la penna virtuale del comando [x].
[X] Cambia il colore della penna durante la modalità di modifica.
[Ctrl+r] Ricarica il file della presentazione.

Durante l'esecuzione è possibile disegnare con il mouse, attivando la funzionalità attraverso il tasto [x], oppure facendo un clic con il secondo tasto del mouse (quello centrale). I disegni che si fanno in questo modo non vengono salvati e servono solo per indicare qualcosa mentre si esegue la presentazione. Per riportare il mouse al suo funzionamento normale si può ripetere l'uso del tasto [x], oppure si può rifare un clic con il secondo tasto del mouse.

108.1   Avvio della presentazione

La presentazione viene eseguita dall'eseguibile mgp, oppure da mgpnet (che comunque poi si avvale anche del primo):

mgp [opzioni] file_mgp
mgpnet [opzioni] file_mgp

Il primo dei due eseguibili si limita a mostrare la presentazione sul terminale grafico attivo; in base alle opzioni utilizzate, può ricoprire tutta la superficie grafica, oppure può limitarsi a funzionare in una finestra comune. Il secondo, avvia a sua volta mgp per la visualizzazione locale, ma mette a disposizione l'immagine della scena in corso attraverso il protocollo HTTP, precisamente alla porta 9 999. In pratica, la platea può collegarsi all'elaboratore che esegue la presentazione, usando l'indirizzo http://host:9999: a intervalli regolari l'immagine della presentazione viene ricaricata automaticamente.(3)

In condizioni normali, basta indicare il nome del file per iniziare la presentazione, senza l'indicazione di opzioni particolari; tuttavia la tabella 108.2 riepiloga quelle più comuni.

Tabella 108.2. Alcune opzioni per l'uso di mgp o mgpnet.

Opzione Descrizione

-d

Esegue la presentazione rapidamente e in modo automatico, al solo scopo di permettere una verifica rapida.

-o | -O

Esegue la presentazione in una finestra, rispettando il gestore di finestre stesso. In particolare, -O utilizza una finestra meno decorata.

-g geometria

Esegue la presentazione in una finestra, delle dimensioni specificate dalla geometria.

-S

Disabilita l'avvio di comandi del sistema operativo all'interno dei file delle presentazioni. Si tratta di una misura di sicurezza da attuare tutte le volte in cui non si è sicuri del contenuto di questi file.

-x vflib

Esclude l'uso delle librerie necessarie alla visualizzazione dei caratteri orientali. È necessaria questa opzione quando le librerie non sono installate.

-D directory

Crea una serie di file nella directory indicata corrispondenti alla presentazione in formato HTML.
Esempi

mgp /usr/share/doc/mgp/examples/tutorial.mgp

Avvia la presentazione del file /usr/share/doc/mgp/examples/tutorial.mgp.

mgp -S /usr/share/doc/mgp/examples/tutorial.mgp

Come nell'esempio precedente, impedendo l'avvio di comandi del sistema operativo richiesti dalle istruzioni contenute in /usr/share/doc/mgp/examples/tutorial.mgp.

mgp -g 640x480 /usr/share/doc/mgp/sample/ascii.mgp

Come nel primo esempio, avviando MagicPoint in una finestra di 640×480 punti.

108.2   Conversione della presentazione

Una presentazione può essere convertita facilmente in una sequenza di file HTML, attraverso l'opzione -D di mgp. Per esempio,

mgp -D /tmp/tutorial /usr/share/doc/mgp/examples/tutorial.mgp

Genera una serie di file nella directory /tmp/tutorial/, a partire dalla presentazione contenuta in /usr/share/doc/mgp/examples/tutorial.mgp. In particolare, sono disponibili anche delle riduzioni in formato testo puro. Per esempio, mgp00001.html rappresenta la prima scena della presentazione, dove il file HTML incorpora il file mgp00001.jpg corrispondente all'immagine della scena stessa, mentre il file mgp00001.txt rappresenta una semplificazione della scena in formato testo.

È disponibile anche mgp2ps per la conversione in PostScript. Il suo funzionamento è abbastanza semplice:

mgp2ps [opzioni] file_mgp

Si osservi che se non viene specificato diversamente attraverso le opzioni, il risultato della trasformazione viene emesso attraverso lo standard output.

Tabella 108.3. Alcune opzioni per l'uso di mgp2ps.

Opzione Descrizione

-r

Inverte la sequenza delle pagine.

-c

Mantiene i colori di partenza.

-f file_ps

Definisce il file PostScript che si vuole creare.

-p [a3|a4|a5|b5<-'
`->|A3|A4|A5|B5|letter|legal|ledger<-'
`->|tabloid|statement<-'
`->|executive|folio|quarto|10x14]

Definisce il formato della carta attraverso una parola chiave. Il formato predefinito è A4.

-x margine_orizzontale

 

-y margine_verticale

Definisce il margine espresso in punti PostScript.

L'esempio seguente trasforma la presentazione contenuta nel file /usr/share/doc/mgp/examples/tutorial.mgp in un file PostScript denominato tutorial.ps.

mgp2ps -f tutorial.ps /usr/share/doc/mgp/examples/tutorial.mgp

108.3   File di presentazione

Le regole per la realizzazione del file di presentazione sono il punto più delicato di MagicPoint. Qui viene descritto solo il minimo indispensabile per comprenderne il funzionamento. Per una descrizione completa occorre leggere i file che accompagnano MagicPoint, per esempio /usr/share/doc/mgp/SYNTAX.

In generale si possono distinguere le righe di commento, i comandi e le righe contenenti del testo. Le righe vuote e quelle bianche sono prese in considerazione come del testo normale. I commenti iniziano con una sequenza di due segni di percentuale (%%), collocati esattamente all'inizio della riga, mentre i comandi iniziano con un solo simbolo di percentuale seguito immediatamente dal nome del comando stesso. Il simbolo # può essere usato ugualmente come prefisso per un commento.

Le righe di testo normale sono quelle che non possono essere riconosciute come commenti, né risultano essere identificate come dei comandi. Teoricamente, un blocco di testo è quello che occupa una riga, qualunque sia la sua ampiezza. Quando si utilizza il comando %leftfill, MagicPoint provvede a riorganizzarlo in base alle dimensioni del carattere. Volendo, nel file di presentazione è possibile continuare le righe utilizzando la barra obliqua inversa (\) subito prima del codice di interruzione di riga alla fine della riga. Sono importanti anche gli incolonnamenti del testo: se una riga inizia dopo un carattere di tabulazione, si intende trattarsi di una voce di un elenco puntato; di conseguenza, due caratteri di tabulazione indicano l'inizio di un sottoelenco.

Per semplificare il compito di chi vuole usare MagicPoint senza troppi problemi esiste un pezzo di configurazione standard. Questo può essere incorporato attraverso il comando %include nella parte iniziale del file, il preambolo, come si vede nell'esempio seguente che mostra l'inizio normale di un file di presentazione.


%include "default.mgp"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page

L'istruzione %include "default.mgp" definisce l'inclusione del file default.mgp (che dovrebbe trovarsi nella directory /usr/X11R6/lib/X11/mgp/). Il contenuto di questo file predefinito dovrebbe essere quello che si vede qui sotto:


%deffont "standard"   tfont "standard.ttf",   tmfont "kochi-mincho.ttf"
%deffont "thick"      tfont "thick.ttf",      tmfont "goth.ttf"
%deffont "typewriter" tfont "typewriter.ttf", tmfont "goth.ttf"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Default settings per each line numbers.
%default 1 area 90 90, leftfill, size 2, fore "white", back "black", font "thick"
%default 2 size 7, vgap 10, prefix " "
%default 3 size 2, bar "gray70", vgap 10
%default 4 size 5, fore "white", vgap 30, prefix " ", font "standard"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Default settings that are applied to TAB-indented lines.
%tab 1 size 5, vgap 40, prefix "  ", icon box "green" 50
%tab 2 size 4, vgap 40, prefix "      ", icon arc "yellow" 50
%tab 3 size 3, vgap 40, prefix "            ", icon delta3 "white" 40

Tuttavia, potrebbe essere conveniente farne a meno le prime volte, perché il suo utilizzo, tale e quale come si vede, richiede un'ottima conoscenza del significato dei suoi comandi. Per cominciare conviene forse utilizzare il preambolo seguente, in sostituzione dell'inclusione di questo file.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%default 1 size 6, leftfill, fore "white", back "black"
%tab 1 size 6, vgap 40, prefix "  ", icon box white 50
%tab 2 size 5, vgap 40, prefix "      ", icon arc white 50
%tab 3 size 4, vgap 40, prefix "            ", icon arc white 40
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page

Il comando %default 1 serve a definire l'aspetto predefinito della prima riga di ogni scena (pagina). Se ci fossero altri comandi %default n, questi servirebbero a descrivere le righe successive. L'ultima dichiarazione fatta in questo modo si riferisce anche alle righe successive restanti. Intuitivamente si comprende che l'argomento size 5 serva a definire la dimensione dei caratteri (in questo caso il numero cinque rappresenta solo una dimensione relativa: valori maggiori si riferiscono a caratteri più grandi). Gli altri argomenti che sono stati separati attraverso delle virgole, sono dei comandi che altrimenti andrebbero indicati con il prefisso % e fanno tutti riferimento alle caratteristiche della riga in questione.

I comandi %tab n servono a definire le caratteristiche delle righe che iniziano con n caratteri di tabulazione. Da quello che si vede dall'esempio, %tab 1 fa sì che venga usato un carattere di dimensione cinque e venga adoperato un quadratino bianco grande il 50 % rispetto al testo.

Sarebbe facile sostituire il colore dello sfondo e quello del testo, per esempio si potrebbero invertire. Tuttavia questo non è conveniente, a meno che ci sia qualche tipo di esigenza, dal momento che le informazioni che si ottengono con il comando [G] risulterebbero poco visibili.

Dopo il preambolo, inizia la definizione delle singole scene, ovvero delle pagine. Ognuna di queste è introdotta dal comando %page. Dopo questo comando possono essere inseriti altri comandi che riguardano l'aspetto della singola scena; quindi si possono alternare delle righe di testo con altri comandi. È importante osservare che la prima riga di testo non vuota viene trattata come il titolo della scena; questo è ciò che viene mostrato quando si usa il tasto [G] per visualizzare quelli delle scene adiacenti.

Quello che segue è l'esempio di un file di presentazione piuttosto semplice, con sei scene complessive, dove in particolare si vede l'uso dei comandi per le inserzioni di immagini, per l'esecuzione di comandi del sistema operativo e per l'avvio di processi paralleli. Eventualmente, un esempio dello stesso tipo, ma più raffinato, può essere trovato tra i file della documentazione di MagicPoint: /usr/share/doc/mgp/examples/tutorial.mgp.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%default 1 size 6, leftfill, fore "white", back "black"
%tab 1 size 6, vgap 40, prefix "  ", icon box white 50
%tab 2 size 5, vgap 40, prefix "      ", icon arc white 50
%tab 3 size 4, vgap 40, prefix "            ", icon arc white 40
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
%center
MagicPoint


%leftfill
Un programma applicativo per realizzare facilmente delle presentazioni.

%center
%size 5
Premere la barra spaziatrice per continuare.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Come si usa

        la scena successiva si ottiene con un clic del primo tasto \
del mouse
        la scena precedente si ottiene con un clic del terzo tasto \
del mouse
        si termina la presentazione con il tasto [q]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Inserzione immagini

%center
%image "esempio.jpg"

Si possono usare il formato GIF e JPG.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Comandi del sistema

ls -l /
%size 3, prefix " "
%filter "ls -l /"
%endfilter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Avvio di sottoprocessi
%system "xeyes -geometry %50x20+40+10"








I sottoprocessi avviati con il comando %system potrebbero servire \
per inserire della musica o per visualizzare dei filmati.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%page
Fine
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

La terza scena dovrebbe apparire come si vede nella figura 108.1.

Figura 108.1. La sesta scena della presentazione di esempio.

figure/a2-MagicPoint-esempio

La tabella 108.4 riepiloga brevemente alcuni comandi che possono essere usati nei file delle presentazioni.

Tabella 108.4. Riepilogo semplificato di alcuni comandi che possono essere utilizzati nei file di presentazione di MagicPoint.

Comando Effetto

%default n lista_direttive

Indica le caratteristiche della riga n-esima di ogni scena.

%tab n lista_direttive

Indica le caratteristiche della tabulazione n-esima.

%page

Indica l'inizio di una nuova scena (pagina).

%pause

Pausa in attesa di proseguire nella scena attuale.

%xfont "carattere"

Stabilisce il nome del carattere secondo X.

%size n

Definisce la dimensione relativa del carattere.

%fore "colore"

Definisce il colore di primo piano.

%back "colore"

Definisce il colore dello sfondo.

%left

Allinea a sinistra senza suddividere la riga.

%right

Allinea a destra senza suddividere la riga.

%center

Centra la riga senza suddividerla.

%leftfill

Allinea a sinistra suddividendo in più righe se necessario.

%nodefault

Annulla l'effetto delle direttive default.

%image file

Inserisce un'immagine.

%bimage file

Inserisce un'immagine come sfondo.

%system "comando"

Avvia un processo parallelo.

%filter "comando"

Avvia un processo mostrando lo standard output.

%endfilter

Conclude un comando %filter.

%image "file_immagine"

Inserisce l'immagine corrispondente al file indicato.

%anim "file_animazione"

Inserisce un'animazione (formato MNG).

%charset iso8859-n

Definisce l'insieme di caratteri usato.
Appunti di informatica libera 2003.01.01 --- Copyright © 2000-2003 Daniele Giacomini -- daniele @ swlibero.org

1) MagicPoint   licenza BSD modificata senza il riferimento all'università di Berkeley

2) VFlib   GNU GPL

3) Per la precisione, mgpnet cattura l'immagine della finestra che contiene la presentazione e la inserisce in un file PNG a cui il file HTML fa poi riferimento. Tra le altre cose, il fatto che si utilizzi il formato PNG esclude anche l'utilizzo di un navigatore troppo vecchio.


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome magicpoint.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]