MacBook – Speech Commands with Eclipse

eclipsemacbook provoice-dictation

I'm running Mac OS X 10.7.5 on my MacBook Pro and love the Voice Commands / Speakable Items feature.

I also have a lot of custom commands that I use by writing applescripts and putting them in either ~/Library/Speech/Speakable Items or ~/Library/Speech/Speakable Items/Application Speakable Items/myApplication. This has worked well for me so far.

However, this does not seem to work when I created a directory in Application Speakable Items called Eclipse for using speech commands with my eclipse IDE. I even tried using the Make this speakable command while using eclipse, but that doesn't seem to work either.

The only thing I can think of now is to put all of eclipse's commands into Speakable Items and call them from there, but that is not a very elegant solution.
Does anyone have any thoughts on what I can do?

Best Answer

In my experience, using Speakable Items for the rather, shall we say, complicated applications can get a bit tricky - but there's no reason it's not possible. Usually, if you use the "Make This Speakable" command whilst an application is in focus (i.e is your foreground app), a folder will be created for it in Application Speakable Items if it does not already exist.

As OS X is UNIX-based, my initial idea was to call the folder eclipse, as the executable that the system sees (not the .app bundle itself) is actually called eclipse as opposed to Eclipse.

However, should that not work, Apple's official advice is to simply drag the folder to your desktop and then attempt to use the "Make This Speakable" command whilst using (in this case) Eclipse so that the computer will (or at least should) create the folder for you - at which point you can simply drag all the AppleScripts you have made into the newly-created folder.

From a programming / behind-the-scenes point of view, though, the answer may well hinge on what version of Java you are using! Should you be using Apple's own Java implementation, you will likely run into more problems than using the latest Java 7 release.

Eclipse uses the Standard Widget Toolkit (SWT), which wraps native controls (or more accurately, makes Java communicate with OS X like it would with, say, other *nix) so by those standards alone ought to already be accessible. I know that NetBeans is mostly, if not entirely accessible at least from a VoiceOver standpoint.

Browsing Eclipse's documentation and bug history reveals discussion of this back in 2007, and seems to suggest they were working on it in 2008, but there's no mention of having Eclipse controlled with AppleScript voice commands. It ought to be straightforward and simple, so if it seems like Eclipse and/or OS X is resisting every attempt to communicate with Java or the IDE itself via AppleScript(s), I'd be inclined to believe it's some quirk with Eclipse or its communication with the SpeechWorker and the rest of OS X.