Open main menu

CDOT Wiki β

Changes

How to do a Hello World application using XULRunner

4,547 bytes added, 21:19, 23 October 2006
no edit summary
'''Note: This page is still under construction'''

== Setting up an application file structure ==
First set up the application file structure to the following:

/''applicationName''
/chrome
/''applicationName''
''your app files''
chrome.manifest
/defaults
/preferences
prefs.js
application.ini

This file structure is used on a Linux platform. If your using a different platform, please visit [http://developer.mozilla.org/en/docs/XULRunner:Deploying_XULRunner_1.8 Deploying XULRunner 1.8] to find the file struture for your specific platform.

'''Notes:'''

Users can change the name of the italicized filename and folders

== Setting up the application.ini file ==

XULRunner first looks at the application.ini file located at the root directory. This file contains metadata which tells XULRunner how to run the application properly. This fype typically contains [Heading] and Key=Values. Also, Lines which begin with characters "#" or ";" are treated as comments.

The application.ini file contains two sections. They are the following with surrounding square brackets:

'''[App]''' Section - This section of the file contains data about the application
<table style="width: 100%;" class="standard-table" cellborder=1 border=1 cellpadding=2 cellspacing=0>
<tr>
<td width="10%"> '''Key'''</td>
<td> '''Value'''</td>
</tr>
<tr>
<td>Name</td>
<td>Name of the application.</td>
</tr>
<tr>
<td>Version</td>
<td>Version of the application.</td>
</tr>
<tr>
<td>BuildID</td>
<td>This is the build ID which is unique. Typically this field is a date</td>
</tr>
<tr>
<td>ID</td>
<td>Unique ID of the application.</td>
</tr>
<tr>
<td>Vendor</td>
<td>This is the vendor of the application which is an optional field.</td>
</tr>
</table>


'''[Gecko]''' Section - This section contains information about what version XULRunner is needed for the application.
<table style="width: 100%;" class="standard-table" cellborder=1 border=1 cellpadding=2 cellspacing=0>
<tr>
<td width="10%">'''Key'''</td>
<td>'''Value'''</td>
</tr>
<tr>
<td>MinVersion</td>
<td>The minimum XULRunner version this application supports.</td>
</tr>
<tr>
<td>MaxVersion</td>
<td>The maximum XULRunner version this application can run on.</td>
</tr>
</table>


The following is a sample '''application.ini''' file.

<pre>
[App]
Vendor=Mylau
Name=Hello World Application
Version=1.0
BuildID=20060101
Copyright=Copyright (c) 2006
ID=xulTestApp@mylau.org

[Gecko]
MinVersion=1.8
MaxVersion=1.8
</pre>

== Setting up the chrome.manifest file ==

The chrome manifest is used by XULRunner to locate the application resources. The application can be distributed using a compressed JAR file. For this example, the chrome.manifest file contains the following:

content myapp file:content/

== Setting up the prefs.js file ==

The prefs.js file tells XULRunner which XUL file contains the main window. The following was used for this simple application.

pref("toolkit.defaultChromeURI", "chrome://myapp/content/main.xul");


The '''pref''' function needs to be passed in two arguements. In this scenario, this document provided an explaination on what those two arguements are:
:*'''toolkit.defaultChromeURI''' is a preferences which allows a simple XULRunner-based application to open a new window
:*'''chrome://myapp/content/main.xul''' is the location of the main XUL file.

== Creating some XUL ==

For the similicity of this application, we're going to create a simple XUL window that says hello world.

<pre>
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window id="main" title="My App" width="300" height="300"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<caption label="Hello World"/>
</window>
</pre>

== Running the application ==

To run the application, type the following:

If your on Windows:
xulrunner.exe application.ini

If your on Linux:
xulrunner application.ini

If your on Mac:
/Library/Frameworks/XUL.framework/xulrunner-bin application.ini

Make sure your in the application level of the XULRunner application.

== References ==
*[http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx XULRunner Tutorial]
*[http://developer.mozilla.org/en/docs/Getting_started_with_XULRunner Getting started with XULRunner]
*[http://developer.mozilla.org/en/docs/XULRunner:Deploying_XULRunner_1.8 Deploying XULRunner]
*[http://developer.mozilla.org/en/docs/XUL_Application_Packaging XUL Application Packaging]
1
edit