Archive for the 'Opera Desktop Edition' Category

Page 2 of 7

Eliminare "Fare clic per attivare ed utilizzare questo controllo" in Opera.

In questi ultimi giorni pare che la community di Opera sia estremamente viva ed arzilla.

Fra le decina di novità ed articoli vari, uno in particolare ha attirato la mia attenzione. A quanto pare infatti l’utente Rafal è riuscito a trovare il modo di aggirare il fastidioso behaviour tenuto da Opera per gli embedded object in seguito alla battaglia legale di Eolas.

Per chi non sapesse di cosa sto parlando, Eolas ha qualche anno fa registrato un brevetto sulla tecnologia impiegata per includere elementi come flash all’interno di una pagina web. A seguito di tale brevetto Opera, a differenza del ben più facoltoso colosso Microsoft che ha potuto pagarne i diritti d’uso, è stata quindi costretta ad adottare un workaround per non incappare in cappelle legali. Il problema non riguarda invece i software Mozilla o Webkit based in quanto è stato data da Eolas via libera ai software open source.

Ad ogni modo questo non è bastato a scoraggiare Rafal che si è quindi industriato per aggirare il problema costruendosi una build personalizzata di Opera.

Grazie a qualche ricerca all’interno delle DLL del programma è alla fine riuscito a trovare il codice incriminato, che per la cronaca agisce creando un elemento in overlay all’oggetto, e quindi sostituirlo.

Per chi fosse interessato ecco in breve come procedere:

  • Procuratevi UPX e XVI32
  • Decomprimete il file opera.dll con UPX
  • Apritelo quindi con XVI32
  • Cercate: F7 D8 1B C0 F7 D8 C2 04 00 FF 74
  • Sostituitelo con: F7 D8 1B C0 B0 01 C2 04 00 FF 74

Il procedimento è valido sia per Opera 9.63 che per Opera 10 alpha, ma in quest’ultima la stringa incriminata è presente due volte e va sostituita la seconda.

Per chi invece preferisse non metter mano a simili procedure può invece scaricare questo comodo tool che, una volta estratto nella directory di Opera ed eseguito, provvederà a fare il lavoro sporco per voi.

Aggiungere Web Mail provider in Opera 10

Attenzione: il procedimento descritto nell’articolo fa riferimento ad una funzionalità ancora in lavorazione che pertanto potrebbe subire modifiche anche sostanziali in un prossimo futuro.

Nell’articolo precedente abbiamo visto come le ultime build di Opera 10 siano in grado di gestire le Web Mail come client di posta predefinito e vi avevo anticipato che, qualora il vostro provider non fosse fra quelli disponibili, sarebbe stato comunque possibilie aggiungerlo manualmente. Vediamo quindi come aggiungere il nostro provider.

Innanzitutto localizziamo il file webmailproviders.ini che si trova nella cartella \defaults della directory di Opera. Questo contiene la lista di tutti i servizi disponibili nella forma seguente:

[Gmail]
ID=1
URL=https://mail.google.com/mail/?extsrc=mailto&url=%s
ICON=http://mail.google.com/favicon.ico

I meno smaliziati si chiederanno probabilmente cosa significhino esattamente queste stringhe e come usarle.

  • La prima riga indica il nome del provider che verrà visualizzato nel programma. Trattandosi di un file .ini ovviamente è necessario racchiudere il nome fra parentesi quadre.
  • ID indentifica in modo univoco il servizio. E’ necessario usare una numerazione progressiva per i vari servizi.
  • URL è l’indirizzo usato dal provider per gestire il protocollo mailto attraverso la web mail. “%s” è la parte variabile che verrà di volta in volta sostituita con i dati del link mailto che cliccherete (indirizzo, oggetto, ecc…).
    Attualmente sono permessi anche URL Data e Javascript.
  • Icon infine indica il percorso della favicon della web mail.

Alla luce di tutto ciò appare quindi evidente che per poter aggiungere il nostro servizio di posta è necessario conoscere l’indirizzo dell’handler mailto (URL).

Purtroppo però non tutti i provider hanno tale caratteristica, ma possono ugualmente compilare i vari campi automaticamente specificandoli con variabili separate, anzichè con la sola “%s”, secondo questo schema:

  • %t = il destinatario
  • %s = l’oggetto
  • %m = il corpo del messaggio
  • %c = CC’d recipients
  • %b = BCC’d recipients.

Per rendere meglio l’idea analizziamo quindi come dovrebbe essere modificato l’URL nel caso di Gmail:

"http://mail.google.com/mail/?view=cm&fs=1&to=%t&su=%s&body=%m&cc=%c&bcc=%b"

Ancora una volta però i problemi non mancano in quanto, almeno per il momento, Opera non è ancora in grado di gestire questo tipo di URL e bisogna prima trasfromarli in un Data o Javascript URL come nell’esempio seguente:

