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