Thunderbird Mail Directory Structure
When the work for thunderbird moves to the trunk, we will be moving the thunderbird UI into a new top level directory, mozilla/mail. Initially, we will only fork UI files we needed to modify from the mozilla mailnews client. Once we reach that point and have a trunk version of minotaur, our next step is to completely fork the UI from mozilla mailnews, and move to the new toolkit. Here is a proposal for the directory structure of mozilla/mail. Note: it is based on the structure used by Phoenix and the new toolkit (which includes removing extra directory layers, in particular: resources and en-US).
- app: files necessary to generate minotaur.exe (nsMailApp.cpp)
- profile: profile defaults for a minotaur profile (all.js, mailnews.js, etc).
- base: core mailnews files used by all the mail components
- content: xul, js files (messenger.xul)
- locale: dtd, property files (messenger.dtd)
- components: the various components that make up a mail client (address book, imap, news, etc).
- news
- content
- locale
- addrbook
- content
- locale
- compose
- content
- locale
- imap (if necessary)
- content
- locale
- local (if necessary)
- content
- locale
- prefwindow: minotaur pref files (pref-viewingmessages.xul, pref-mailpreftree.xul)
- content
- locale
- accountmgr: account manager files
- content
- locale
- news
- skin: Files specific to the minotaur skin
- messenger
- addressbook
- msgcompose
- extensions: components which are not requied to build stand alone mail (smime, bayseian spam filters, mdn)
- smime
- content
- locale
- skin: skin specific files for this extension
- bayesian spam filter
- content
- locale
- skin
- mdn
- content
- locale
- skin
- mailviews
- content
- locale
- skin
- smime
Alternatively, instead of having a global top level skin directory, we could push that down into each module. For instance, base could have a skin directory, components/prefwindow could have a skin directory, components/addrbook, etc. (Note: in fact this is what we ended up doing)