[Operamail.com]
ID=4
URL=javascript:(function(uri)%7B%0D%0Afunction%20decode(s)%7Btry%7Breturn%20decodeURIComponent(s).replace(%2F%5Cr%5Cn%7C%5Cr%7C%5Cn%2Fg%2C%22%5Cr%5Cn%22)%3B%7Dcatch(e)%7Breturn%20%22Opera%20percent-decode%20error%22%3B%7D%7D%0D%0Afunction%20encode(s)%7Btry%7Breturn%20encodeURIComponent(s)%3B%7Dcatch(e)%7Breturn%20%22Opera%2520percent-encode%2520error%22%3B%7D%7D%0D%0Afunction%20escapeInvalidHH(s)%7Breturn%20s.replace(%2F%25(%3F!%5B0-9A-F%5D%7B2%7D)%2Fgi%2Cfunction()%7Breturn%20%22%2525%22%3B%7D)%3B%7D%0D%0Afunction%20escapeUnsafeHH(s)%7Breturn%20s.replace(%2F%2500%7C%2501%7C%2502%7C%2503%7C%2504%7C%2505%7C%2506%7C%2507%7C%2508%7C%250B%7C%250C%7C%250E%7C%250F%7C%2510%7C%2511%7C%2512%7C%2513%7C%2514%7C%2515%7C%2516%7C%2517%7C%2518%7C%2519%7C%251A%7C%251B%7C%251C%7C%251D%7C%251E%7C%251F%2Fgi%2Cfunction(match)%7Breturn%20encode(match)%3B%7D)%3B%7D%0D%0Afunction%20filterSingleLine(s)%7Breturn%20s.replace(%2F%5Cr%7C%5Cn%2Fg%2C%22%22)%3B%7D%0D%0Afunction%20MailtoURIParser(s)%7Bthis.parse(escapeUnsafeHH(escapeInvalidHH(%22to%3D%22%2Buri.substr(7).replace(%2F%5C%3F%2F%2C%22%26%22))))%3B%7D%0D%0AMailtoURIParser.prototype%3D%7Bparse%3Afunction(dataset)%7Bthis.to%3Dthis.subject%3Dthis.body%3Dthis.cc%3Dthis.bcc%3D%22%22%3Bvar%20ref%3Dthis%3Bdataset.replace(%2F(%5B%5E%3D%26%5D%2B)%3D(%5B%5E%26%5D*)%2Fg%2Cfunction(match%2Chname%2Chvalue)%7Bhname%3Ddecode(hname).toLowerCase()%3Bif(hname%3D%3D%22to%22)%7Bif(hvalue!%3D%22%22)%7Bif(ref.to!%3D%22%22)%7Bref.to%2B%3D%22%252C%2520%22%3B%7Dref.to%2B%3Dhvalue%3B%7D%7Delse%20if(hname%3D%3D%22cc%22)%7Bif(hvalue!%3D%22%22)%7Bif(ref.cc!%3D%22%22)%7Bref.cc%2B%3D%22%252C%2520%22%3B%7Dref.cc%2B%3Dhvalue%3B%7D%7Delse%20if(hname%3D%3D%22bcc%22)%7Bif(hvalue!%3D%22%22)%7Bif(ref.bcc!%3D%22%22)%7Bref.bcc%2B%3D%22%252C%2520%22%3B%7Dref.bcc%2B%3Dhvalue%3B%7D%7Delse%20if(hname%3D%3D%22subject%22)%7Bref.subject%3Dhvalue%3B%7Delse%20if(hname%3D%3D%22body%22)%7Bif(!(hvalue%3D%3D%22%22%26%26ref.body%3D%3D%22%22))%7Bif(ref.body!%3D%22%22)%7Bref.body%2B%3D%22%250D%250A%22%3B%7Dref.body%2B%3Dhvalue%3B%7D%7D%7D)%3Bthis.to%3Dencode(filterSingleLine(decode(this.to)))%3Bthis.subject%3Dencode(filterSingleLine(decode(this.subject)))%3Bthis.body%3Dencode(decode(this.body))%3Bthis.cc%3Dencode(filterSingleLine(decode(this.cc)))%3Bthis.bcc%3Dencode(filterSingleLine(decode(this.bcc)))%3B%7D%2Cformat%3Afunction(s)%7Bvar%20ref%3Dthis%3Breturn%20s.replace(%2F(%25%25)%7C(%25T)%7C(%25S)%7C(%25M)%7C(%25C)%7C(%25B)%7C(%25w)%2Fg%2Cfunction(match%2Ca%2Cb%2Cc%2Cd%2Ce%2Cf%2Cg)%7Bif(a)return%20%22%25%22%3Bif(b)return%20ref.to%3Bif(c)return%20ref.subject%3Bif(d)return%20ref.body%3Bif(e)return%20ref.cc%3Bif(f)return%20ref.bcc%3Bif(g)return%20encode(%22mailto%3A%22%2Bref.to%2B%22%3Fsubject%3D%22%2Bref.subject%2B%22%26body%3D%22%2Bref.body%2B%22%26cc%3D%22%2Bref.cc%2B%22%26bcc%3D%22%2Bref.bcc)%3B%7D)%3B%7D%7D%3B%0D%0Aif(uri.search(%2Fmailto%3A%2Fi)!%3D0)%7Bthrow%20%22Not%20a%20MailtoURI%22%3B%7D%0D%0Avar%20parser%3Dnew%20MailtoURIParser(uri)%3B%0D%0Avar%20compose%3Dparser.format(%22http%3A%2F%2Fmymail.operamail.com%2Fscripts%2Fmail%2FOutblaze.mail%3Fcompose%3D1%26did%3D1%26a%3D1%26to%3D%25T%26subject%3D%25S%26body%3D%25M%26cc%3D%25C%26bcc%3D%25B%22)%3B%0D%0Avar%20a%3Ddocument.createElementNS(%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%2C%22a%22)%3Ba.href%3Dcompose%3Ba.click()%3B%0D%0A%7D)(%22%s%22)%3B
ICON=http://www.opera.com/favicon.ico

