Autolookup GUI Plugin for Plover

Overview

Word Tray for Plover

PyPI GitHub

Word Tray is a GUI plugin that automatically looks up efficient outlines for words that start with the current input, much like autocomplete suggestions. It is heavily inspired by StenoTray, which was a widget made before Plover's plugin system was implemented.

Installation

Install Word Tray using the Plugin Manager!

Usage Notes

Pseudosteno & Tolerance

In the settings page, you may turn on Display Pseudosteno to show hidden sounds in the list of outlines, such as PLOFR instead of PHROFR.

Tolerance determines the maximum outline length above the minimum length the widget will list. For instance, if the minimum number of strokes required to stroke the word "sample" is 2, setting Tolerance = 3 will display all outlines with 2 to 5 strokes.

Macro Strokes & Shortcuts

To scroll between pages in the widget, you may use the following dictionary definitions. Note that these don't come with the plugin itself and you'll have to add them manually! Feel free to use the recommended strokes, or don't.

Action Dictionary Definition Recommended Stroke
Next Page =wt_next_page #-GS
Previous Page =wt_prev_page #-RB
Reload Suggestions =wt_reload #-RBGS

The plugin keeps an internal copy of your dictionaries to load suggestions faster. If you edit the dictionaries, this plugin might not respond immediately; you may force it to reload using the Reload Suggestions stroke.

Display Order Types

Display Order Explanation
Length Order by shortest word first
Frequency Order by most frequent word first, if the current system provides a frequency table.
Stroke Count Order by lowest stroke count first.
Alphabetical Order by translation alphabetically.
System Defined Order defined by the system. The default English stenotype system doesn't have a defined display order. Defaults to Length.

System-defined functions

If you're designing a language system for Plover and you'd like to customize the display order and format, you may do so by including these functions in your system file:

def WT_STROKE_FORMATTER(stroke: str) -> str:
    """Formats single strokes, such as STROEBG"""
    return ...

def WT_TRANSLATION_FORMATTER(translation: str) -> str:
    """Formats the translated string, such as 'stroke'"""
    return ...

def WT_SORTER(entry: Tuple[str, Tuple[str, ...]]) -> int:
    """
    Scores translation-outline pairs, such as ("translate", ("TRAPBS", "HRAEUT"))
    Note that the order of the tuples here are reversed from plover-next-stroke.

    Pairs are ordered from smallest to biggest;
    it need not be an int - anything that can be compared
    works, including strings or tuples of ints.
    """
    translation, outline = entry
    return ...

All suggestions will be run through the two formatters (if available) before being sorted. If the user chooses to turn on pseudosteno formatting, the pseudo conversion will happen first before that is passed to the sorter. The sorter will only be used if the user changes their display order to "System Defined".

License & Credits

This plugin is licensed under the MIT license.

The icons used in this plugin are taken from Icons8 Flat Color Icons.

Much of the UI in this plugin is taken from the Plover Next Stroke plugin.

Of course, it goes without saying that this plugin owes its existence to the original StenoTray, made by @brentn, with contributions from @Mqrius, @morinted, @seebs, and @David-Allison.

You might also like...
Netbox Dns is a netbox plugin for managing zone, nameserver and record inventory.
Netbox Dns is a netbox plugin for managing zone, nameserver and record inventory.

Netbox DNS Netbox Dns is a netbox plugin for managing zone, nameserver and record inventory. Features Manage zones (domains) you have. Manage nameserv

AiiDA plugin for the HyperQueue metascheduler.

aiida-hyperqueue WARNING: This plugin is still in heavy development. Expect bugs to pop up and the API to change. AiiDA plugin for the HyperQueue meta

A Sublime Text plugin to select a default syntax dialect

