[orca-list] orca and scripts, part 1



Hi all.
As promised in the previous email, I will try to write something about how to build scripts in Orca. I do not have much knowledge on the subject but I will try to pass what I learned.

Criticism, suggestions, corrections, questions or beers are welcome!

This is the part 1.
First some recommendations:

1. Learn how to build and install orca from the git repository. There are messages in the list with instructions.
2. Try to become familiar with the use of git. Things that you should know.
a. How to configure git so that git knows your name and your e-mail.
b. How to clone a repository (git clone).
c. How to update a local repository (git pull).
d. How to create/remove a branch. (git branch).
e. How to switch between branches (git checkout).
f. How to create a patch (git format-patch) or (git diff).
g. How to apply a patch (git apply).
Probably there are more.

3. If you plan to change orca, grab a copy directly from the git repository. The git clone command is your friend. Create a new branch to experiment your changes.

4. You need to know python since orca is written in that language.


Orca works with applications and toolkits that support the Assistive Technology service Provider Interface (AT-SPI). Orca reacts to events created by at-spi. If I understood correctly, the applications uses at-spi to generate events according to the operation performed by the application. If for exemple an application receives the focus, an event is created to inform orca that an application received the focus. If the caret is moved, another event is generated to inform orca that the caret was moved.

Orca receives the event, load a script associated to the application that generated the event and execute a function associated to that event. Seems that there is in the script one function for each kind of event.

If orca does not find a script associated to the application that generated the event, a script called default.py is loaded.


One script is a python class that extends another script and in general it is present in the following folder:
src/orca/scripts/apps/.
Inside that folder there are a folder for each application.
For exemple:
src/orca/scripts/apps/gedit
src/orca/scripts/apps/Banshee

The script default.py, the script that is loaded when there is no script to the current application, stays in the following folder:
src/orca/scripts/.


I'll stop here but will write more soon.
I hope these information are of any use. Feel free to suggestions / corrections.
A Happy New Year to all.
Thanks.



 s


--
[]s  José Vilmar Estácio de Souza



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