much praise plus a few tips Rated 4 out of 5 stars

This extension is just great and certainly much superior to the extremely crash-prone Gnome CHM Viewer or other stand-alone applications. Because what could be better at displaying bunches of html files (for that's what chm files basically are) than a powerful web browser like Firefox? Opening chm files with CHM Reader inside Firefox is a bit too complicated for my taste (but see my tip below), toggling the index display on/off could be easier too, but otherwise, this extension is a job very well done.

One major drawback, however, is the packaging. The XPI presented above is rather old and not compabtible with 64-bit systems. But you can easily build your own up-to-date version. In Ubuntu, do the following:

1) apt-get install svn xulrunner-dev scons (you may need more packages if you haven't done any compiling of your own before, so YMMV)

2) At a terminal, grab the current source code like this:

svn co https://chmreader.svn.sourceforge.net/svnroot/chmreader/trunk chmreader

3) cd to chmreader/trunk and set two variables by entering:

export GECKO_SDK=/usr/lib/xulrunner-devel-1.9.1.3
export export PATH=$PATH:/usr/lib/xulrunner-devel-1.9.1.3

You may have to modify the numbers in the path name to reflect the version of the Gecko SDK/xulrunner development package that's on your machine.

4) Generate an XPI file to install in Firefox:

make package

That's it! If you want to use CHM Reader on both 32-bit and 64-bit machines, you'll have to build separate packages on each platform (though there's probably some way to cross-compile the whole thing into a univeral package).

If you would like to open any chm file in Firefox by double-clicking it in Nautilus, do the following:

1) Place a file named firefox-chm.desktop or similar in
~/.local/share/applications and paste the following text into it:

[Desktop Entry]
Version=1.0
Name=Firefox as CHM Reader
Comment=View CHM file in Firefox with CHM Reader extension
Exec=firefox-chm %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox-3.0
Categories=
MimeType=application/x-chm;
StartupWMClass=Firefox
StartupNotify=true
NoDisplay=true
Terminal=false

2) Then create a file named firefox-chm somewhere in your path (e. g. ~/bin), make it executable (chmod u+x firefox-chm), and put this snippet of perl code into it:

#!/usr/bin/env perl
my $url = shift;
$url =~ s[^(?:file://)?][chm:file://];
exec('firefox', $url);

You don't like perl? Well, use your own favorite scripting language then ...