Default Syntax Chooser This Sublime Text 4 plugin provides the set_default_syntax_dialect command. This command manipulates a syntax file (e.g.: SQL.s

Plover jyutping - Plover plugin for Jyutping input

Plover plugin for Jyutping Installation Navigate to the repo directory: cd plove

Plover-tapey-tape: an alternative to Plover’s built-in paper tape

plover-tapey-tape plover-tapey-tape is an alternative to Plover’s built-in paper

A Plover python dictionary allowing for consistent symbol input with specification of attachment and capitalisation in one stroke.
A Plover python dictionary allowing for consistent symbol input with specification of attachment and capitalisation in one stroke.

Emily's Symbol Dictionary Design This dictionary was created with the following goals in mind: Have a consistent method to type (pretty much) every sy

Launched in 2018 Actively developed and supported. Supports tkinter, Qt, WxPython, Remi (in browser). Create custom layout GUI's simply.  Python 2.7 & 3 Support. 200+ Demo programs & Cookbook for rapid start. Extensive documentation.  Examples using Machine Learning(GUI, OpenCV Integration,  Chatterbot), Floating Desktop Widgets, Matplotlib + Pyplot integration, add GUI to command line scripts, PDF & Image Viewer. For both beginning and advanced programmers . BuddyPress is an open source WordPress plugin to build a community site. In releases of BuddyPress from 5.0.0 before 7.2.1 it's possible for a non-privileged, regular user to obtain administrator rights by exploiting an issue in the REST API members endpoint. The vulnerability has been fixed in BuddyPress 7.2.1. Existing installations of the plugin should be updated to this version to mitigate the issue. Management Gui for OpenVR FSR PlugIn
Management Gui for OpenVR FSR PlugIn

OpenVR FSR App Small GUI to install/uninstall, tweak settings of the Modified OpenVR DLL with AMD FidelityFX SuperResolution Upscaler with a single cl

A GUI for designing Python GUI's for PySimpleGUI.
A GUI for designing Python GUI's for PySimpleGUI.

SimpleGUIBuilder A GUI for designing Python GUI's for PySimpleGUI. Installation There is none :) just download the file from a release and run it. Don

A GUI love Calculator which saves all the User Data in text file(sql based script will be uploaded soon). Interative GUI. Even For Admin Panel

Love-Calculator A GUI love Calculator which saves all the User Data in text file(sql based script will be uploaded soon). Interative GUI, even For Adm

A gui-script-editor(Based on pyqt5, pyautogui) to writing your gui script.
A gui-script-editor(Based on pyqt5, pyautogui) to writing your gui script.

gui-script-editor A gui-script-editor(Based on pyqt5, pyautogui) to writing your gui script. ##更新说明 版本号:1.0.0 版本说明:实现了脚本编辑器雏形,未实现执行报告,自动化脚本管理(只支持单个脚本运

PyQt5 Sample GUI Program - Python PyQt5 Sample GUI application
PyQt5 Sample GUI Program - Python PyQt5 Sample GUI application

Python PyQt5 Sample GUI application Program work like this Designed GUI using De

Simple Linear 2nd ODE Solver GUI - A 2nd constant coefficient linear ODE solver with simple GUI using euler's method
Simple Linear 2nd ODE Solver GUI - A 2nd constant coefficient linear ODE solver with simple GUI using euler's method

Simple_Linear_2nd_ODE_Solver_GUI Description It is a 2nd constant coefficient li

The GUI application by Python3.8. Using QT Design draw UI and generator UI XML file provides to PySide2 build GUI components
The GUI application by Python3.8. Using QT Design draw UI and generator UI XML file provides to PySide2 build GUI components

The GUI application by Python3.8. Using QT Design draw UI and generator UI XML file provides to PySide2 build GUI components. Total adopt OOD design class, service, and abstract class. OOP implemented this project.

Pardus-flatpak-gui - A Flatpak GUI for Pardus
Pardus-flatpak-gui - A Flatpak GUI for Pardus

Pardus Flatpak GUI A GUI for Flatpak. You can run, install (from FlatHub and fro

Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.
Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.

Xadmin Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap. Liv

A simple but flexible plugin system for Python.

PluginBase PluginBase is a module for Python that enables the development of flexible plugin systems in Python. Step 1: from pluginbase import PluginB

A Linux webcam plugin for BGMv2 as used in our demos.

The goal of this repository is to supplement the main Real-Time High Resolution Background Matting repo with a working demo of a videoconferencing plu

Comments
  • Some pseudosteno edge cases

    Some pseudosteno edge cases

    Sharing a few pseudosteno edge cases I detected and organized for ease of future reference. Thanks!

    Pseudosteno rule | Fails on word pattern | Example word | Steno | Current pseudo | Expected | Notes -|-|-|-|-|-|- KP- → X- | -cc- as /ks/ | access | KPES | KPES | XES -BGS → -X | -x- as /ks/ | execution | EBGS/KAOUGS | EKSHUN/KUUGS | EX/KUUSHUN |

    execute is correctly EX/KUUT
    -BGS → -KSHUN | -xation- as /kseɪʃən/ | taxation | TAEUBGS | TAIX | T*AIKSHUN |
    tricky as taxation includes X too /details> PH- → M- | comm- as /kə.m/ | commune | KPHAOUN | KPHUUN | KMUUN PH- → M- | pl- as /pl/ | simpler | SPHRER | SMRER | SPLER STK- → DS- | dec- as /dɨ.s/ | decision | STKEUGS | SDISHUN | DSISHUN STKPW- → SG- | dis’g- as /dɪsɡ/ | distinguish | STKPWEUGS | DSBISH | SGISH |
    also false positive for PW-: word has no b
    STKPW- → SG- | ag- as /əɡ/ | again | STKPWEPB | SDBEN | SGEN |
    also false positive for TK- and PW-: word has no d or b/details> -GS → -SHUN | -gion as /dʒən/ | region | RAOEGS | REEGS | REESHUN |
    could consider a voiced allosuffix -JUN of pseudosteno -SHUN
    -GS → -SHUN | -shion as /ʃən/ | fashion | TPAGS | FAGS | FASHUN -NGS → -SHUN | -nation as /n(eɪ)ʃən/ | donation | TKOENGS | DOENGS | DOENSHUN -NGS → -SHUN | -ntion as /n(t)ʃən/ | mention | PHEPBGS| MENGS | MENSHUN -RB → - SH | -rp as /rpʃən/ | absorption | SPWORBGS | SBOSHSHUN | SBORBSHUN -RBG → - RK | -rk as /rk/ | dark | TKARBG | DASHG | DARK -FRB → -RV | -ver as /v.r/ | everybody | EFRB | EFRB | ERV -F → -V | -ver as /v.r/ | several | SEFRL | SEFRL | SEVRL -F → -V | -ver as /v.r/ | silver | SEUFRL | SIFRL | SIVRL |
    has lvr inversion
    -FP → -CH | -sp’tion as /sp.ʃən/ | disposition | TKEUFPGS | DICHSHUN | DIFPSHUN |
    false positive: word has no ch sound
    -FP → -CH | -sp’cion as /sp.ʃən/ | suspicion | SUFPGS | SUCHSHUN | SUFPSHUN | " -FP → -CH | -st’nt as /st.ənt/ | resistant | REUFPBT | RICHBT | RIFNT | " -FP → -CH | -f’n as /f.n/ | defend | TKEFPBD | DECHBD | DEFND | " -FP → -CH | -sp as /sp/ | whisper | WHEUFP/*ER | WHICH/*ER | WHIFP/*ER | " -FP → -CH | -pfl as /pfl/ | helpful | HEFPL | HECHL | HEFPL | " -FP → -CH | acronym brief | evidence
    based
    medicine | PWEFPL | BECHL | BEFPL | "

    opened by hftf 3
  • fix setup

    fix setup

    • fix build requirements: add pyproject.toml, and ensure PyQt5 is available (by depending on plover[gui_qt])
    • fix editable installation: ensure the develop command generate the UI resources
    opened by benoit-pierre 0
  • If the input stroke exactly matches a suggestion, sort it 1st

    If the input stroke exactly matches a suggestion, sort it 1st

    Could either implement as an additional final sorting tiebreaker (i.e. only goes into effect assuming all other sorting keys are equal), or a checkbox option that forces the input to always be ranked first.

    Hopefully this enhancement might reduce the number of misstrokes that show up at the top of the list of suggestions.

    opened by hftf 0
Owner
Kathy
CS Student, Steno Enthusiast.
Kathy
An MkDocs plugin to export content pages as PDF files

MkDocs PDF Export Plugin An MkDocs plugin to export content pages as PDF files The pdf-export plugin will export all markdown pages in your MkDocs rep

Terry Zhao 266 Dec 13, 2022
An MkDocs plugin that simplifies configuring page titles and their order

MkDocs Awesome Pages Plugin An MkDocs plugin that simplifies configuring page titles and their order The awesome-pages plugin allows you to customize

Lukas Geiter 282 Dec 28, 2022
MkDocs plugin for setting revision date from git per markdown file

mkdocs-git-revision-date-plugin MkDocs plugin that displays the last revision date of the current page of the documentation based on Git. The revision

Terry Zhao 48 Jan 6, 2023
MkDocs Plugin allowing your visitors to *File > Print > Save as PDF* the entire site.

mkdocs-print-site-plugin MkDocs plugin that adds a page to your site combining all pages, allowing your site visitors to File > Print > Save as PDF th

Tim Vink 67 Jan 4, 2023
Ultimaker Cura 2 Mooraker Upload Plugin

Klipper & Cura - Cura2MoonrakerPlugin Allows you to upload Gcode directly from Cura to your Klipper-based 3D printer (Fluidd, Mainsailos etc.) using t

null 214 Jan 3, 2023
Zero configuration Airflow plugin that let you manage your DAG files.

simple-dag-editor SimpleDagEditor is a zero configuration plugin for Apache Airflow. It provides a file managing interface that points to your dag_fol

null 30 Jul 20, 2022
NetBox plugin that stores configuration diffs and checks templates compliance

Config Officer - NetBox plugin NetBox plugin that deals with Cisco device configuration (collects running config from Cisco devices, indicates config

null 77 Dec 21, 2022
NetBox plugin for BGP related objects documentation

Netbox BGP Plugin Netbox plugin for BGP related objects documentation. Compatibility This plugin in compatible with NetBox 2.10 and later. Installatio

Nikolay Yuzefovich 133 Dec 27, 2022
Poetry plugin to export the dependencies to various formats

Poetry export plugin This package is a plugin that allows the export of locked packages to various formats. Note: For now, only the requirements.txt f

Poetry 90 Jan 5, 2023
Crystal Smp plugin for show scoreboards

MCDR-CrystalScoreboards Crystal plugin for show scoreboards | Only 1.12 Usage !!s : Plugin help message !!s hide : Hide scoreboard !!s show : Show Sco

CristhianCd 3 Oct 12, 2021