Chiaramente si tratta di una procedura non alla portata di tutti e che, si spera, presto non sarà più necessaria. Ma se nel frattempo volete cominciare a sperimentare nessuno potrà impedirvelo. ;)

Opera 10 si integrerà con le Web Mail

A dispetto di ogni mia previsione o aspettativa, il Desktop Team pare abbia finalmente accolto, seppure in modo ancora parziale, le numerose richieste dei suoi utenti riguardo un sostanziale miglioramento e potenziamento della gestione della posta in Opera 10.

Se con la prima alpha della prossima major release, Opera Mail (questo il nuovo nome di M2) aveva infatti introdotto il tanto desiderato supporto alla composizione in formato html e svariate migliorie volte a semplificare la vita dell’utente, con l’ultima weekly build si è voluto fare un ulteriore passo proprio in quest’ultima direzione aggiungendo il supporto nativo ai servizi Web Mail.

Ciò significa che sarà ora possibile, come del resto avviene già da tempo in Firefox 3, usare come client di posta predefinito direttamente l’interfaccia web di servizi come Gmail, Yahoo! Mail, e Windows Live Hotmail, anzichè dover ricorrere al protocollo POP3 o IMAP.

Tradotto in termini ancora più semplici, vi basterà adesso cliccare su un collegamento mailto: per aprire la pagina di composizione della vostra web mail, con tanto di campi come destinatario o oggetto eventualmente già compilati come nell’esempio sottostante:

Link

Una bella comodità per chi preferisce le sempre più evolute interfaccie ajax ai classici client desktop.

Per i maggiori providers il tutto avverrà in maniera trasparente senza che sia necessaria alcuna configurazione manuale da parte dell’utente. Al primo click su un collegamento mailto verrà semplicemente chiesto se si intende usare il client email predefinito di sistema, il client integrato in Opera, oppure una delle Web Mail supportate.

Tuttavia è ancora presto per poter testare a dovere questa nuova funzionalità.

Attualmente gli unici providers supportati sono infatti Gmail, Yahoo! Mail e Windows Live Hotmail, e, peraltro, gli ultimi due necessitano una versione recente del browser.js, senza contare che Yahoo continua a non funzionare come dovrebbe limitandosi ad aprire la finestra di benvenuto anzichè quella di composizione.

E’ ancora in corso una discussione fra gli sviluppatori se sia preferibile permettere ai providers di aggiungersi alla lista in modo automatico secondo le specifiche del WHATWG oppure procedere in proprio.

Sia come sia poco importa. Ciò che conta è aver finalmente colmato anche questa lacuna. E se il vostro provider non figura fra quelli disponibili non preoccupatevi, sarà sempre possibile aggiungerlo manualmente. Ma per questo vi do appuntamento alla prossima. ;)

Integrare Foxit Reader in Opera, Safari e Chrome

Attenzione: nell’articolo viene preso in considerazione prevalentemente Opera ma il procedimento è valido anche per Firefox, SeaMonkey, Flock, Safari, Google Chrome e qualsiasi altro browser NPAPI compatibile.

Uno dei software più interessanti scoperti in questi ultimi anni è stato, senza ombra di dubbio, Foxit Reader.

