È permesso riprodurre e distribuire copie di questo manuale, a condizione che rimanga intatto su tutte le copie il copyright e l'avviso del permesso stesso.

Non viene data alcuna garanzia che i programmi descritti in questo manuale siano affidabili al 100%. State usando questo materiale a vostro proprio rischio. L'autore non può essere fatto responsabile per danni causati dall'utilizzo di questi programmi.

Questo pacchetto è distribuibile gratuitamente, fermo restando il copyright dell'autore, Enrico Fedrigo. Ciò significa che è possibile copiarlo liberamente senza richiedere più di un costo simbolico di copia. Questo costo non deve essere superiore ai 5$ US.

È permesso includere questo pacchetto in collezioni di Public-Domain, in particolare nella Fred Fish Amiga Disk Library (inclusa la versione CD ROM). Il file di distribuzione può essere messo a disposizione nei Bulletin Board Systems o siti FTP. Se si vuole distribuire questo programma deve essere utilizzato l'archivio originale  Assigns1_1.lha.

Assigns v1.1
************

Copyright
*********

Copyright © 1993

È permesso riprodurre e distribuire copie di questo manuale, a condizione che rimanga intatto su tutte le copie il copyright e l'avviso del permesso stesso.

Non viene data alcuna garanzia che i programmi descritti in questo manuale siano affidabili al 100%. State usando questo materiale a vostro proprio rischio. L'autore non può essere fatto responsabile per danni causati dall'utilizzo di questi programmi.

Questo pacchetto è distribuibile gratuitamente, fermo restando il copyright dell'autore, Enrico Fedrigo. Ciò significa che è possibile copiarlo liberamente senza richiedere più di un costo simbolico di copia. Questo costo non deve essere superiore ai 5$ US.

È permesso includere questo pacchetto in collezioni di Public-Domain, in particolare nella Fred Fish Amiga Disk Library (inclusa la versione CD ROM). Il file di distribuzione può essere messo a disposizione nei Bulletin Board Systems o siti FTP. Se si vuole distribuire questo programma deve essere utilizzato l'archivio originale  Assigns1_1.lha.

Indirizzo
*********

L'autore può essere raggiunto ai seguenti indirizzi:

Indirizzo postale

              Enrico Fedrigo
              via Giacomo Leopardi, 6
              31033 Castelfranco Veneto (Treviso)
                    ITALY

Posta elettronica su InterNet:

          fedro@sabrina.dei.unipd.it
          fedro@paola.dei.unipd.it

Introduzione
************

Assigns è un editor di preferenze che sopperisce ad una carenza del WorkBench.

Con Assigns non saranno più necessarie 20 o 30 righe di assegnamenti sulla vostra ``User-Startup'', ma una sola riga (o anche nessuna, see Installazione).

Assigns non è un ``Assign-Manager'', cioè non elimina l'uso del comando C:assign durante una normale sessione di lavoro.

Assigns è inteso come una utility da utilizzare al boot e gestisce correttamente tutti gli assegnamenti che volete trovare al prossimo reset della macchina. Può anche aggiungere assegnamenti come C:assign anche subito (e in questo senso Assigns è simile a C:assign) ma questi non possono essere rimossi.

Sto considerando l'aggiunta della capacità di rimozione degli assegnamenti: questo farebbe di Assigns un gestore completo (e non solo al boot) degli assegnamenti, ma questa operazione non sembra si possa fare in maniera pulita e anche il manuale del sistema operativo ne scoraggia l'uso (see Sviluppi futuri).

Del resto non esiste una chiamata a sistema operativo per rimuovere degli assegnamenti differiti (DEFER) o di percorso (PATH) e quindi non esiste una maniera ``legale'' di rimuoverli.

Assigns è il mio primo programma che ho deciso di rendere pubblico e per questo, sapendo che potrà essere usato da molti utenti, sono stato attento ad aderire a tutti gli standard Commodore. Perciò la finestra è font-sensitive e di tipo AppWindow, i file con cui opera sono IFF, risponde al comando ``version'', possiede sia l'interfaccia CLI che WorkBench e i menu sono gli stessi di tutte gli altri editor di preferenze.

Installazione
*************

L'installazione è molto semplice:

  - Copiate ``Assigns'' e ``Assigns.info'' nella directory ``SYS:prefs''. Se il vostro processore è il 68030 o 68040 potete utilizzare una versione ottimizzata per questi processori nominata ``Assigns.030''. Potete copiare questa versione rinominandola ``Assigns''.

  - Se è presente il catalogo nella vostra lingua, copiatelo in LOCALE:Catalogs/<lingua>. Se non lo è potete usare il catalogo vuoto Assigns.ct riempiendolo in tutti i suoi campi: se me lo spedite lo includerò nella prossima versione.

  - avviate Assigns

  - utilizzate l'opzione ``Leggi la lista di sistema'' del menu ``Editor''

  - Cancellate col bottone ``Canc'' tutti gli assegnamenti presenti nella assign list generati dal sistema che non avete modificato, che potrebbero essere:

          C: CLIPS: DEVS: ENV: ENVARC: FONTS:
          HELP: KEYMAPS: L: LIBS: LOCALE:
          PRINTERS: REXX: S: SYS: T:

  - Controllate se nella User-Startup o nella Startup-Sequence fate riferimento a qualche vostro assegnamento.

       * Se la risposta è no:

            - Salvate la lista nella directory ``SYS:WbStartup'' con ``Salva come...'' del menu ``Progetto''

       * Se la risposta è si:

            - Salvate la configurazione col bottone ``Salva''

            - Scrivete prima del primo riferimento ai vostri assegnamenti:

                    SYS:Prefs/Assigns USE

