Newsgroup: it.comp.macintosh
Titolo: Script per Navigator...

"User Profile Manager" di Communicator mi ha creato uno script come
scorciatoia per aprire Netscape con il profilo utente selezionato senza
che appaia la finestra di dialogo di User Profile Manager....
ho due Netscape...il Communicator e Navigator 4.0.8....
il problema dello  script e' che mi apre prima Navigator...chiaramente
quando viene il turno di Communicator ho dei problemi....
da quello che ho capito, lo script apre le preferenze del profilo utente
come un qualsiasi file proponendo l'applicazione di default che in
questo caso e' Navigator...
ho provato a cambiare la data di modifica e creazione ma rimane cmq
Navigator l'applicazione di default...che cmq non mi dispiace...spesso
uso dei files con Netscape e il fatto che usi Navigator mi sta piu' che
bene....
(la faccio lunga eh ??!...)  :o)
la parte dello script che vorrei cambiare e quella in cui setta
l'applicazione di default e' :
       GetPrefsAlias()
 --->  OpenProfileWithCommunicator()
       OpenTheComponent()
quando lo script arriva a questo punto ho le seguenti indicazioni nella
finestra "Event Log" :
tell application "Finder"
    info for alias (alias "HD Performance:   MacSystem:Cartella
Sistema:Preferenze:Netscape Users:cucciolo:Netscape Preferences")
---> {name:"Netscape Preferences", creation date:date "Lunedi', 6
settembre 1999 17:55:11", modification date:date "Lunedi', 6 settembre
1999 18:37:22", icon position:{113, 53}, visible:true, size:30258,
folder:false, alias:false, locked:false, file creator:"MOSS", file
type:"pref", short version:"", long version:"", default
application:alias "HD Performance: Applicazioni: COMUNICAZIONI:
NAVIGATORI:NN 408:Netscape Navigator_408"}
nel passo successivo mi apre Navigator....mentre io vorrei che mi
aprisse Comunicator....
il codice sopra riportato e' scritto nella prima parte dello
script...credo che si tratti di una subroutine o simile...
l'handler (le istruzioni..) di "OpenProfileHithCommunicator()" sono:
on OpenProfileWithCommunicator()
 
 
tell application "Finder"
   set appsList to application processes as text
end tell
 
   if appsList contains gCommunicatorName then 
       try
         tell application "Netscape Communicator"
            set curProfile to Get Profile Name
         end tell
         on error
            set curProfile to "none"
       end try
 
      try
         if curProfile is not equal to ProfileName then
 
              set CancelButton to "Cancel"
              set UseCurrentButton to "Use Current"
              set ChangeProfileButton to "Change Profile"
 
              set changeMsg to "Communicator is currently running with
the user profile "" & curProfile ¬
& "."" & return & return & "Do you want to change the current profile to
"" & ProfileName & ¬
"", or use the current profile?"
 
              set dialogResult to display dialog changeMsg ¬
      buttons {CancelButton, ChangeProfileButton, UseCurrentButton} ¬
      default button [UseCurrentButton] with icon 2
 
      if button returned of dialogResult = ChangeProfileButton then
 
      tell application gCommunicatorName
          quit
      end tell
 
      else if button returned of dialogResult = CancelButton then
          error -128
             end if
                end if
 
               on error errMsg number errNum
                  FatalErrorMessage(errNum, "An error occurred:" &
return & return & errMsg & return & return & "(Error " & errNum & ")")
                end try
 
        end if  
 
           OpenCommunicatorWithPrefs(userProfile)
 
end OpenProfileWithCommunicator
Scusate la sintassi...ma altrimenti non c'entrava :o)
nel momento che chiede "set appsList to application processes as text"
escono le seguenti informazioni:
get every application process
---> {"Apple Phone Extension", "Express Modem", "Extensions Strip -
FAT", "MacSOUP"}
        activate
        open file "HD Performance:   MacSystem:Cartella
Sistema:Preferenze:Netscape Users:cucciolo:Netscape Preferences"
---> file "Netscape Preferences" of folder "cucciolo" of folder
"Netscape Users" of folder "Preferenze" of folder "Cartella Sistema" of
folder "   MacSystem" of startup disk
e poi apre Navigator..
posso aggiungere del codice per far si che mi apra solo Communicator ??
Ciao ... :o)
PS..scusate la lunghezza del post...
-- 
Ridi e il Mondo ridera' con te.
Piangi e avrai bisogno di un fazzoletto.
---
Sostituisci "xxxxx" con "pscss" per rispondere via mail

 
(Remove the hyphen! Spambusters at work!)
" All creators  draw  in  part  on the work
  of those who came before, referring to it, 
  building   on  it,   poking   fun  at  it; 
  we  call  this   creativity,  not  piracy. "
Judge Kozinski (Vanna White vs. Samsung case)

 lo script.
purtroppo no..
ho il Navigator dal nome (poco fantasioso..) "Netscape Navigator 408",
il communicator "Netscape Communicator 461"...e sono in due dischi
differenti.
Navigator su quello di avvio, Communicator in un altro.
quando apro per la prima volta lo script, mi chiede infatti la locazione
dell'applicazione ed io gli indico Communicator...
il problema principale e' nel secondo passaggio
(OpenProfileWithCommunicator()), quando apre le prefereze, detto file e'
un documento di "Navigator(forse perche' risiede sullo stesso disco,
forse perche' l'ho messo per primo...ma fatto e' che avendo lo stesso
tipo e creatore riconosce Navigator come applicazione madre...) per cui
nel momento che apre le preferenze, lo fa con Navigator...
proseguendo lo script apre "anche" Communicator (ed infatti esce il
messaggio che gia' un Netsape e' in esecuzione..) e poi terminato
perche' un altro Netscape e' gia' in esecuzione....
l'unico modo di far partire correttamente lo script e' nascondere
navigator con "AppHider" (cambia il tipo e creatore
dell'applicazione..semplice e comodo per molte cosette..), chiaramente
solo per fare delle prove visto che non posso nascondere l'applicazione
ogni volta che avvio netscape...
io pensavo di modificare l'Header di "OpenProfileWithCommunicator()" e
forzare l'avvio del profilo (preferenze) con Communicator...
non so se possibile ma :o) ...
e poi se si trova la soluzione benvenga...altrimenti continuero' come ho
sempre fatto...e cioe' selezionando il profilo nel dialogo di netscape
:o)
PS..tutto questo e' uscito fuori perche' i profili creati con Navigator
408 e communicator 461 non sono compatibili....
Navigator neanche "vede" quello di Communicator...
Communicator vede quello di Navigator ma se lo apro va in bomba (non
proprio in bomba, si quitta)...
Ciao :o)
