Tuesday, July 9, 2013

Plover 2.4.0 released with On-The-Fly Dictionary Update!

Out of nowhere, our incomparable lead dev Hesky has delivered a knockout one-two punch. Version 2.3.1 was released only yesterday, but today he unexpectedly released an absolute whopper of an update: Version 2.4.0!

Download it here.

What's so amazing about this version? It has the crucial feature that I've been hankering for since Josh and I first started The Plover Project back in 2010: Just-in-time Dictionary Updates from the steno machine!! No longer do you have to shut Plover down, open up the dictionary file in a text editor, make your additions or edits by typing the steno in qwerty-style with all the accompanying JSON formatting, close the file, and restart Plover. Oh, no. Now you can do it seamlessly from within Plover itself, using your steno machine! Check it out.

Hesky sez: "To use the machine, add an entry to your dictionary that maps to {PLOVER:ADD_TRANSLATION}. When you type that stroke the dialog will pop up. When you type in the strokes field then raw strokes will be typed unless the stroke maps to a key combo or command. To navigate between the two fields use {#Tab}. To save the new entry use {#Return}. To cancel use {#Escape}.

A word of WARNING: This is the first version of plover that writes to your dictionary. In particular, if you are using an RTF dictionary then plover will not save anything in the dictionary that it doesn't understand. Please make sure to BACKUP YOUR DICTIONARY before using it with plover.

To open the dialog manually go to Configure... > Dictionary > Add Translation"

I personally have {PLOVER:ADD_TRANSLATION} defined as TKUPT (for "dictionary update"), {#Tab} defined as TA*B, {#Return} as R-R, and {#Escape} as FEFBG. Feel free to use those, or use your own preferred command strokes.

Seriously, though, this is Plover's killer feature. I've been using it in an experimental branch for several months, and it's increased Plover's usability more than I can possibly describe. Now that it's integrated into the main trunk and is far smoother and speedier to boot, I'm in absolute paradise. Go download it right away and add a bunch of entries!


gdwarner said...

Hi, Mirabai.

I was just playing with the dictionary entry feature and I must say . . . wow, wow, wow! :o)

Are there any other commands one can use for dictionary entries? I guess the one I need most right now is how do I capitalize the next word? I'm also used to using the entries from the StenoKeys dictionary which allows me to capitalize words that have been written one, two, three, or four words back.

Hmm. some of my dictionary doesn't seem to have made it all the way through the import process . . . but we'll see.

-- gdw

Mirabai Knight said...

Probably the strokes that weren't imported were formatting strokes; paragraphing and macros and that sort of thing. Plover just isn't equipped to handle them, so it leaves them out. Let me know if any actual words didn't get imported.

I answered this on the mailing list, but this is what I use for cap next:

"KPA": "{^^}{-|}{^^}{-|}",
"KPA*": "{^ ^}{-|}",

Unfortunately we don't have a "cap last" command, but you can use:

"STPH-RB": "{#Control_L(Left)}{^}",
"STPH-R": "{#Left}{^}",
"STPH-B": "{#Right}{^}",
"STPH-BG": "{#Control_L(Right)}{^}",

Which are navigation keys. So you could use STPH-BG to go left one word, then STPH-B to go right one letter, B-FP to backspace the letter, and then fingerspell the capital version of the letter. Or you could do what I do, which is to use vim. If I'm in command mode, I can just fingerspell bbb~w~w~w~ and then use my "jump back to end of file" command to go back and capitalize the previous three words. You can define a single steno stroke to do all of that too. Let me know if you need any more navigation tips! I'm hoping to write a Steno 101 post about this soon.

gdwarner said...


I don't think I'm going to be working with VIM, Mirabai!

That said, Phoenix has a stroke that allows me to go back one word and sort of squeeze them together. This is good if you have a word like "buyback."

When I just stroked those words, the words were separate. With the P-P stroke, it goes back and deletes that extra space.

Is that possible in Plover?

Mirabai Knight said...

Heya, Glen! You can't do it retroactively (unless you program a macro to do it by jumping the cursor around and then going back to your original position, which you can probably do in something like Word, though it won't work for every program). But you can do it proactively. Just do TK-LS, which will give you {^}. That will glue the next stroke to the one you just wrote, without inserting a space.

Unknown said...

Wow, it is so incredible! My dictionary (some 540,000 entries) -- only had to clean up some 60 (that's right SIXTY) entries. Everything imported flawlessly. And the product? Wow, thanks. Deserves a donation for the developer's assets. I don't do PayPal; any other options? Including mailing address for a check? Thanks! This is great.

-- Mark Crossley, Sacramento

Mirabai Knight said...

That's great! I'm so glad you're enjoying it. Hesky, our current developer, has refused to take donations for Plover, because he's basically the best guy ever. Thanks, though! Keep enjoying the software! (':

Anonymous said...

I'm sure this question has been asked before, but is there a way I can convert my dictionary from CaseCat to Plover. I've been tinkering around with it, but I can't fully enjoy it without my actual dictionary.

Mirabai Knight said...

Hi! You don't have to convert it; just export it from CaseCAT as an rtf and then load it into Plover. Make sure you remove Plover's default dictionary from the list of active dictionaries. Then you should be ready to go! Have fun!