gspi -- Interactive experimentation with AT-SPI for GNOME

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

 



Hi List.

I recently started a little project which I think might be of interest to
people on this list.

As you probably know, GNOME is providing a interface
for Assistive Technology software, like Screen readers.

This interface is exposed via IDL definitions (CORBA), and
a C library.  Since I do not particularily like the typical
Edit-Compile-Run cycle of a typical compiled language like
C, I decided to try and write bindings for said libraries
for Guile, the GNU Scheme interpreter.

Using this little program, one can poke around in the
AT-SPI interactively.  Here are some examples:

fzidpc73:/tmp# ./spi
Guile AT-SPI Version 0.0.2
gspi> (spi-init)
0
gspi> (applications)
(#<Accessible 0x80e63e8, name="gnome-session", role=application> #<Accessible 0x80e6270, name="nautilus", role=application> #<Accessible 0x80e60f8, name="gnome-panel", role=application> #<Accessible 0x80e5a30, name="mixer_applet2", role=application>)
gspi> (define nautilus (cadr (applications)))
gspi> (children nautilus)
(#<Accessible 0x80e6e40, name="Desktop", role=frame>)
gspi> (find nautilus focused?)
(#<Accessible 0x80fcab0, name="Start Here", role=unknown>)
gspi> (define focus (car (find nautilus focused?)))
gspi> (next-child focus)
#<Accessible 0x80fc938, name="root's Home", role=unknown>
gspi> (previous-child focus)
#f
gspi> (children (parent focus))
(#<Accessible 0x80fcab0, name="Start Here", role=unknown> #<Accessible 0x80fc938, name="root's Home", role=unknown> #<Accessible 0x80fc7c0, name="Trash", role=unknown> #<Accessible 0x80fc660, name="Start Here", role=unknown>)

...

You can get the latest tarball of gspi from
http://delysid.org/gspi.html

Comments are welcome, of course.

-- 
CYa,
  Mario


_______________________________________________

Blinux-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/blinux-list

[Index of Archives]     [Linux Speakup]     [Fedora]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]