L'installazione è completata.

Uso
***

Assign possiede sia l'interfaccia CLI che l'interfaccia WB.

Specificando il flag ``EDIT'' o lanciando Assigns da WorkBench viene attivata la finestra di editing.

Lanciando il programma dall'icona, si può variarne il comportamento specificando alcuni tooltypes, che ricalcano i parametri disponibili da CLI. Naturalmente tali tooltypes possono essere indicati anche sulle icone progetto che Assigns ha creato e da cui può essere lanciato.

Per aggiungere un nuovo assegnamento è sufficiente clickare sul gadget `Agg' della Assign-List. Viene richiesto automaticamente un nuovo Target.

Se la directory che desiderate collegare con l'assegnamento non esiste ancora, è sufficiente uscire dal file requester con ``Annulla'': verrà attivato il gadget stringa in cui inserire a mano il target.

Si può poi impostare il tipo di assegnamento:

                ABSOLUTE
                DEFER
                PATH

Si può anche impostare se si vuole un avviso nel caso in cui l'assegnamento non vada a buon fine (Avvisa) oppure no.

Infine si può decidere se eseguire subito l'assegnamento utilizzando il bottone ``Immediato''. Questo è utile per poter impostare successivamente assegnamenti relativi ad altri assegnamenti: ``Assigns'' gestisce correttamente anche gli assegnamenti relativi. Se si è scelto il tipo ABSOLUTE, si potranno aggiungere altre Destinazioni clickando sul bottone ``Agg''. Il bottone ``Canc'' rimuove la destinazione indicata.

Un altro metodo per aggiungere destinazioni consiste nello scegliere l'assign nell'assign-list e poi nel prendere l'icona che termina il percorso voluto (directory o device) e lasciarla sopra la finestra di Assigns. Con questo metodo si possono indicare più destinazioni contemporaneamente.

Se l'icona era un file di preferenze valido, verrà caricato.

Clickando su una destinazione si può modificare il path attraverso il gadget stringa, oppure, con un doppio click, attraverso un file requester. Il doppio click si può fare anche sulla Assign-list

Altre possibilità sono offerte dai menu.

Infine gli ultimi tre bottoni:

`Salva'
     Salva su disco (ENVARC:)la configurazione, esegue gli assegnamenti ed esce.

`Usa'
     Salva su ram (ENV:) la configurazione, esegue gli assegnamenti ed esce. Tale configurazione non sarà disponibile al successivo boot.

`Annulla'
     Esce senza salvare e senza eseguire gli assegnamenti

Naturalmente, come ogni editor di preferenze anche Assigns può essere lanciato in una sola copia allo stesso tempo: lanciare una seconda copia produce il risultato di portare in primo piano la finestra di Assigns e attivarla.

Esecuzione da CLI
*****************

