This repository has been archived by the owner on Nov 13, 2022. It is now read-only.
Continuous build
Pre-release
Pre-release
Plover 4.0.0.dev8+427.g3ab4180
Plover is going through a huge overhaul to make for a better experience for our users, and developers, too.
Warning: Version 4 is a major change and the configuration file it creates is not compatible with Plover 3 or earlier. Please backup your
plover.cfg
Installation Guide
Read the Installation Guide to see which file you need to download.
Features
Core
- A new
SET_CONFIG
command can be used to change the configuration with a stroke, e.g.:to change the opacity of the "Add Translation" dialog on the fly. (openstenoproject#989)"O*EP": "{PLOVER:SET_CONFIG:'translation_frame_opacity':100}", "TR*PB": "{PLOVER:SET_CONFIG:'translation_frame_opacity':0}",
- Speed up loading dictionaries. (openstenoproject#1022)
- Be more restrictive with macro names: only accept valid identifier, so for example
==
is not handled like a macro anymore. (openstenoproject#1025) - Ignore case when processing builtin commands / metas. (openstenoproject#1069)
- Add user friendly names for built-in metas, e.g.:
{:retro_case:cap_first_word}
,{:retro_currency:$c}
,{:attach:attach^}
, etc... (openstenoproject#1069) - Improve orthography rules. (openstenoproject#1092, openstenoproject#1212)
- The configuration is now automatically saved on change, rather than on exit. (openstenoproject#1123)
- Add prefix strokes (syntax
/STROKE
) that will only translate if they are at the beginning of a word. Word endings can be specified with{:word_end}
or{$}
. (openstenoproject#1157) - Add support for conditional formatting (based on the text following a translation):
{=REGEXP/TRANSLATION_IF_FOLLOWING_TEXT_MATCH/TRANSLATION_IF_NOT}
or{:if_next_matches:REGEXP/TRANSLATION_IF_FOLLOWING_TEXT_MATCH/TRANSLATION_IF_NOT}
. (openstenoproject#1158)
User Interface
- Add menu entry for opening the configuration directory ("File" => "Open config folder"). (openstenoproject#981)
- Automatically focus the input field and pre-select the previous input when the lookup window is activated. (openstenoproject#1009)
- Improve the configuration dialog for serial machines: automatically scan available ports and default to the first one. (openstenoproject#1036)
- The "Add translation" stroke lookup now returns entries for all enabled dictionaries and is debounced to improve performance. (openstenoproject#1084)
- Added translation into Spanish. (openstenoproject#1165)
- A new command,
{PLOVER:SUGGESTIONS}
, is available to open the suggestions window with a steno stroke. (openstenoproject#1184) - Add support for saving dictionaries:
- save a copy of each selected dictionary
- merge the selected dictionaries into a new one
- both operations support converting to another format (openstenoproject#1244)
Linux
- The distribution Python is now built with optimization. (openstenoproject#1068)
- Expand the list of supported key names in key combos to include non-US specific keys (like
ISO_Level3_Shift
). (openstenoproject#1082) - The default configuration directory on Linux is now
~/.config/plover
(~/.local/share/plover
is still supported for backward compatibility). (openstenoproject#1123)
macOS
- The minimum version supported by the macOS bundle is now 10.13 (High Sierra). (openstenoproject#1156)
Windows
- The distribution is now 64bits. (openstenoproject#1023)
Bugfixes
Core
- Fix retrospective insert space macro when the previous translation involved suffix keys. (openstenoproject#995)
- Fix updating a dictionary mapping: ensure reverse lookups data stays consistent. (openstenoproject#1022)
- Fix keymap validation: properly fallback to default keymap when invalid. (openstenoproject#1065)
- Fix lookups by translation: do not ignore lower priority dictionaries when a match is found in a higher priority one. (openstenoproject#1066)
- Fix wordlist support for system plugins: try loading from the system dictionaries root (and not Plover assets directory). (openstenoproject#1116)
- Configuration save operations are now atomic. (openstenoproject#1123)
- Fix forced lowercasing of all engine command arguments. (openstenoproject#1139)
- Fix implicit hyphen handling with numbers only strokes on some theories (e.g. Melani). (openstenoproject#1159)
- Fix unbounded memory use in the lookup functions used by the Suggestions window. (openstenoproject#1188)
Dictionaries
- Fix a number of invalid entries in the main dictionary. (openstenoproject#1038)
- Tweak orthographic rules so "reduce/{^ability}" result in "reducibility" instead of "reducability". (openstenoproject#1096)
User Interface
- Fix a possible crash on close when opening a read-only dictionary in the editor. (openstenoproject#897)
- Fix possible crash when changing machine parameters in the configuration dialog. (openstenoproject#1041)
- Fix internationalization of machine types in the configuration dialog. (openstenoproject#1061)
- Fix tools shortcuts. (openstenoproject#1062)
- Fix crashes due to GUI exceptions reaching the event loop. (openstenoproject#1135)
- Fix an exception caused by an incorrect assertion that would prevent enabling and disabling extension plugins if they weren't on the first row. (openstenoproject#1171)
- Fix changes to the list of enabled extension plugins not being saved to the configuration file. (openstenoproject#1230)
- Fix missing translations. (openstenoproject#1248)
Linux
- Fix output capitalization issue. (openstenoproject#1153)
- Fix a race condition that may freeze Plover while toggling with keyboard input machine. (openstenoproject#1163)
macOS
- Fix an issue where permissions had to be granted to "env" on macOS Catalina 10.15. (openstenoproject#1152)
Windows
- Fix Unicode characters output. (openstenoproject#991)
- Fix installer's icon. (openstenoproject#1027)
API
Breaking Changes
StenoDictionaryCollection.casereverse_lookup
now returns aset
(instead of alist
). (openstenoproject#1066)- The API for providing i18n support as been changed: see
doc/i18n.md
for more information. (openstenoproject#1258)
New
plover_build_utils.setup
now provides a newbabel_options
helper for configuring Babel for i18n support. (openstenoproject#1258)