home *** CD-ROM | disk | FTP | other *** search
-
- My Own Menu vers. 1.32
- ----------------------------
-
- Copyright 1990
-
- by
-
- Marco Lusini
-
-
- My Own Menu (MOM da ora in poi) è un programma che permette di aggiungere
- altri menu allo schermo del WorkBench e associare ad ogni menu un programma
- da lanciare.
-
- Anche se esistono altri programmi simili, MOM è (almeno nelle intenzioni)
- superiore per stabilità, flessibilità e dimensioni. Infatti permette di
- lanciare da menu anche comandi CLI, permettendo più comandi nella stessa
- linea ed addirittura comandi propri degli script come If, Else ecc.
-
- Inoltre si aggancia ai menu del WorkBench in modo tale che un eventuale suo
- blocco non comporta la paralisi del WorkBench stesso.
-
- MOM si aggancia anche alla funzione SetMenuStrip() di Intuition per
- intercettare eventuali modifiche dovute ad esempio al cambio del font di
- sistema, cui segue la riformattazione dei menu custom per adattarsi alle
- nuove dimensioni.
-
- Per funzionare, MOM richede la arp.library, usata per una maggiore
- stabilità e per ridurre le dimensioni dell' eseguibile; se poi nel sistema
- è presente il NULL-Handler come NULL:, MOM lo usa al posto di NIL: per
- redirigere i comandi CLI, sempre per una maggiore stabilità.
-
- MOM NON E` PUBLIC DOMAIN, MA E` LIBERAMENTE DISTRIBUIBILE PURCHE` SIA SEMPRE
- ASSOCIATO A QUESTO FILE DOC.
-
-
- INSTALLAZIONE:
- -------------
- Copiate MOM-Handler in L:, dove MOM lo cercherà se non lo trova nella
- directory corrente.
- Create poi il file MOM-Startup, che MOM cercherà prima nella directory
- corrente e poi in S: . Il formato del file è descritto più avanti.
-
-
- PARTENZA:
- --------
- Per prima cosa lanciate MOM solo da CLI e dopo aver caricato il WorkBench
- con LoadWB. Comunque MOM si accorgerà se ancora non esiste il WorkBench e
- abortirà senza lasciare tracce.
-
- Il comando MOM legge ed elabora il file di startup, passandolo poi al
- MOM-Handler. Se l' handler non è presente, MOM cerca di lanciarlo,
- poi aspetta per un massimo di 10 secondi la comparsa del processo prima
- di passargli la struttura dei menu.
- Durante la sua inizializzazione, MOM-Handler copia il Path dal WorkBench
- e prende SYS: come directory corrente.
-
- Così la prima invocazione di MOM lancerà il MOM-Handler e costruirà i
- menu, le seguenti aggiorneranno i menu rileggendo il file di startup.
-
- Per rimuovere MOM, usare "MOM quit"
- N.B.: l' handler si rimuoverà dal sistema solo se tutti i programmi lanciati
- sono terminati, altrimenti si limiterà a rimuovere i menu.
-
-
- FILE di STARTUP:
- ---------------
- Il file è fatto da linee di testo separate eventualmente da linee vuote.
- Ogni linea definisce un menu, con una sintassi che, ricalcando lo stile dei
- comandi DOS, si può descrivere come:
-
- M=MENU/a, E=EXEC/k, W=WB/k, B=BACK/k, C=CONSOLE/k, K=KEY/k
-
- Per chi non ha familiarità con i template dell' AmigaDOS, gli '=' servono
- a definire dei sinonimi, così ad es. M e MENU sono equivalenti.
- Le keyword CONSOLE e KEY sono opzionali.
-
- Usando un' altro tipo di definizione, una linea ha il formato:
-
- MENU <menu-def> WB <wb-prog> [CONSOLE <con-name>] [KEY <char>]
- Definisce un programma da lanciare come da WorkBench, deve quindi avere
- un file .info corrispondente. La CONSOLE è attualmente ignorata.
-
- oppure
-
- MENU <menu-def> EXEC <cmd-string> [CONSOLE <con-name>] [KEY <char>]
- Definisce una stringa di comandi da lanciare in modo interattivo, usando
- la console <con-name> (che deve essere per forza interattiva) per l'
- input o "CON:0/20/640/100/MOM Console" se non è specificata alcuna CONSOLE.
-
- oppure
-
- MENU <menu-def> BACK <cmd-string> [CONSOLE <con-name>] [KEY <char>]
- Definisce una stringa di comandi da lanciare in background, usando
- la console <con-name> per l' output o "NIL:" se non è specificata
- alcuna CONSOLE.
-
- Ogni stringa è interpretata dall' arp.library per convertire le sequenze di
- escape consentite dal DOS o da ARP, ad es. "*n" corrisponde ad un RETURN.
-
- <menu-def> è una stringa che descrive il menu, con i livelli del menu
- separati da '/' : ad esempio "System/Memory/Flush" definisce
- il MenuItem "Flush", nel SubMenu "Memory", nel Menu "System".
-
- <wb-prog> è una stringa che descrive il nome di un TOOL o di un PROJECT
- da lanciare come da WorkBench.
-
- <cmd-string> è una stringa che descrive i comandi CLI da lanciare, separati
- da "*n". Sono ammessi i comandi tipici degli script come If,
- Else ecc, utili per realizzare dei piccoli script senza dover
- creare un file separato da eseguire con Execute.
-
- <con-name> è una stringa che descrive il filename della console da usare
- per il comando. Se non deve essere interattiva, si può usare
- qualsiasi nome valido per l' AmigaDOS, altrimenti deve essere
- tipe "CON:....", "NEWCON:..." ecc.
-
- <char> è un carattere da associare al menu come scorciatoia da tastiera.
-
- ESEMPI:
- ------
- MENU "Test/AShell" WB "SYS:AShell" KEY "*e"
-
- Definisce un MenuItem "AShell" nel Menu "Test" associato al tasto
- ESC, che lancia il TOOL "AShell" in SYS: come da WorkBench.
-
- MENU "Test/Memory/Flush" BACK "C:Avail FLUSH"
-
- Definisce un MenuItem "Flush" nel SubMenu "Memory" nel Menu
- "Test", che lancia in background il comando DOS "Avail FLUSH".
-
- M "Test/Snap ON" B "WaitForPort -immediate Snap.port*nIF WARN*nC:Snap -i0*nENDIF"
-
- Definisce un MenuItem "Snap ON" nel Menu "Test", che lancia in
- background un mini script per attivare con certezza l' utility Snap.
-
- M "Test/Dir Inter" E "Dir SYS: opt i" CONSOLE "CON:0/0/640/200/Dir Interactive"
-
- Definisce un MenuItem "Dir Inter" nel Menu "Test" che mostra
- interattivamente la directory SYS: nella console indicata.
-
-
- CONCLUDENDO
- -------------
-
- Per qualsiasi commento, critica, bug, contributo, o altre idee, potete
- contattarmi all' indirizzo:
-
- Marco Lusini
-
- loc. Ceciliano 165
- 52100 Arezzo
- Italy
-
- oppure presso
- Gianluca Bigagli
-
- FidoNet 2:332/100.2
- 2:332/100.18
-