Re: bonobo activation environment matching and DISPLAY



A Qui, 2004-08-19 às 16:59, Bill Haneman escreveu:
> Hi:
> 
> Bonobo activation allows matching of services by environment string. 
> This is used in accessibility code, for instance when identifying a
> magnification service, speech server, or at-spi-registryd appropriate to
> a particular desktop session.
> 
> However the env matching logic in bonobo-activation requires perfect
> string matches.  Any applications which are spawned in an environment
> which gets DISPLAY from gdk_get_display (for instance, children of
> gnome-session) end up with a potentially different environment from
> gnome-session itself, or the initial shell.  We're still investigating
> why, but at first glance it looks as though gdk_get_display constructs a
> display:screen string rather than just doing getenv("DISPLAY").

  I wonder why does gnome-session change DISPLAY for spawned children. 
That seems to be the main cause of trouble.

> 
> We're wondering what the best fix is - should we just special case the
> matching of DISPLAY in bonobo-activation, rather than trying to enforce
> consistent values of DISPLAY among desktop processes?  Or should we call
> gdk_get_display and re-normalize the environment of the client before
> doing a bonobo-activation query?

  The original idea, when this environment matching code was developed,
was to design special variables, like %display%, or %lang%, that would
receive special matching logic inside bonobo-activation-server, based on
other real env. vars.

  Unfortunately, I became increasingly busy at work and ran out of time
to implement this.  Also, the increasing lack of interest in libbonobo
by most people is a bit discouraging, I have to admit.

  Regards.

-- 
Gustavo J. A. M. Carneiro
<gjc inescporto pt> <gustavo users sourceforge net>
The universe is always one step beyond logic




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