Re: multihead support in evolution
- From: Michael Meeks <michael ximian com>
- To: "Shahms E. King" <shahms shahms com>
- Cc: desktop-devel-list gnome org, evolution <evolution-hackers ximian com>
- Subject: Re: multihead support in evolution
- Date: 31 Jul 2002 10:22:56 +0100
Hi Shahms,
On Tue, 2002-07-30 at 16:19, Shahms E. King wrote:
> I'd be happy to look into it if you could give me a "jumping off point"
> so to speak.
Ok; there are 2 things you need to do:
a) Ensure that the DISPLAY context parameter passed on each oaf
request is correct, to do this you need to back-port this:
/* FIXME: nasty contractual bonobo-activation issues here */
context = bonobo_activation_context_get ();
CORBA_exception_init (&ev);
CORBA_Context_set_one_value (
context, "display",
DisplayString (gdk_display),
&ev);
CORBA_exception_free (&ev);
To oaf; [ make this a function in some evolution library shared across
components ].
Then you need to make sure that whenever a component is registered with
oaf; that you do something like:
/* Create the factory. */
registration_id = eel_bonobo_make_registration_id (factory_iid);
factory = bonobo_generic_factory_new (registration_id,
make_object,
&callback_data);
g_free (registration_id);
Which makes it a per display IID: where the eel_..._ is defined as:
char *
eel_bonobo_make_registration_id (const char *iid)
{
return bonobo_activation_make_registration_id (
iid, DisplayString (gdk_display));
}
[ you need to include gdkx.h to make that work ].
Then to test it you just need to run evolution, run xnest:
Xnest -ac :2.0 &
export DISPLAY=:2.0
and run evolution again - when it works you won :-)
It'd be great to get this tested and working in evolution, since we'll
be stuck with a Gtk 1.2 / Gnome 1.4 version for the next few months.
Regards,
Michael.
--
mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]