Area de-PHPizzata  —  This area is free from PHP crapware

26 agosto 2008

xulRunner 1.9, Mac OS X ed il fullScreen

Far andare a pieno schermo una finestra di xulRunner... un bel problema.

Su tutte le piattaforme fullScreen=true non ha effetto, ma a quello si rimedia:
setTimeout("window.fullScreen=true;",10)

Il problema è su Mac OS X, dove questa modifica non ha effetto se si forza il ricaricamento dello XUL, ed ha effetto solo dal secondo lancio altrimenti. E comunque rimane la titlebar, che invece non rimaneva con xulRunner 1.8.0.9

Come uscirne?
Occorre aprire la finestra che vogliamo a pieno schermo utilizzandone un'altra come launcher.

La finestra da aprire deve essere semplice, un documento XUL con un nodo window in cui ometteremo gli attributi sizemode, width, height, screenX e screenY (ovviamente non comprenderemo questi attributi neanche in un eventuale attributo persist).
Il posizionamento dovrà essere determinato dal comando di apertura, altrimenti si verificherà un conflitto di competenze tra l'evento di apertura e gli attributi della finestra.
Ricordiamoci però di lasciare in questa finestra l'attributo hidechrome="true".

La finestra che apre userà un comando come:
var uri = 'chrome://panel/content/main.xul';
var winName = 'fullscreenWindow',
var winFeatures = "chrome,dependent";
winFeatures += ",top=0,left=0,width=800,height=600";
winFeatures += ",titlebar=no,fullscreen=yes";
window.open(uri,winName,winFeatures );

(al posto di window.open si può anche utilizzare window.openDialog)

Et voilà, aperto a pieno schermo (e da subito) anche su Mac! :-)

Etichette: ,

That’s All Folks!