Building a Thunderbird extension 2: extension file layout

Extensions are packaged and distributed in archive files (also known as Bundles), with the XPI (pronounced “zippy”) file extension. At a minimum, they contain an install.rdf, the chrome.manifest and a chrome/ folder. The chrome/ folder contains a content/ folder that contains the actual content files. These files contain the code that makes your extension actually do something. When this tutorial is finished, our extension will look like this:

myfirstext.xpi:                                //created in step 8
              /install.rdf                     //created in step 3
              /chrome.manifest                 //created in step 4
              /chrome/content/myhelloworld.xul //created in step 5
              /chrome/content/overlay.js       //created in step 6
              /chrome/locale/*                 //Building an Extension# Localization
              /defaults/preferences/           //Building an Extension# Defaults Files

Rather than creating these files manually, you should use the Add-On Packager which will assist you in creating the necessary files to get started.

The following tutorial pages will explain how to write each of these files (except locale/ and defaults/) and package them into an XPI (zippy) file. You can find  information about the locale/ and defaults/ folders in the more general "Building an Extension" documentation.

Document Tags and Contributors

Contributors to this page: Sheppy, jenzed, wbamberg, Lanoxx, jyeo, daniela.waranie, Motaro, pmryan, msalamon
Last updated by: msalamon,
Hide Sidebar