I just wanted to get some thoughts down on Session Services and perhaps
get some people looking at what has been done so far.
At the last GUADEC I gave a speed talk on what we were doing to improve
session startup. We were working on a dependency system that could
start up gnome services and make it easy to add or remove services
without having to hardcode them as we do now. To achieve this goal we
started libgnomeservice in gnome cvs which included a service manager
patch to gnome-session. As it stands the the dependency portion of the
code need a lot more work.
This all sparked the interest of Rodrigo Moya who started working on a
wrapper for allowing services to work with the framework before they
were integrated with libgnomeservice. This work along with some fixes
in dbus activation code is almost complete from what Rodrigo has told
me. This allows us to throw a service file in a directory and the
service is started on login.
While I don't see this being included with the next GNOME 2.12 release
many people have been asking for these features and I think it is time
we consider fixing up the gnome-session patch to make it conditionally
compilable and get people playing with it. I think the lead time needed
to fix up all the issues is not that long and distros can start to
include at least the wrapper part in the near future and then eventually
get it proposed for 2.14.
Things that need to be done:
* fix up the gnome-session patch so it is conditionally compilable -
right now the patch strips out large portions of gnome-session code.
* add a switch (or gconf key/env variable) to turn off all the hardcoded
services that are started so people can play with the new code in a pure
session.
* Make sure we handle the new service startup spec from freedesktop.org
* Add the dbus patch for handling command line switches when activating
services (almost in)
* Write up documents on how to integrate with the new session services
framework
* Add conditionally compiled code to key services so people can play
with them