Thursday, July 12, 2012: XULRunner App Development Experience
#thaiWitter has been using the engine in Firefox 3.6 since 2011, and I attempt to roll my own #thaiWitter app in XULRunner.
This blog post describes its experience.
This blog post doesn’t cover how to write XUL applications, you better read about it on the MDN.
This blog post covers about how to run a XUL application on various platform, because XULRunner sometimes like to act very strangely in some platform.
At the time of writing, it’s XULRunner 13.0.2. And the XUL articles on MDN is very outdated.
On The Mac
I started with the Mac platform. I followed the tutorial to create a XUL application. I got all the chrome stuff ready and ready to run the application.
--install-app also doesn’t work.
So I think I will have to package an application bundle first to be able to try it out, and that worked.
I followed the steps described in Deploying XULRunner article, to the point of running the app:
It complains about library not found and stuff. It turns out that I have to copy (or symlink)
all the .dylib files from
Frameworks/XUL.Framework/ into the
MacOS folder too.
…and finally, it runs, it runs!
So therefore I assembled a build script that packages the application, available here: dtinth/xulrunner-twclient/osx.
On Windows, however, it’s much more straightforward. Just follow the deploying XULRunner article and everything should work just fine.
To change the icon of the window (by default windows will show the blue globe icon),
just add an
ico file with the name matching the
id property of the window to the
So if I have a
<window id="tw-main-window">, I’d put my app icon on
On Windows, I like to distribute my app as a “portable app,” so I also made a batch script that copies stuff to make a runnable app, available here: dtinth/xulrunner-twclient/win.
Not yet lol
When the linux version is out, I’ll update this post. But I guess that it’s straightforward, just follow the deploy guide and things should work well.