A quick outline of Firefox extension structure
Yesterday I mentioned Firefox extensions in passing. Let's fill in the blanks.
Firefox extensions come as
.xpi files, which are just yet another
extension for ZIP archives. Unpacked, extensions live in their own
directory in the
extensions/ subdirectory in your Firefox profile
directory. Firefox profile directories live under
~/.mozilla/firefox; the default profile is in
(Firefox randomizes the name of the profile directory, I believe due
to security concerns.)
The actual name of an extension's directory is mostly opaque; it is
<ID> bit is the UUID (nee GUID) for the
extension. The easiest way to find out which is which is to skim
install.rdf file from each directory, looking for the
(Alternately, you can look at '
ls -lt' and remember the order in
which you installed extensions.)
Most extensions stick their
.jar files in their own
.jar files is not mandatory, and some extensions
ship with their files fully exploded. (This is simpler on the
developer but takes more space.)
em:maxVersion field in appropriate bits of
what the highest version of Firefox the extension can be installed on.
However, if this matters to you you probably want to install the
Nightly Tester Tools
which let you just override it when necessary.
(For more information on the code structure of extensions and how they work, see the knowledge base.)