theme selector

light blue screenshot grey screenshot navy screenshot dark green screenshot red and black screenshot

by Tony Chang

All opinions on this site are my own and do not represent those of my employer.

Creative Commons Attribution License

faster extension development

Mar 21, 2005, 09:27pm EST



When creating a Firefox extension, I normally writes some code for an extension, create a XPI file, installs it in Firefox, restarts Firefox, test the extension, and then repeat the process. It’s like an edit-compile-debug development cycle except there’s extra overhead in creating the XPI and installing it. The 2 second delay in installing an extension can be annoying if you’re writing an extension.

Fortunately, you can cut out a couple steps in the process by creating a symlink from your profile’s chrome dir to your actual code. For example, if I’m working in ~/myextension/, I can create a symlink from ~/.mozilla/firefox/hash.profilename/extensions/{[extension hash]}/chrome~/myextension/chrome. Now I can edit the code and see the changes simply by restarting Firefox.

Don’t know what I’m talking about? There are a couple good tutorials about how to create Firefox extensions.

Numbski at Jun 13, 2005, 08:34pm EDT

I’m just about to get my feet wet in the extension development stuff, but I’m wondering…are you limited language wise? I usually do perl, but I’m considering trying python this first time out since it is the native lanuage for BitTorrent, and the extension I wish to write needs to support that.

I realize that I’m creating a pre-requisite for the extension itself by doing so, presuming that win32 users will have a python interpreter installed (I will inform the user and provide needed links), and on *nix I will need to make the user aware of this, and some package managers may handle it for me.

Just wondering if it can even be done.

tony at Jun 14, 2005, 02:16am EDT

You probably want to start here. Extensions are primarily written in javascript (a lot of Firefox is written in javascript). I think you can use code from any language if you can make an XPCom object, but it would be pretty hard for a first extension.

Numbski at Jun 14, 2005, 12:27pm EDT

Perhaps this?