This post was origionally written on friday the 29th of February 2008 however over the past few years it got lost due to blog upgrades. Because I’ve noticed a few people looking for this information I thought it would be a good idea to post it again.
Yesterday, I decided to play around with a package called Tilda. Tilda is a graphical console for the Gnome desktop. It runs on KDE as well but its GTK based. The main advantage it gives is more bells and whistles for people who like visual effects. No, I’m not in to visual effects for obvious reasons however I was curious and I like the speed that it launches at
After installing it yesterday, I was very happy to see that Orca worked with it right away. When I ran Tilda for the first time, I was given a configuration wizard screen. Orca spoke all of the focusable objects as if they were made for each other. In the terminal it’s self, flat review could be used to read the console as you would expect with any accessible application. Only problem was that Orca didn’t automatically speak new text as it was written to the screen.
To try to rectify the situation, armed only with my Windows screen reader knowledge and my curiosity, I renamed the gnome-terminal.py file to tilda.py. That didn’t do anything for me. However, thinking back, I wonder if it didn’t do anything for me because I didn’t restart Orca first before trying tilda again. My thinking behind this attempt was that Windows screen readers such as Jaws versions before 7 and Window Eyes used a script or macro type function that was more or less tied to the executable of the application. For example, if notepad.exe was run, Jaws / Window eyes would run the settings / scripts for that file if it found a file named notepad.jsb or notepad.001. This has changed in later versions of Jaws and Window eyes however I assumed that it was possible that the logic was similar in Orca. That didn’t work though so I sent a brief email to the Orca discussion list asking for their suggestions.
Rich Burridge, an Orca developer, took some time out of his busy day to help me. With some research, he determined that Tilda actually used VTE (Virtual Terminal Emulator) This is also used by Gnome-Terminal and has a lot of accessibility support already. This meant that it was probably fine to use the Gnome-terminal script as it would most likely behave the same. Only one small change was required. He suggested that I add a few short lines to my orca-customizations.py file. Look at the end of this post for the specific code.
I want to take this opportunity to describe to you how Gnome accessibility differs from that provided by windows screen readers as in Windows, just copying this script from one application to another expecting it to behave the same would be completely unheard of. Windows screen readers provide accessibility in windows. In Linux”, it’s gnome that provides its own accessibility. Orca takes advantage of this and provides output customized to ensure that users receive the information they need in a way they can understand. That’s the short version. Now for some description.
In windows, if you are using a screen reader like Jaws and an instant messaging program like MSN for example, Jaws needs to monitor very high level behavior. I.e, it needs to track changes to the interface, read text from the status bar, monitor the entire conversation history area and a lot more. It does this to ensure you hear status updates, incoming messages, Contact information and of course, at times, it needs to keep track of your own actions so it can tell you where you are in any given window. Most of this information is obtained by analyzing the interface. Only a very small percentage of what Jaws gets from windows is obtained from information that the application or operating system gives it. In other words, MSN does not communicate with Jaws to tell it that a new message has arrived. Jaws determines this by watching for changes on the screen.
Gnome on the other hand is completely different. It provides assistive software such as the Orca screen reader with information so that it can relay this to the user. In the gnome messaging client, pidgin, Orca is informed when a new message is sent to the message history window. It then has events determined by scripts to tell it what to do with this information. So, it doesn’t matter how you have pidgin configured, it will still send this information to Orca which in turn will relay it to the user. So, bringing it back to the terminal, it doesn’t matter that Gnome Terminal is completely different to Tilda. Tilda uses different colors, different positioning and a lot of eye candy. It really doesn’t matter though as it utilizes this VTE that provides the required accessibility information to Orca!
I should also say here that although my description of the differences between how Windows and Gnome behaves should be accurate, I can’t say it with full certainty. I’m not a developer and if you are really interested in the low level workings of the Gnome window manager and how it provides accessibility, I’d suggest you look into subscribing to the orca mailing list.
That’s all the background and descriptions out of the way. If you’re interested in getting up and running with tilda and Orca, use the following instructions:
- Go into a terminal.
- Press alt and F2 when in the Gnome desktop.
- Type gnome-terminal
- Press enter.
- Install the tilda terminal.
- Type apt-get install tilda
- Press the enter key. When prompted to confirm the package download and installation, type the letter y and again, press enter.
- Exit the terminal window.
- Instruct orca to run the gnome-terminal.py script when you run tilda.
- Press alt f2 to start the run dialogue box.
- Type gedit then press enter.
- Paste the below code into the editor.
from orca.orca_i18n import _
- Save the document by pressing control and s.
- Exit gedit by pressing alt and f4.
- Run the tilda terminal.
- Press alt f2 to start the run dialogue box.
- Type tilda and press enter.
You’re done. You are now in the tilda configuration screen. Configure the package to your own preferences then use the ok button to save your changes and start the tilda terminal. This wizard will not be shown automatically again when you run tilda. To bring up the wizard, type tilda –C in the launch application dialogue box accessible with Alt F2.
I think that should be clear enough. Any problems or questions feel free to leave a comment and I’ll try to get to them.
My thanks to Rich Burridge who so generously helped with this. Without his help I’d probably be working at this still.