Gtkmm-booster
==========

1. Introduction
Gtkmm-booster is used to speed up applications start-up on the maemo platform 
by preloading libraries. It is a booster module for maemo-launcher that can be
invoked by passing --booster gtkmm to maemo-launcher. For more information
about maemo-launcher see http://maemo.org/lxr/source/maemo-launcher/README.

2. Dynamic loading
The priciple maemo-launcher uses for loading boosters is quite simple. When you pass
--deamon foo it will search for a booster-foo.so in its libdir (usually /usr/lib/maemo-launcher)
and try to load the shared library.
The shared library has to export a booster_api_t which has four entries:
- Version: The API version of the booster
- Booster preinit: Invoked then the maemo-launcher deamon is started
- Booster init: Invoked before the child process is forked
- Booster reload: Invoked after the child process has be forked to restore
	a proper status for the next call of booster init.

3. Multiple boosters
As gtkmm is only a wrapper around gtk it is useful to provide all
the stuff from the gtk booster also in gtkmm. Therefore we added
a feature to load multiple booster to maemo-launcher.

4. Activating the booster
If you are running the official Scratchbox SDK from Nokia, activating the
booster is not very difficult. You have to edit /etc/init.d/maemo-launcher
and change the line
DAEMON_BASE_OPTS="--daemon --send-app-died --booster gtk"
to
DAEMON_BASE_OPTS="--daemon --send-app-died --booster gtk,gtkmm"
If you start the environment with af-sb-init.sh start the booster will
automaticly be loaded.
