A high-level look at the project's architecture and a guide to where to find things.
Overview of Comm Central
The following directories are included in the comm-central repository:
Miscellaneous files used by the build process.
Source code of the Lightning extension and Google Calendar Provider extension.
Files for the chat component of Thunderbird. There is also related code in
An assortment of code we've uplifted from mozilla-central as it was removed from there.
The mork database.
UI for the Compose window (Thunderbird/SeaMonkey) and the Composer part of SeaMonkey.
The LDAP C SDK. Used for communicating with LDAP servers.
Thunderbird specific source code. It's no coincidence that this folder is laid out a lot like the
toolkit directories on mozilla-central. Many of the subdirectories follow the same pattern:
- content User interface files which become
- test Mochitest and/or XPCShell tests.
The subdirectories are:
- app Configuration and packaging instructions. Contains
all-thunderbird.js, the default preferences.
- base The main mail window and several miscellaneous dialogs. Also, things which are common to many parts of the program.
- branding Icons and imagery.
- components Various Thunderbird features, including:
- accountcreation The account setup wizard.
- addrbook The address book user front end. (Not the address book back end, which is in
- cloudfile The cloud attachment feature (a.k.a. FileLink).
- compose Email composition window.
- extensions WebExtensions schema and implementation.
- im The chat front end.
- preferences The preferences tab.
- config Build instructions, including the automation mozconfig files.
- installer Packaging and installation instructions.
- locales The user-visible strings, in US English. Files from this directory become
- test The MozMill user interface tests and the code to run that test suite.
- themes Common and platform-specific styling of Thunderbird user interface. Files from this directory become
Source code specific to the Mail and Newsgroups part of Thunderbird and SeaMonkey.
Code that is not under the Mozilla license. See http://www.mozilla.org/MPL/ for more info.
The RDF file format.
SeaMonkey specific source code.
Files needed for Thunderbird's build infrastructure.
Files needed for Thunderbird's test infrastructure.