Francamente non credo abbia bisogno di presentazioni ma, per chi non lo conoscesse ancora, si tratta della più valida alternativa ad Adobe Reader non soltanto in grado di gestire alla perfezione qualsiasi file in formato PDF, ma risultando anche notevolmente più leggero e veloce del rivale e ricco di funzionalità aggiuntive.

Una delle poche pecche consisteva però nell’assenza di un plugin che ne permettesse l’integrazione all’interno del browser web per la visualizzazione dei documenti direttamente in quest’ultimo senza dover prima scaricarli e poi aprirli all’interno dell’applicazione. Fortunatamente con la versione 3, uscita qualche tempo fa, anche questo divario è stato colmato con il rilascio di un plugin compatibile con tutti i browser che usino lo standard Netscape’s Plugin API (NPAPI), ovvero tutti eccetto Internet Explorer.

Tuttavia, almeno per il momento, riuscire ad utilizzare questa nuova funzione in browser diversi da Firefox non è poi così immediato a causa di alcune “sviste” da parte degli sviluppatori che hanno preferito utilizzare un proprio metodo di installazione anzichè basarsi sul ben più collaudato e sicuro standard aperto. La cosa è stata già segnalata dagli sviluppatori di Opera ASA sul forum di Foxit Software e verrà probabilmente corretta nella prossima major release, ma, nel frattempo, ecco come procedere per poterne usufruire anche su browser diversi da Firefox.

Innanzitutto bisognerà procurarsi il plugin.

Se nel vostro sistema è installato anche Firefox (non valgono le varie versioni portable) ecco i passaggi da seguire, in caso contrario saltate (ovviamente) il primo punto:

  1. Assicuratevi che Firefox sia chiuso
  2. Aprite Foxit Reader
  3. Andate su Help > Check for Updates Now…
  4. Nella finesta che si aprirà selezionate nel box a sinistra “Firefox Plugin” e cliccate su Add
  5. Quindi cliccate su Install.

Partirà il download e l’installazione del plugin.

A questo punto, se Firefox era presente e tutto è andato a buon fine, avrete già finito in quanto Opera, per impostazione predefinita, userà anche i plugin installati all’interno della cartella di Firefox.

Se invece così non fosse dovrete copiare manualmente nella cartella dei plugin di Opera il file npFoxitReaderPlugin.dll che si trova (a meno non abbiate installato il programma in una diversa directory) in C:\Programmi\Foxit Software\Foxit Reader\plugins.

A questo punto, non appena vi imbatterete in un documento PDF, vi verrà richiesto se volete aprirlo direttamente in Opera usando il plugin di Foxit o preferite invece salvarlo.

Se invece non desiderate che vi venga richiesto ogni volta, basterà selezionare la casellina un basso o, se questa non fosse (come nel mio caso) attiva, andare su Strumenti > Preferenze… > Avanzate > Download, cercare l’estensione pdf, cliccare su Modifica… e selezionare l’ultima opzione (Usa plug-in).

Ed ecco infine il risultato ottenuto:

NB: Il procedimento descritto a volte sembra non dare buon esito causando il crash del browser. In questo caso è probabile che Foxit non abbia registrato correttamente il plugin. Per risolvere aprite la riga di comando e digitate:

regsvr32 /s "%ProgramFiles%\FOXITS~1\FOXITR~1\plugins\FOXITR~1 .OCX"

Ora dovreste essere in grado di usare correttamente il plugin. Se provate fatemi avere i vosti feedback. ;)

The Book of Opera

Chi di voi non conosce l’ormai celebre Book of Mozilla ?

Per chi non lo sapesse si tratta di uno dei più geniali ed interessanti easter egg che gli sviluppatori di Netscape, prima, e Mozilla, poi, hanno pensato bene di inserire nei loro browser e visualizzabile digitando nella barra degli indirizzi about:mozilla.

Il risultato sarà una pagina in cui verrà mostrata una qualche sibillina profezia i cui versi si rifanno all’Apocalisse di Giovanni e riguardante la storica, nonchè interminabile, guerra dei browser.

Tralasciando ulteriori dettagli (per i quali potete consultare la relativa voce su Wikipedia), la cosa ha sempre suscitato grande interesse anche fra i non seguaci del lucertolone, finchè, qualche giorno fa, l’utente Southern Cross ha deciso di annunciare al popolo della rete la sua profezia che stavolta, a seguito di una non meglio precisata disfatta della volpe, vede protagonista una nuova bestia chiamata (stranamente :P ) Opera.

E visto che qui, dopotutto, non stiam mica a far ballare i trichechi, ho voluto dare anche io il mio piccolo contributo trascrivendo i sacri versi secondo le antiche e consolidate tradizioni. :lol:

Ecco dunque il risultato finale (cliccate sull’immagine per ingradirla):

Andrà davero così? Chissà… In attesa che il destino faccia il suo corso non mi resta che darvi appuntamento alla prossima. ;)