six demon bag

Wind, fire, all that kind of thing!

2014-07-11

Force Extensions into SeaMonkey

SeaMonkey is my preferred web browser, because I'm quite comfortable with its user interface. However, some of my favorite extensions (namely text/plain and ReloadEvery) claim to be incompatible when trying to install them, although they actually work just fine with SeaMonkey. Here's how you can convince an extension that SeaMonkey is totally fine for installation.


For simplicity I recommend using a tool that allows you to in-place-update files inside zip archives, e.g. Midnight Commander on Linux or 7-zip's File Manager on Windows. Otherwise you'll have to manually extract a file from the archive and merge it back after you modified it.

Download the extension, rename the .xpi file to <filename>.zip and open it. Navigate to the file install.rdf and edit it. You'll see a bunch of XML including one or more <em:targetApplication> tags:

<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
    <Description about="urn:mozilla:install-manifest">
        ...
        <em:targetApplication>
            <Description>
                <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
                <em:minVersion>1.0</em:minVersion>
                <em:maxVersion>2.0a1</em:maxVersion>
            </Description>
        </em:targetApplication>
        ...
    </Description>
</RDF>

Look for a target application with the ID {92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} and change the section, so that it looks as follows (or add the section if its missing):

<em:targetApplication>
    <Description>
        <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id>
        <em:minVersion>1.0</em:minVersion>
        <em:maxVersion>2.*</em:maxVersion>
    </Description>
</em:targetApplication>

Save install.rdf, close the zip file and rename it back to <filename>.xpi. You are now able to install the extension in SeaMonkey.

Disclaimer: Setting <em:maxVersion> to 2.* will allow the extension to be installed on all versions of SeaMonkey 2.x. Of course that doesn't necessarily mean that it will actually work with every version of SeaMonkey 2.x. However, at least with text/plain and ReloadEvery I haven't had any issues yet.

Posted 19:58 [permalink]