Re: OAF annoyance



Miguel de Icaza <miguel ximian com> writes:

>     > OAF does have a feature to allow components to be used on
>     > programs running on multiple displays from the same machine (a
>     > component can register as
>     > `some.domain.com:0,OAFIID:stuff-stuff'. I think Evolution is
>     > just not using this feature.
> 
> I am interested in this feature, can you explain to us how this works?

OK, first off I will warn you that I have some open Nautilus bugs
relating to running multi-display, so I am not 100% sure this is still
working today. However, the one change you need to do this is to do
like so when registering your factory, instead of just registering by
IID:

------------

        /* Create the factory. */
        registration_id = oaf_make_registration_id (factory_iid, g_getenv ("DISPLAY"));
        factory = bonobo_generic_factory_new_multi (registration_id,
                                                    make_object,
                                                    &callback_data);
        g_free (registration_id);


-----------

A factory exe server that registers this way will be per-display
instead of per-user. It would be nice to make a more transparent
wrapper for this in Bonobo at some point (add a gboolean per_display
argument to bonobo_generic_factory_new{,_multi} perhaps) once we are
free to break compat again.


 - Maciej







[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]