Auto-activation of desktop-specific programs
Havoc Pennington
hp at redhat.com
Fri Feb 2 12:28:01 PST 2007
Thiago Macieira wrote:
> Havoc Pennington wrote:
>>> Proposed API:
>>> - new method in org.freedesktop.DBus, called:
>>> AddActivatableService(in a{ss} details, [out b success?])
>>> The "details" parameter is a list/map of key-value pairs, just
>>> like the .service file format. Therefore, two keys are mandatory:
>>> Names - the service name to be activatable
>>> Exec - the full path to the executable to be run
>>> An optional third is defined:
>>> Override - contains either the word "true" or
>>> "false". If "true", override any .service file definitions; if
>>> "false", .service files take priority.
>>>
>>> The AddActivatableService method can only be called by the
>>> connection that currently holds the name
>>> org.freedesktop.ActivationManager. Therefore, the application wishing
>>> to configure the list of services must first RequestName the
>>> org.freedesktop.ActivationManager name and be sure to own it (either
>>> through the NameAcquired signal, or through RequestName's reply).
>> Can you go over how this would be used?
>
> Sure.
>
> - X11 starts
> - The desktop script is run (by startx or the DM)
> - The desktop script ensures that D-Bus is running
> - The desktop script starts the desktop-specific daemons
> - One of those daemons is the activation manager, which:
> * acquires the org.freedesktop.DBus.ActivationManager name
> * calls ResetActivatableServices
> * reads the user settings from the desktop-specific config files
> * calls AddActivatableService on the D-Bus daemon, according to user
> preferences
> - The desktop script continues, ensuring that no user applications are
> launched before the configuration is finished
This sounds good, thanks.
>> The most important question I think is the policy question; i.e. what
>> changes are desktops expected to make to the activatable services.
>
> I'd say that they are expected to change only those few services that
> freedesktop.org decides are desktop-specific services. The first ones I
> can think of are the web browser and the mail client. Obviously,
> freedesktop.org also has to define an object path and an interface to
> which the calls will be placed.
OK, that sounds fine; we need to be sure this is documented, though I'm
not sure where... I guess wherever we document the activation manager
concept.
Havoc
More information about the dbus
mailing list