von Manuel Mauky für die Linux-User-Group Görlitz
Folien unter: http://www.lestard.eu/slides/xul/index.html
XUL-Runner ist ansich nur ein Leerer Weisser Kasten mit Gecko-Rendering-Engine
Wird ein XUL-Dokument geladen, so wird es zur Laufzeit gerendert und Angezeigt.
XUL-Dokumente können auch direkt im Firefox angezeigt werden
Zum Ausprobieren: Im Firefox diese URL eingeben:
chrome://browser/content/browser.xul
<?xml version="1.0"?>
<window
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="Firefox"
width="800"
height="600">
<label value="Hallo Welt" >
<!-- weitere xul-Elemente -->
</window>
<button
id="einButton"
label="Bestätigen"
accesskey="b" />
<textbox id="Eingabefeld" label="Bitte eingeben"/>
<checkbox id="eineCheckbox" checked="true" label="Bitte Anhaken"
/>
<radiogroup>
<radio id="eins" label="Eins" />
<radio id="zwei" label="Zwei" />
<radio id="drei" label="Drei" />
</radiogroup>
<listbox>
<listhead>
<listheader label="Semester" />
<listheader label="Schwierig" />
</listhead>
<listcols>
<listcol />
<listcol flex="1" />
</listcols>
<listitem>
<listcell label="1" />
<listcell label="geht so" />
</listitem>
<listitem>
<listcell label="2" />
<listcell label="einfach" />
</listitem>
</listbox>
<toolbox>
<toolbar id="IOToolbar">
<toolbarbutton label="Öffnen" >
<toolbarbutton label="Speichern" >
<toolbarbutton label="Schließen" >
</toolbar>
</toolbox>
<toolbox>
<menubar id="MenuBar">
<menu id="dateiMenu">
<menupopup id="dateiMenuPopup">
<menuitem label="Neue Datei" />
<menuitem label="Datei Öffnen" />
<menuitem label="Datei Speichern" />
<menuseparator />
<menuitem label="Beenden" />
</menupopup>
</menu>
<menu id="helpMenu">
<menupopup id="helpMenuPopup">
<menuitem label="Hilfe" />
<menuseparator />
<menuitem label="About" />
</menupopup>
</menu>
</menubar>
</toolbox>
[App]
vendor=Manuel
Name=XULDemoApp
Version=0.3
BuildID=25112009
Copyright=Copyright (c) 2009 Manuel
ID=xuldemoapp@lestard.eu
[Gecko]
MinVersion=1.9
MaxVersion=1.9.*
Gestartet wird die Anwendung mit Hilfe der application.ini:
>xulrunner.exe application.ini
In chome.manifest:
content xuldemoapp file:content/
Danach geht folgendes:
chrome://xuldemoapp/content/main.xul
Overlays sind XUL-Elemente, mit denen andere XUL-Elemente überlager werden können
in browser.xul:
<statusbar class="chromeclass-status" id="status-bar" ... >
...
</statusbar>
in eigener XUL-Datei:
<?xml version="1.0"?>
<overlay id="meinAddOn"
xmlns:"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<statusbar id="status-bar">
<statusbarpanel id="meinPanel" label="Mein cooles AddOn"
/>
</statusbar>
</overlay>
Eine Datei install.rdf wird benötigt.
install.rdf ist ähnlich der application.ini von Standalone-Applikationen, hier jedoch in XML
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<RDF:Description about="urn:mozilla:install-manifest">
<em:aboutURL>chrome://xul_ext/content/about.xul</em:aboutURL>
<em:id>xul_ext@lestard.eu</em:id>
<em:name>xul_ext</em:name>
<em:targetApplication>
<RDF:Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:maxVersion>3.5.*</em:maxVersion>
<em:minVersion>3.0</em:minVersion>
</RDF:Description>
</em:targetApplication>
</RDF:Description>
</RDF>
Alles zusammen wird nun in ein ZIP-Archiv gepackt
Als Dateiendung wird dem Archiv .xpi gegeben
Diese XPI-Datei kann nun im Firefox geladen werden oder auf einer Webseite Verlinkt werden
Eclipse XUL-Plugin
XUL-Explorer - https://developer.mozilla.org/en/XUL_Explorer
Fragen? Anregungen? Hinweise?