Flattening Firebird

Maybe I’m just getting too slow and simpleminded in my old age, but I no longer like having dozens of things going on at once. When I read RSS in SharpReader, if there’s a link I want to follow, or if someone manages to catch my attention with their horrible 20 word auto-excerpt (rare, but it happens) and I want to read the full entry despite the way they made it as difficult as possible, I want to open it in a new tab in my single Firebird window, in the background, keeping the focus on SharpReader until I’m done with it. Whenever someone on my blogroll updates and pings blo.gs directly, it sends me an IM notification, and if I’m not too busy I want to click the link to open their weblog, but I want the IM notification to stay on top, so I can close it. When I sign on after being offline for a while, I get a window of offline messages from everyone who updated while I was gone, quite often including several separate updates from one person who got inspired. I want to just open each page once, delete all the messages, close the IM window, and then see who said what. If there’s a link in an email I want to check out, again, I want a new tab and I want it in the background until I’m done telling Thunderbird what is and isn’t junk mail.

Teaching Firebird to stay in the background isn’t terribly difficult, but it does require some understanding of the way preferences and profiles work. There are two directories that matter to Firebird: the application directory (e.g. C:\Program Files\MozillaFirebird\), and your profile directory (as explained on the lovely Firebird Help site), where your stuff, bookmarks, saved passwords, and preferences are stored. Preferences come from prefs.js, the file that Firebird modifies when you open Tools → Options, overlayed on startup by user.js. However, there are tons more prefs than just the ones you can set from Options, some of which do great things, and some of which are just vestigal leftovers from Daddy Mozilla. And there are lots of ways to set the extended prefs: my favorite way is just to type about:config in the address bar, but you can also use the Preferential extension, which gives a menu option for a popup with a tree-view of all the preferences, or you can edit user.js, which, for a little more effort, gives you the benefit of portability: when you install a new nightly build and create a new profile, you can just copy over your user.js to the new profile. So for experimenting, about:config or Preferential is the way to go, because it happens immediately, but for things you’ll always want to have set, user.js is the way to go. However, on Windows at least, getting to your profile directory is a pain: on XP, mine is in C:\Documents and Settings\Owner\Application Data (which doesn’t show until you change Explorer’s Folder Options) \Phoenix\Profiles\ForReal\ (don’t ask) bunchaletters.slt\. It’s a pain to drill down to. Luckily, though there isn’t quite an extension for everything, there is for this: ChromEdit gives you an in-browser editor for all three user files in the profile that’s currently in use. Sweet!

But back to flat Firebird: the first step is to set the pref for advanced.system.supportDDEExec to false, because otherwise links from external applications reuse the currently active tab, wiping out whatever you had there. In about.config you just double-click and change it to false, in Preferential you select it, type Ctrl-Return (bleah), and change the value in the select menu, or in user.js, add

user_pref("advanced.system.supportDDEExec", false);

to set it always for all time (all time after you restart Firebird, that is, since user.js only gets read at startup).

Then, you need to set some preferences in Tab Browser Extensions (What do you mean you haven’t installed it? It’s mandatory. Do it now). At the very least, on the Advanced Tab Browsing pane set the Window mode to Use only one browser anytime (Single Window Mode), and on the Focus of Tabs pane check the boxes for Load new tab in the background when it is opened by for everything except possibly The Location Bar, and uncheck both boxes in Focus to browser which New Tab is opened in, when opened by. Sometimes Firebird’s a bit stubborn, but after a restart at most, you should be able to Ctrl-click a link, or click a bookmark, and have a new tab open in the background, and when you click a link in an external application, it should open in a new tab without taking the focus away from whatever you are using. I size SharpReader so it’s just below the Firebird tabbar, so I can see links being opened without having to switch windows constantly, fire off a dozen or two links per reading session, and then go through them afterward, which I find makes me much more willing to follow links than any other method of weblog reading I’ve ever tried.

Note that the combination of Use only one browser anytime or Use multiple browsers only when I open them and the Live HTTP Headers extension is a guaranteed crash when you open a link from an external app or open a local HTML file. It apparently has something to do with inserting the menu option, though when I tried fixing it that way, I ended up completely killing the tab context menu to the point that I had to unzip a new copy of Firebird. I just leave Live HTTP Headers disabled until I need it, and then try really hard not to open links from external apps until I disable it again.


Comment by Dorothea Salo #
2003-06-15 14:25:48

Say, you’re using Thunderbird already? How about a post on how that’s going?

I desperately want to switch, but I’m leery of relying on alpha code. (Must. Not. Lose. Email.)

Comment by Phil Ringnalda #
2003-06-15 20:30:00

Probably too early for me to say much about it, since I’ve only been using it since somewhere around 10 or 11 last night. Seemed solid and usable enough to make it my default mail client after 30 minutes or so, which tells you how valuable I find email: by far the bulk of my email is just a notification of something that’s happened on the web, so missing and losing mail isn’t a big deal for me. Also, I’m not a very good judge of how good T’bird is, since I’ve probably only used Mozilla Mail for a total of ten minutes: it was just so busy and butt-ugly that I never warmed to it at all. Thunderbird’s clean and pretty, even when it doesn’t work quite like I want (seems to insist that separate accounts have their own set of Inbox/Draft/Trash/Etc., rather than mixing them all together like Outlook Express, which is what I’ve been using for years now).

Comment by Paul Freeman #
2003-06-16 08:38:59

Thanks for the Live HTTP Headers crash. I’d thought it was a problem with Tab Browser extensions and had turned off supportDDEExec = false. Which was much annoying, because I was forever Ctrl-S, TAB to firebird, Ctrl-T, tab back to SharpReader, Ctrl-DownArrow, get distracted, do something else in Firebird, go back to SharpReader, Ctrl-S, curse when it loaded in a tab I wanted to keep. Thanks

Comment by alanjstr #
2003-06-27 20:07:19

I think that Piro actually added the DDExec false thing to TBE recently.

Another great editor is Things They Left Out

There are some toggles that are requested frequently, like the MIMEtype panel, so I just pester Chris to add them in. Personally I just store things in user.js, but for the newbies TTLO bring back the Mozilla prefs.

I wonder if this notifies you when I’ve posted a reply.

Comment by Phil Ringnalda #
2003-06-27 20:30:51

Yep, TTLO is in my pile of stuff to steal ideas from ;)

Not sure about DDExec in TBE – haven’t I seen some posts about it getting toggled off to people’s surprise? Or are they just not realizing that TBE defaults it back to true, and they have to tell TBE they want false?

Not to worry, it notifies me six ways from Sunday: an email with the comment, a link to here, and a link to the admin interface, plus I’m subscribed to my comments feed. Couldn’t live (well, wouldn’t blog) without comments: telling the world what you think gets boring for most people after a while, since you already know, but finding out what we think doesn’t seem to get old at all.

Comment by Anonymous #
2003-10-27 00:33:03

Thanks to Google and your page I found the fix to making external apps call a tab instead of an instance. I was looking for command line arguments to do it and such, but the tab extension fixed me right up.

Trackback by Neil's World #
2003-07-14 02:35:45

Night of the Firebird

For the past couple of months I’ve been using the 0.6 (final) build of Mozilla Firebird. However, today I’ve switched back to using a nightly, in this case one that was released on Saturday.

Name (required)
E-mail (required - never shown publicly)
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <del datetime="" cite=""> <dd> <dl> <dt> <em> <i> <ins datetime="" cite=""> <kbd> <li> <ol> <p> <pre> <q cite=""> <samp> <strong> <sub> <sup> <ul> in your comment.