Flexible Choosers

This is based on the pedal menu system, but also accessible by voice.

The flexible chooser builds a tree structure, in which at each level it divides the available choices into a suitable number of bundles, and lets you choose which bundle. When you get down to few enough choices to pick an individual one, you can then do so.

If doing this from the pedals, you are presented with a small number of choices for quick navigation in not too many pedal strokes. If doing it from a voice command, you are given more choices, as it is possible to jump to any one of them in a single action.

When in each level of the tree, it works like a pedal menu -- you navigate up and down it using forward and backward pedals as in Versor, and select one you want using the menu/select pedal.

If you are using the voice option, you can also say a word or words occurring in one of the choices, then press space or the menu pedal, to filter the available choices to those matching that word. (You can also do this by typing the words you want.) When the list is narrowed down to one ``choice'' (i.e. no choice at all!) that is taken as selected; this way, choices can be made without having to speak punctuation characters.

At any stage, you can also select [Back] and [Top] options, which are appended to the range of choices at each level of the tree.

The code

The code for this is in the file flexi-choose.el. Loading the file will add the appropriate things to your menus. The main entry point, should you want to use flexi-choose in your own programs, is called choose-in-steps.

Contact me
[computing] [emacs] [handsfree] [John's home]