How to get your Firefox Extension working on Minimo
June 1, 2006
One of my fun upcoming tasks is to get a fully event driven desktop like application working on a handheld device like an IPAQ. Ideally, I was hoping to reuse my firefox extension that acts a socket server to listen for events from the outside system and have the app respond to said events. For example... you're on a plane and someone wants to order a drink so they hit the service button on their seat. That button sends a message that is broadcast out to the rest of the system and if the crew member assigned to your section is signed in on their IPAQ they should get a little alert on their device, all asyncronously.
Enter Minimo...
Since I can't reuse my extension with Pocket IE, Minimo was my obvious choice. Minimo is the "mini" firefox browser for handheld devices. Although still VERY much in its infancy I was able to actually get my extension running with the of help of the mozilla forums.
This is a very basic tutorial on how to get a basic extension working in minimo. Since there is no packaging mechanism for minimo extension you kind of have to hack your way through it. First things first....You have to install Minimo on a handheld device. The good news is that was very simple, just download and follow the installer on windows. Next lets look at the file structure of the Minimo Application on the handheld device. Open up file explorer on the handheld and you can see its:
\Program Files\Minimo\chrome
\Program Files\Minimo\components
\Program Files\Minimo\greprefs
\Program Files\Minimo\res
The only thing we're going to do is drop 2 files into the Chrome directory
1. mytest.manifest
2. mytest.jar
There is no XPI file. We're just going to create an extension that does an alert() message from the XUL overlay file. This will get you started at at least let you know if you're able to install an extension.
Lets take a look at the first file we need mytest.manifest
This file contains the path information so minimo knows what do with our extension. Its a very simple file with two lines
content mytest jar:mytest.jar!/content/ xpcnativewrappers=no
overlay chrome/minimo/content/minimo.xul chrome/mytest/content/overlay.xul
1st line we're saying our jar file is mytest.jar and our junk can be found in the the /content/ directory of our jar file
2nd line we're saying overlay the overlay.xul file in my content directory over the minimo.xul file
take a careful look at the paths and make sure you're extension matches whats going on here.
So lets take a look at our extension folder on our local machine:
C:\mytest\content\overlay.xul
C:\mytest\mytest.manifest
So now we have to create our overlay.xul file:
thats it, just a simple alert message that says "hey dude". So now we have the two files we need. So next step is to right click on the content directory inside the C:\mytest directory and choose SEND TO -> COMPRESSED FILE which will create a .zip file next to the content directory. Change that to mytest.jar
Now we're ready to drop that sucker into Minimo. Open up Microsoft Active Sync and click Explore

Next click on My Windows Mobile-Based Device, Program Files, Minimo and you should be looking at a screen that looks like this:

Now go back to your local machines "mytest" directory and copy the mytest.manifest file and the mytest.jar file over to the "chrome" directory in the active sync file explorer page. Your chrome directory should now look like:

thats it! now just close Minimo and reopen it and it should prompt you with an alert that says "hey dude"
Enter Minimo...
Since I can't reuse my extension with Pocket IE, Minimo was my obvious choice. Minimo is the "mini" firefox browser for handheld devices. Although still VERY much in its infancy I was able to actually get my extension running with the of help of the mozilla forums.
This is a very basic tutorial on how to get a basic extension working in minimo. Since there is no packaging mechanism for minimo extension you kind of have to hack your way through it. First things first....You have to install Minimo on a handheld device. The good news is that was very simple, just download and follow the installer on windows. Next lets look at the file structure of the Minimo Application on the handheld device. Open up file explorer on the handheld and you can see its:
\Program Files\Minimo\chrome
\Program Files\Minimo\components
\Program Files\Minimo\greprefs
\Program Files\Minimo\res
The only thing we're going to do is drop 2 files into the Chrome directory
1. mytest.manifest
2. mytest.jar
There is no XPI file. We're just going to create an extension that does an alert() message from the XUL overlay file. This will get you started at at least let you know if you're able to install an extension.
Lets take a look at the first file we need mytest.manifest
This file contains the path information so minimo knows what do with our extension. Its a very simple file with two lines
content mytest jar:mytest.jar!/content/ xpcnativewrappers=no
overlay chrome/minimo/content/minimo.xul chrome/mytest/content/overlay.xul
1st line we're saying our jar file is mytest.jar and our junk can be found in the the /content/ directory of our jar file
2nd line we're saying overlay the overlay.xul file in my content directory over the minimo.xul file
take a careful look at the paths and make sure you're extension matches whats going on here.
So lets take a look at our extension folder on our local machine:
C:\mytest\content\overlay.xul
C:\mytest\mytest.manifest
So now we have to create our overlay.xul file:
<?xml version="1.0"?> <overlay id="pacsock_overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript"> alert('hey dude!'); </script> <!-- Context Menu --> </overlay>
thats it, just a simple alert message that says "hey dude". So now we have the two files we need. So next step is to right click on the content directory inside the C:\mytest directory and choose SEND TO -> COMPRESSED FILE which will create a .zip file next to the content directory. Change that to mytest.jar
Now we're ready to drop that sucker into Minimo. Open up Microsoft Active Sync and click Explore

Next click on My Windows Mobile-Based Device, Program Files, Minimo and you should be looking at a screen that looks like this:

Now go back to your local machines "mytest" directory and copy the mytest.manifest file and the mytest.jar file over to the "chrome" directory in the active sync file explorer page. Your chrome directory should now look like:

thats it! now just close Minimo and reopen it and it should prompt you with an alert that says "hey dude"
;Op says:
June 18, 2007 @ 07:31 — Reply
Hi Jim. Thanks for this small tutorial. But actually I need to do more than a bare alert ;-) Do you know where I can get some documentation about the subset of features supported by minimo, compared to firefox? Thanks
Arun says:
August 4, 2009 @ 21:24 — Reply
Hi Jim, //I was hoping to reuse my firefox extension that acts a socket server to listen for events from the outside system. Can you please provide a link to the extension you have mentioned? I searched around for this plugin and couldn't find any.
blu ray ripper says:
April 18, 2010 @ 04:29 — Reply
Comment pending moderation
World Cup Betting says:
May 4, 2010 @ 12:13 — Reply
Comment pending moderation
642-067 says:
May 19, 2010 @ 00:34 — Reply
Comment pending moderation
notebook adapter manufacturer says:
May 29, 2010 @ 00:35 — Reply
Comment pending moderation
virbram five fingers says:
June 4, 2010 @ 20:32 — Reply
Comment pending moderation
coach outlet store says:
June 7, 2010 @ 02:08 — Reply
Comment pending moderation
LOuIs VuItToN Damier Graphite Canvas says:
June 9, 2010 @ 21:16 — Reply
Comment pending moderation
E20-322 says:
June 12, 2010 @ 18:19 — Reply
Comment pending moderation
Louis Vuitton handbags says:
June 16, 2010 @ 01:33 — Reply
Comment pending moderation
designer handbags says:
June 19, 2010 @ 19:45 — Reply
Comment pending moderation
replica watches says:
June 21, 2010 @ 03:42 — Reply
Comment pending moderation
replicas watches says:
June 21, 2010 @ 18:14 — Reply
Comment pending moderation
air max says:
June 24, 2010 @ 02:27 — Reply
Comment pending moderation