Explorer Module: Dynamically Generated Folder Interaction Words

Built-in support for navigating the filesystem via Windows Explorer is basically nonexistent in Dragon NaturallySpeaking. The Explorer NatLink module dynamically voice enables Windows Explorer, allowing you to change into subfolders by dictating the folder name, either the entire name or any unique contiguous part of a folder name. You can also open files using the command "Open" followed by the name of the file; as with folder names, you can use the entire name or any unique contiguous part of it. The module works by pulling the list of files for the active Explorer window from the shell object.

The Explorer module will attempt to split names sensibly into words at spaces and punctuation. It will also split CamelCase words (e.g. the folder "FinancialInformation" can be opened with any of the phrases "Financial Information", "Financial", or "Information", assuming no collisions with other folder names). The folder name list is dynamically generated whenever a Windows Explorer window is open in the foreground, so as the filesystem changes the list of commands available will change with it without requiring additional set up.

Command Summary

<Folder Name/Name Part>:
 Open the folder in the current Explorer window specified by all or part of its name
(Open | Edit | Print) <filename>:
 Invoke the specified verb on the file given by all or part of its name
(Copy | Move) to <folder>:
 Copy/move the selected files to the named folder

To Do Items

I'll warn you that the module is a glorified proof of concept: the code is a mess for which I apologize. However I'd rather give folks the opportunity to use it as is if they like rather than waiting until it's "perfect" to release it. While I have been using this module for some time without major issues, it is important to understand that this is not production software and that it has some quirks and limitations. For performance and usability reasons, the module is disabled for folders over a certain number of files/subfolders (the size is configurable in the script). Due to the way that Windows handles the Desktop folder, the script does not work on the Desktop. It also has trouble with accidental switching into folders with short, non-word names, e.g. ".svn".

  • refactoring
  • Desktop folder
  • better documentation
  • "word" recognition

Download

Make sure you have the Python for Windows extensions installed. An easy way to check if it is installed is to look for the PythonWin program (Start -> All Programs -> Python 2.5 -> PythonWin on my Windows XP system). If you don't already have it, download the installer package for your version of Python, double-click the file to run the installer, and step through the install wizard's prompts (the defaults should be fine).