Difference between revisions of "How to do a Hello World application using XULRunner"

From CDOT Wiki
Jump to: navigation, search
 
(Setting up the application.ini file)
Line 21: Line 21:
  
 
== Setting up the application.ini file ==
 
== 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.
 
The following is a sample '''application.ini''' file.

Revision as of 19:29, 13 November 2006

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 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

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.

References