How to do a Hello World application using XULRunner
Note: This page is still under construction
Contents
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 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
Key | Value |
Name | Name of the application. |
Version | Version of the application. |
BuildID | This is the build ID which is unique. Typically this field is a date |
ID | Unique ID of the application. |
Vendor | This is the vendor of the application which is an optional field. |
[Gecko] Section - This section contains information about what version XULRunner is needed for the application.
Key | Value |
MinVersion | The minimum XULRunner version this application supports. |
MaxVersion | The maximum XULRunner version this application can run on. |
The following is a sample application.ini file.
[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
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.
<?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>
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.