Da CLI, il template (ottenibile con `Assigns ?') è:

     FROM,EDIT/S,USE/S,SAVE/S,PUBSCREEN/K,BOX3D/S

     `FROM'
          indica il file da caricare al posto di ``ENV:Sys/Assign.prefs''. La chiave FROM può essere omessa e si può indicare semplicemente il file.

     `EDIT' [Default]
          Caricato il file delle preferenze, apre la finestra di editing e ne permette la modifica

     `USE'
          Caricato il file delle preferenze, esegue immediatamente gli assegnamenti ed esce.

     `SAVE'
          Salva permanentemente su ``ENVARC:Sys/Assign.prefs'' il file delle preferenze, esegue immediatamente gli assegnamenti ed esce.

     `PUBSCREEN' <pub screen name>
          Apre la finestra di editing sullo schermo pubblico indicato.

     `BOX3D'
          I due gruppi di gadget ``Assign'' e ``Destinazione'' sono contornati da un box à la NeXT. Dato che non si tratta di uno standard di Amiga, con questo flag lo si può escludere.

ToolTypes
*********

I ToolTypes messi a disposizione e che possono apparire anche sulle icone prodotte da Assigns sono:

     `EDIT' [Default]
          Caricato il file delle preferenze, apre la finestra di editing e ne permette la modifica

     `USE'
          Caricato il file delle preferenze, esegue immediatamente gli assegnamenti ed esce.

     `SAVE'
          Salva permanentemente su ``ENVARC:Sys/Assign.prefs'' il file delle preferenze, esegue immediatamente gli assegnamenti ed esce.

     `CREATEICONS=YES|NO' [Default = YES]
          Indica se creare oppure no anche un'icona con i files creati dall'opzione `Save As...' dei menu (see Menu).

     `PUBSCREEN=<pub screen name>'
          Apre la finestra di editing sullo schermo pubblico indicato.

     `BOX3D=YES|NO' [Default = YES]
          I due gruppi di gadget ``Assign'' e ``Destinazione'' sono contornati da un box à la NeXT. Dato che non si tratta di uno standard di Amiga, con questo flag lo si può escludere.

I Tooltype EDIT,USE e SAVE possono essere specificati anche nella forma:

     ACTION=EDIT | USE | SAVE

Menu
****

     `Progetto'

          `Apri...'
               Permette di caricare un file di preferenze salvato in precedenza.

          `Salva come...'
               Salva il contenuto delle liste. Se il flag CREATEICONS è YES, associa anche un'icona da cui si può far partire Assigns. Il tooltype (see ToolTypes) di default è `ACTION=USE'

          `Fine'
               Termina il programma

     `Editor'

          `Leggi la lista di sistema'
               Legge tutti gli assegnamenti presenti al momento attuale nel sistema, rilasciando eventuali assegnamenti editati fino a quel punto.

          `Ripristina ultimi valori'
               Ricarica gli assegnamenti salvati l'ultima volta in ENVARC: e rilascia gli eventuali assegnamenti editati fino a quel punto.

          `Annulla modifiche'
               Ricarica gli ultimi assegnamenti validi da ENV: e rilascia gli eventuali assegnamenti editati fino a quel punto.

     `Opzioni'

          `Genera icone'
               (Flag) Indica se associare o no un'icona al file generato con l'opzione ``Salva come...''. Allo startup prende il valore indicato dal tooltype (see ToolTypes) CREATEICONS; se non esiste per default vale YES

Distribuzione
*************

L'archivio completo con cui viene distribuito Assigns comprende:

     Assigns1.1.info
     Assigns1.1/Assigns                      * versione per ogni processore
     Assigns1.1/Assigns.030                  * versione ottimizzata per 68030/881
     Assigns1.1/Assigns.info
     Assigns1.1/Docs.info
     Assigns1.1/Docs/Italiano.doc            * documentazione in plain ASCII
     Assigns1.1/Docs/Italiano.doc.info
     Assigns1.1/Docs/Italiano.guide          * documentazione in AmigaGuide
     Assigns1.1/Docs/Italiano.guide.info
     Assigns1.1/Docs/Italiano.dvi            * documentazione in DVI
     Assigns1.1/Docs/Italiano.dvi.info
     Assigns1.1/Docs/Italiano.texi           * sorgente in TeXinfo
     Assigns1.1/Docs/Italiano.texi.info
     Assigns1.1/Docs/English.doc
     Assigns1.1/Docs/English.doc.info
     Assigns1.1/Docs/English.guide
     Assigns1.1/Docs/English.guide.info
     Assigns1.1/Docs/English.dvi
     Assigns1.1/Docs/English.dvi.info
     Assigns1.1/Docs/English.texi
     Assigns1.1/Docs/English.texi.info
     Assigns1.1/Locale/Catalogs/Italiano/Assigns.catalog
     Assigns1.1/Locale/Catalogs/Assigns.ct

Verificate che siano presenti tutti questi files

Sviluppi futuri
***************

Ridurre l'occupazione di memoria: per ora mi sono limitato a produrre un programma funzionante ed affidabile. La prossima versione sarà ottimizzata anche in termini di spazio.

Sto considerando l'ipotesi di scrivere la prossima versione di Assigns in C++ e cominciare a studiare degli oggetti per la programmazione sotto AmigaDOS.

Per ultimo: trasformare Assigns in un ``Assign-Manager'', ma ci sono i problemi già visti nell'introduzione.

Versioni
********

Assigns1.0: prima versione completamente funzionante, rilasciata ai soli betatesters

Assigns1.1: prima versione resa pubblica.

  - Localizzazione

  - vari bugs corretti, specialmente l'attivazione erronea di alcuni gadgets

Ringraziamenti
**************

Desidero ringraziare per i test fatti e per i suggerimenti forniti (I nomi sono rigorosamente in ordine alfabetico):

     Alessandro Borille    paride@sabrina.dei.unipd.it
     Eugenio Castellani    aj2@sabrina.dei.unipd.it
     Fabio D'Alessi        phobia@sabrina.dei.unipd.it
     Sergio Fantinel       ik3fan@paola.dei.unipd.it
     Jacopo Farinato       redi@sabrina.dei.unipd.it
     Gianluigi Nusca       gigio@paola.dei.unipd.it
     Emanuele Verza        alien@sabrina.dei.unipd.it

In particolare Alessandro ed Eugenio per le loro traduzioni dall'italiano all'inglese.