Please add questions or answers to this page so that other people can benefit from your work. Also, you will see that there are many topics for which there is a question, but no answer. Please help by adding an answer! (Adding another question helps too!)
To get started creating the most basic extension framework, please see Building a Thunderbird Extension.
This page is organized into two parts: common TB use cases and common techniques. This provides a quick way to get you started. Both parts are about accomplishing things programatically, but these parts split everything into things users do that you would like to improve, and things you need to do to accomplish that goal.
See also "An overview of Thunderbird components". Many of the components described on that page have links to related examples.
Part 1: Common Thunderbird Use Cases
Each of the pages listed in this section contains a number of related topics. For example, the "Compose New Message" page contains sections that describe how to open a new message window, modify a message body, etc.
Part 2: Common Thunderbird Extension Techniques
- Access StringBundle from Overlay
- Access Thunderbird Window Areas
- Access Window NEW!
- Access Window Area TODO
- Add Toolbar Button
- Add New Tab
- Add Option to Context Menu TODO
- Create Custom Column
- Detect Opening Folder
- Filter Incoming Mail NEW!
- Get Thunderbird version
- Modify Folder Pane Display TODO
- Modify Message List TODO
- Use SQLite
Activity Manager
- Show a user-defined activity in the Activity Manager window NEW!
- Show a user-defined activity with cancel capability (JavaScript) in the Activity Manager window NEW!
- Show a user-defined activity with undo capability (C++) in the Activity Manager window NEW!
- Add an activity with a custom context type in the Activity Manager window NEW!
- Add a fully customized activity in the Activity Manager window NEW!