Blog Archives

Bugzilla Tweaks Extension

Bugzilla Tweaks

Bugzilla Tweaks is an extension for Firefox, which is aimed at people involved in the Mozilla project.  Bugzilla Tweaks modifies bugzilla.mozilla.org to make it smarter and easier to use.

Bugzilla Tweaks Preview

Rationale

Bugzilla (the issue management software used by the Mozilla project) is a great tool.  But it’s not perfect.  This is an attempt to change that!

For example, bugzilla by default shows you the comments made on a bug in one page, and the other changes made to it (such as flags, status, assignee, etc.) in another page.  It makes it very hard to figure out when a flag was set.  It doesn’t help you a lot in finding a user when you want to CC them on a bug.  And many other small or big problems which annoy you everyday.

These problems could be solved both on the client side or the server side.  I didn’t know Perl, so that’s why I attempted to solve these problems on the client side instead.

How to Get It?

Installing Bugzilla Tweaks is as simple as installing any other Firefox extension.  Simply, view the Bugzilla Tweaks extension’s page on AMO, and grab the latest version from there.  The latest version currently is 1.8.  Installing this extension doesn’t even require you to restart your browser!

How It Works

After installing the extension, just open any page in bugzilla.mozilla.org, and you’ll notice the differences.  I’ve written some posts in the past which talk about some of the enhancements that this extension makes to Bugzilla, and there are even some enhancements which I have not had the time to mention yet!

Source Code

The source code for this add-on is available on bitbucket.  Feel free to grab it and read it, or change something and send me pull requests!

Known Problems

None so far!

Acknowledgments

Thanks to Johnathan Nightingale for starting the original version of this extension in form of a jetpack, and Steve Fink and Heather Arthur for their code contributions.  Also, thanks to the Jetpack team for providing a rich platform on which you can develop extensions.  And thanks to all the wonderful people who provided me with feedback on what they wanted to see in this extension, and what they liked or didn’t like about it!

Posted in Extension

Form Control Context Menu

Form Control Context Menu

Form Control Context Menu is an extension for Firefox, which simply enables the browser context menu for HTML form control elemnts, such as buttons, drop-down boxes, check boxes, radio buttons, and image buttons.

Find In Numbers Preview

Rationale

About one year ago, I fixed Firefox bug 404536 which caused the browser context menu not appear when the mouse right button is pressed on a form control in web pages, which means either buttons, drop-down boxes, check boxes, radio buttons, or image buttons.  The rationale behind that bug was an attempt to better match the native OS behavior for those controls (for example, buttons in Windows usually do not have any context menus).  This change was released with Firefox 3.0.

This however, made quite a few users angry, because they were either used to this menu and found it useful, or they used extensions which added menu items to these menus, and suddenly there was no way to get to those menu items.

This extension simply reverts to the old behavior of showing the context menu on all HTML elements, including the form elements.

How to Get It?

Installing Form Control Context Menu is as simple as installing any other extension for Firefox.  Simply, view the Form Control Context Menu extension’s page on AMO, and grab the latest version from there.  The latest version currently is 1.0.

How It Works

This extension does not have any user interface, and once you install it, it just works (the context menus start to appear again).

Known Problems

None so far.

Posted in Extension

Find In Numbers Extension

Find In Numbers

Find In Numbers is an extension for Firefox, Thunderbird, Songbird and Flock, which tries to answer to a simple question: How many times does this page match the term I’m searching for?

Find In Numbers Preview

Rationale

When you’re looking for something on a web page, one thing you may ask yourself is how relevant this page is to what I’m searching for.  One easy way to help you in making this decision is how many times this phrase appears on the web page.  This feature exists in Apple’s Safari, for example.  Firefox, by default, does not provide you with this information.  An extension to do that would help a lot of users.  Find In Numbers is such an extension, which provides an unobtrusive match count for anything typed into browser’s Find Toolbar which updates as you type your search phrase.

How to Get It?

Firefox and Thunderbird

Installing Find In Numbers is as simple as installing any other Firefox or Thunderbird extension.  Simply, view the Find In Numbers extension’s page on AMO, and grab the latest version from there.  The latest version currently is 1.4.

Songbird

Download Find In Numbers extension from the Songbird’s add-ons site, and save it to your hard disk.  Then open Songbird, and from the Tools menu, select Add-ons, and then click the Install button, and select the downloaded file.  Songbird should be restarted after this step.  Please note that you should be running Songbird 0.6 or later.

Flock

