Search this site

Page 1 of 2  [next]





tabsearch extension now works with Firefox 3.0

I noticed that my tabsearch extension wasn't working properly after installing Firefox 3.0b5. A quick read of this document helped me figure out what was wrong. I also wasn't specifying the right content location in my chrome.manifest, which somehow worked fine in firefox 2 despite not being correct. Maybe the previous extension release was a custom built one that didn't use the make system I have now, either way, it's all fixed.

Head on over to the firefox tabsearch project page and download it.

Download: tabsearch-20080430.xpi

Additionally, I've noticed that Firefox 3.0b5 doesn't seem to render this site correctly. Seems like it's ignoring my CSS of "pre { overflow: auto; }" which makes pre tags scroll if they become too wide. I'm willing to accept that I may be doing something incorrect (that has historically worked fine) - I'd much rather have the site render as intended. I'll look into it later.

urledit firefox extension project page is up.

I put up a project page for the new urledit extension. It includes download links and a screencast demo.


Firefox URL Editor extension ready.

Last week, I posted about a new firefox extension I was working on that would let you edit the contents of the urlbar more easily. Well, I have good news. It's alive.

The current incarnation is very basic, but I have some ideas for how to extend it in the future. I won't go into that now.

This extension adds a menu item to the context menu in the url bar labeled 'Edit URL'. This will bring up a dialog box with a table of key-value pairs listed. You can edit, add, or delete entries. Clicking 'OK' will modify the url based on your changes. It automatically unescapes values and re-escapes them later.

Download urledit.xpi

Firefox 'url editor' implemented with xdotool

You'll need xdotool and these 3 scripts for this example: Then just run 'ffue' and it'll open up vi with the current url split so you can edit it. Save+quit and it'll unsplit it and use ffup to go to the modified url.

Firefox URL Editor extension - in progress.

The goal of this project is to allow me to edit any parameter in the url bar quickly, rather than having to scroll slowly and inaccurately across the single line that is the urlbar. This is extremely necessary when you're dealing with long urls.

Firefox tab search extension

I'm tired of searching through my piles of open tabs in firefox using only my eyes. Make the computer do the hard work! To fix this, I wrote an extension that will let you quickly search (unobtrusively!) your open tabs. Super useful. Check out the project page:

View the screencast demo

Visit the firefox-tabsearch project page

Vertical tabs in Firefox 2

Update: Vertigo has been released for Firefox 2! Yay :)

The 'Vertigo' extension doesn't work in Firefox 2. Some googling finds a few solutions, all of which suck. That said, I think I'm going to dive back into playing with firefox and make an extension.

So far I've managed to get vertical tabs with a scrollbar that pops up when there are more-than-displayable tabs open. However, much of tonight left me extremely frustrated.

Development with Firefox seems to be exceedingly dependent on trial-and-error. Save whatever files, restart firefox. Repeat. Repeat. Repeat. Firefox is not lightning quick to startup, and I'm not sure how to edit extensions that are currently running without a restart. Maybe there's a debugger I don't know about. Mostly I'd just like to explore the DOM while it's running (Firefox's XUL DOM, not the current web page).

All I wanted to add (tonight) was the ability to choose what side of the browser the tab bar went on.

The following CSS will move the bar to the right (with my extension):

#appcontent tabbox {
  -moz-box-direction: reverse;
Also doing <tabbox dir="reverse" in the XUL works too. I need to set this in javascript.

This means = "reverse" should work, right? Here's everything I tried:

var tabbox = document.getElementsByTagName("tabbox")[0];

// Doesn't work (trying either 'reverse' or 'rtl'): = "reverse"; = "reverse";
tabbox.dir = "reverse";
tabbox.direction = "reverse";

//Try to tell the vbox  (tab list) to order after/before the browser pane:
tabbox.childNodes[0].ordinal = 0;
tabbox.childNodes[0].ordinal = 2;
I'm at a total loss. My lack of familiarity with XUL is hurting me here. What's confusing, is the following code outputs "ltr" (left to right), meaning = "rtl" should work:
  var x = window.getComputedStyle(tabbox, ""):
Googling for 'tabbox dir' and other variants doesn't show much promise. Wrapping the contents of the tabbox in an hbox and attempting to tweak the direction of the hbox fails, too.

The following code produces something interesting:

alert(tabbox.childNodes[0].nodeName + " / " + tabbox.childNodes[1].nodeName);
The output is "tabs / tabpanel". It should be "vbox / splitter" or something close to that.

Further investigation lands me at gBrowser.mTabBox which has the correct children (has the full xul dom within the real tabbox. where tabbox.childNodes[0] should be a vbox, and it is only when I access mTabBox, not through the tag lookup.

gBrowser.mTabBox.dir = "reverse";
And voila, the tab bar is on the right.

I'm not sure why the following statements yield different values:

 document.getElementsByTagName("tabbox")[0] != gBrowser.mTabBox
Very strange... These should point to the same objects, and while they both are 'tabbox' elements, their children are quite different (the former is an element-trimmed version containing only tabs and tabpanel).

Anybody? ;)

Reason #2252 part C, why Firefox is crappy.

I use firefox as my primary web browser. I have for a number of years. Lots of things about it irritate me. Today's irritation is it's startup sequence.

You kids can play at home too! Do this:

tcpdump -np 'port 53'
Now, start firefox fresh. Watch it do a dns lookup. Now do something to disable dns, such as pointing dns at an invalid server, or adding a search suffix to your dns client such that your hostname.suffix does not exist. Start firefox again. Watch it do a dns lookup on yourhostname.suffix and FAIL MISERABLY. What do we do in case of dns failure? Let's wait on DNS!!! WOOT. Except, dns never comes back. So, let's never start.

God damnit this is annoying.

Project Ideas for the near future

  • Write/find a non-crappy, very simple comment plugin for pyblosxom.
  • Write/find a better tab-searchy extension than Reveal
  • Rework grok's config syntax to do more with less typing
  • Sleep
If you have any suggestions for the 'find'-type items, let me know :)

Got Firefox with too many tabs open?

My work environment has changed drastically as I become more dependent on Firefox to feed me information from the web. As such, I often have more and more tabs open as the day progresses. Closing a tab is annoying, becuase in 15 minutes I'll probably need that page again. Since I don't close tabs often, I end up with a huge tab list when the only thing I can see in the tab itself is the favicon.

Obviously, searching for a tab is extremely difficult when all you have for identification is horizontal location and a tiny icon. I had previously resorted to a Monte Carlo-style method of finding tabs, which is just a fancy term for "keep clicking random tabs until you find the right one." Again, this has the obvious side effect of wasting time and annoying me.

I set out yesterday to write a Firefox extension to solve this issue. I've got a prototype working pretty well, but a friend recently pointed me at Reveal. Reveal is a Firefox extension that lets me search titles and urls of open tabs for a page I'd like to view. It can search the page text, but I imagine that it is quite cpu intensive, so I don't bother. I installed it, and while I don't care for the thumbnails, the searching is fast and useful. However, I have doubts of it's speed when running on slower machines (this particular desktop is 3.4gHz).

With about 15-20 tabs open, it seems to perform pretty well. I am uncertain as to how well it scales. Being able to turn thumbnailing off entirely might be an option worth trying. For now, Reveal solves the problem well enough.

I have lots of ideas about how to search pages quickly without having to search the entire text content - like only looking at "important" tags such as the H1-H6 series, etc. I haven't needed page text searching yet, though, so I'll wait on spending time on that particular problem.