RE: at-spi-registryd and Xephyr



Mr. Pinheiro,

Thank you for the reply, I am hoping to utilize your
Clutter accessibility work soon.

I rebooted my computer (VMware) and am getting different
results than I initially reported.  When I run my at-spi
client I no longer get any errors.  It reports 15 apps.

When I run my Python app connected to Xephyr, I see this:

(progname:15364): atk-bridge-WARNING **: AT_SPI_REGISTRY was not started at session startup.
(progname:15364): atk-bridge-WARNING **: IOR not set.
(progname:15364): atk-bridge-WARNING **: Could not locate registry

I read the code for atk-bridge.  It prints the above errors
after trying and failing to retrieve an atom, "AT_SPI_IOR"
from the X display.  The app's X display is Xephyr (:1.0).
When at-spi-registryd started during Ubuntu boot, its X
display was the console (:0.0), so the "AT_SPI_IOR" atom
it defined (and that atk-bridge is looking for) is in a
different X display.  This explains the error messages.

So I did pretty much what you suggested,  I started Xephyr

     Xehpyr :1 <stuff>

I define DISPLAY to :1.0 and started at-spi-registryd,
which starts but silently dies.  I think it discovers the
already-running registryd and says "there can be only one"
and dies.  Obviously I could be wrong here.

So I killed the running at-spi-registryd, started xephyr,
set DISPLAY to :1.0, started at-spi-registryd, and finally
started the app.  Then ran my at-spi client.  This works.

Am I correct that you can only have one at-spi-registryd
running?

-Sam

-----Original Message-----
From: Piñeiro [mailto:apinheiro igalia com] 
Sent: Monday, September 28, 2009 2:49 AM
To: Quiring, Sam
Cc: gnome-accessibility-list gnome org
Subject: Re: at-spi-registryd and Xephyr

From: "Quiring, Sam" <Sam Quiring windriver com>

> I can see that at-spi-registryd is running:
> 
>      > ps aux | grep -i registry
>      user      3176  0.0  0.8  14512  4336 ?        S    Sep23   0:19
> /usr/lib/at-spi/at-spi-registryd
> 
> 
> Is the at-spi-registryd connected/related to an X Display?  Or to the
> window manager?

AFAIK, the at-spi-registryd is related to the specific X Display, so
try to execute the at-spi-registryd using your specific
DISPLAY. Probably this at-spi-registry that you are using is your
desktop one, and using the default DISPLAY.

Ie: working with Maemo (HAIL), and the scratchbox, I usually run the
Xephyr display in this way:

    Xephyr :2 <a lot of other options>

And then, inside the scratchbox terminal, I have defined the display
as:
   export DISPLAY=:2

Then I launch by hand a script to launch the window manager and so on.

And about the window manager, if you want that the at-spi-registryd
manages this process as well, you need to be sure to run the
at-spi-registryd before the WM (in this script it launch the
at-spi-registryd before the WM).

> Is there a known way to make this work?

I hope this helps.

> PS: if it matters, the Xephyr window is using a custom window manager
> (not Xfwm4, not Metacity).

In theory, this shouldn't be a issue.

===
API (apinheiro igalia com)


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