I’m currently in the process of uploading this extension to the Flock add-ons website, but until then, you can download the extension from AMO.

How It Works

To use this extension, open the Find Toolbar (by pressing Ctrl+F for example) and type something in the search box.  You will see a small match count appears on the Find Toolbar.  This extension works on both Firefox 2 and 3, and is known to work with extensions such as /Find Bar/ and Find Toolbar Tweaks.

Screenshots

For screenshots of Find In Numbers in Thunderbird, Songbird and Flock, check out my blog post.

Find In Numbers: Close-up View
The match count shown on the Find Toolbar after installing Find In Numbers

Find In Numbers: Full ViewFind In Numbers does not get in your way

Known Problems

None so far.

Posted in Extension

Force RTL Extension

Force RTL

Force RTL is an extension for Firefox and Thunderbird, which is aimed at Mozilla developers.  Force RTL tries to help minimize the number of bugs introduced in Firefox and Thunderbird in RTL mode, by giving the developers a very easy tool to test their changes to the Firefox and Thunderbird user interface in RTL mode.

Force RTL Preview

Rationale

Most languages spoken around the world are written from left to right.  There are, however, some languages written from right to left, including, but not limited to, Hebrew, Arabic and Persian.  These languages require special handling in computer software.

The Mozilla project has been supporting RTL languages for quite some time.  However, if you grab the latest version of an RTL build of Firefox, for example, you will note that there are a lot of problems with the user interface which don’t exist in left-to-right versions of the browser.  A lot of these bugs are already known.  Because most of the developers working on these project do not have an RTL version of the browser (and can’t use one of the RTL localizations, because they don’t know those languages), they are often likely to introduce new RTL bugs, which don’t show up in LTR mode (because that’s the mode that the developer has tested his code under).  Therefore, a simple method is needed to change the direction of the user interface to RTL, without changing the language of the interface.  Force RTL attempts to solve this problem.

How to Get It?

Installing Force RTL is as simple as installing any other Firefox or Thunderbird extension.  Simply, view the Force RTL extension’s page on AMO, and grab the latest version from there.  The latest version currently is 2.1.

Please note that Find In Numbers is currently in sandbox, and is therefore shown as experimental.  To install it, you need to register an account on AMO if you don’t already have one, and log in using that account.  Your reviews will help get this extension public, and are appreciated!

How It Works

Firefox 2.0.0.x and Thunderbird 2.0.0.x

When you install this extension in Firefox 2.0.0.x or Thunderbird 2.0.0.x, the interface of the application switches to right-to-left as soon as you restart the application with this extension enabled.  In order to switch back to the left-to-right mode, you should disable this extension and restart the application.

Firefox 3.0.x and Thunderbird 3.0.x and later

When you install this extension in Firefox 3.0.x (including Firefox 3 alpha and beta versions starting from Alpha 1, and higher versions) or Thunderbird 3 Alpha 1 (and higher versions), the direction of the interface can be adjusted dynamically at runtime.  To test it, you can use the "Force RTL Direction" menu item from the Tools menu.  This menu item allows you to switch between RTL and LTR modes dynamically.  For example, if you want to test your patch in RTL mode, you can simply switch to the RTL mode, test your chages, and switch back to the LTR mode when you’re done.  No restart is required.  The selected direction will be saved across sessions, so if you choose the RTL direction and close the application, the next time you open it, it will start in RTL mode by default.  The RTL mode settings affect both existing windows, and the ones you open later on.

Known Problems

Corrupted Menu Layout

During testing this extension, we found out that if you change the direction via the Tools menu, the layout of this menu itself will be corrupted after the switch.  Switching the mode back to what it was does not solve this issue.  Kai Liu (the original creator of this extension) found out that this is a bug in Gecko, and is not specific to our extension.  He filed a bug for this issue, and also wrote a simple test case demonstrating the problem.  Possible workarounds for this issue are opening a new window or restarting the application.  Of course, if what you’re working on does not include menus, this problem does not affect your work in any way.

RTL Builds Not Supported

Currently (as of version 2.1), this extension does not support RTL versions of Firefox and Thunderbird.  Support for those versions is something I can add if users request it, but I’m not sure if it’s helpful, since if you’re running an RTL version of the application, you’re not affected by the problem described above.

Acknowledgments

Thanks to Kai Liu, for his great work on fixing RTL related bugs, and this extension.  The original idea of this extension belongs to him, and he created the initial version of this extension, and helped me with creating the newer version which allows dynamic switching of the direction.

Posted in Extension