I'd like to propose patches to improve Jitsi portability and flexibility.
First of all I'm proposing some patches in order to allow the programmer to easily choose the protocol names for URL handling.
So whoever builds Jitsi from source can simply define the SIP and XMPP URL protocol names in default.properties.
The advantage of customizing the names is that you can avoid using a standard one, maybe already used by another app (eg.
use 'jitsisip' instead of 'sip'). This makes more sense if you consider "portable" or "user" apps.
A second feature is the ability to specify where to register these protocol names. You can choose to tell Jitsi to register
them on startup in, eg., HKCU, instead of having the installer do that. Jitsi will unregister on shutdown.
I did this in order to make a custom Jitsi application that makes sure everything is registered as expected instead of relying
on an installer or stub.
So then I patched the build.xml file (attached) in order to create 2 targets:
* one is a self-extracting 7zip installer which I usually use to silently install/upgrade Jitsi which in turn registers keys in HKCU
* another is a PortableApps.com installer which you can configure with or without custom URL handling protocol names. Also,
the installer will run Jitsi by setting the config dir to the appropriate Data subdir as with portableapps.com spec (requires trivial bug fix as in SIPCommunicator.java.diff). Registry keys
will be handled by portableapps.com's launcher.ini (pre-configured by build.xml/ant).
The details are in build.xml.
I don't know if it's of interest to anyone and if it's worth opening a feature request on JIRA.
build.xml.diff (27.4 KB)
defaults.properties.diff (881 Bytes)
GeneralConfigurationPanel.java.diff (1.23 KB)
GuiActivator.java.diff (6.18 KB)
SIPCommunicator.java.diff (1.6 KB)
swing.ui.manifest.mf.diff (549 Bytes)
UriHandlerJabberImpl.java.diff (2.51 KB)
UriHandlerSipImpl.java.diff (3.19 KB)