MozillaZine

It's time to make your extensions compatible with SeaMonkey

Talk about add-ons and extension development.
Philip Chee

User avatar
 
Posts: 6475
Joined: March 1st, 2005, 3:03 pm

Post Posted October 25th, 2009, 9:08 am

Hi there fellow extension authors!

Phil Chee here. Some of you may know me as the project owner of the Flashblock, Console², and xSidebar extensions. Others may know that I am also an active SeaMonkey developer. For the last few years I have also been running an extension porting service (http://forums.mozillazine.org/viewtopic.php?t=500361) to port Firefox and Thunderbird extensions to SeaMonkey 1.x and lately to the imminent SeaMonkey 2.0. To date I've ported over 100 extensions to SeaMonkey.

When SeaMonkey 2.0 is released this Tuesday, making your extensions compatible with SeaMonkey will be dead easy. We now use the same extension manager as Firefox 3.5.4. which means getting your Firefox or Thunderbird extension working in SeaMonkey could be as easy as 1-2-3:

1. Adding a compatibility section to your install.rdf.
2. In your chrome.manifest, overlay chrome://navigator/content/navigator.xul.
3. Adjust a few item IDs in your overlay that are different with Firefox's browser.xul.

See https://developer.mozilla.org/en/Extensions_support_in_SeaMonkey_2 for the details.

Thunderbird extensions are even easier since almost all our chrome URLs are identical. In fact almost all the Thunderbird extension articles on https://developer.mozilla.org/en/Extensions/Thunderbird will apply to the MailNews component in SeaMonkey including techniques such as creating custom columns (https://developer.mozilla.org/en/Extensions/Thunderbird/Creating_a_Custom_Column).

We use the same toolkit version (1.9.1.4) as Firefox, so all (or almost all) the toolkit APIs that you have come to know and love are available to you including the download manager APIs (although our front end UI is decidedly different), Places History (but not Places Bookmarks as we are still using the Firefox 2.0 bookmarks API) and of course our own version of FUEL which we call SMILE (https://developer.mozilla.org/en/Toolkit_API/SMILE)

On the front end we now support the same customizable toolbars as Firefox and Thunderbird do. In fact some of the improvements I made when implementing customizable toolbars in SeaMonkey have been (or are in the process of being) back-ported to Firefox and Thunderbird so we are actually slightly leading the pack here. To create a toolbar button for SeaMonkey you should follow the exact same steps as in Firefox here https://developer.mozilla.org/en/Creating_toolbar_buttons and here https://developer.mozilla.org/en/Custom_Toolbar_Button/Code_Samples.

Still leary of porting your extension to SeaMonkey 2.0? Have a look at the list of extensions my friends and I have ported to SeaMonkey:
1. Firefox http://xsidebar.mozdev.org/modifiedmisc.html.
2. Thunderbird http://xsidebar.mozdev.org/modifiedmailnews.html

If you see your extension listed here this means that I've already done all the hard work for you so you don't have any excuses left! If you don't I am usually available to answer your questions in irc://moznet/extdev where I go by the nick of Ratty. I am also active in the Mozillazine extension development forum http://forums.mozillazine.org/viewforum.php?f=19 and of course I monitor the mozilla.dev.extensions and the public.mozdev.project-owners newsgroups.

So what are you waiting for? SeaMonkey 2.0 is coming out next week, it's time to get cracking!

Phil
Last edited by LIMPET235 on October 26th, 2009, 6:50 am, edited 1 time in total.
Reason: Made a 14 day Sticky..

Zoolcar9

User avatar
 
Posts: 2225
Joined: November 9th, 2004, 6:45 pm
Location: Jakarta, Indonesia (UTC+7)

Post Posted October 27th, 2009, 9:56 am

My Firefox information | Add-ons | GitHub

"With great power, comes great desire to show it off."

Return to Extension Development


Who is online

Users browsing this forum: No registered users and 2 guests