Saturday, February 16, 2008

Okay, so the icon isn't much. But it represents nsINotificationArea support for WebrunnerPrism under Linux (not complete by any means, but it actually shows/hides the icon and sets the tooltip, which at the very least is measurable progress). Most of the time was spent wrestling with the build system, which is about as surprising as something not very surprising. A hard-coded icon file extension in webrunner.js cost me more than a few minutes of sulking too. (And what's the deal with XPM instead of PNG?)

It uses GtkStatusIcon, which was introduced in GTK+ 2.10, but seeing as how e.g. the printing changes that went into the Firefox 3.0 nightlies also require 2.10 or later, I doubt it's much of a problem. If there's any interest in this stuff upstream, that is.

I spoke a short while to mfinkle over IRC yesterday about this. He pointed me to the XPM-to-PNG bug as well. I switched to using PNG locally, it's basically a 2 line fix from what I can tell. With the side-effect of icons actually showing up on the main Prism window (with XPM they didn't).

As the tray icon code looks right now, it's not ready for any sort of deployment (in that it doesn't work). It shows the icon, but the onNotificationAreaClick callback causes a segfault. Haven't a clue as to why.

I have every intention of sharing this upstream if it's wanted, even though it started out mostly as a "lets see if this works" kind of thing.