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.

Owner
Kathy
CS Student, Steno Enthusiast.
Kathy
Use Brainf*ck with python!

Brainfudge Run Brainf*ck code with python! Classes Interpreter(array_len): encapsulate all functions into class __init__(self, array_len: int=30000) -

1 Dec 14, 2021
the project for the most brutal and effective language learning technique

- "The project for the most brutal and effective language learning technique" (c) Alex Kay The langflow project was created especially for language le

Alexander Kaigorodov 7 Dec 26, 2021
A simple document management REST based API for collaboratively interacting with documents

documan_api A simple document management REST based API for collaboratively interacting with documents.

Shahid Yousuf 1 Jan 22, 2022
A simple tutorial to get you started with Discord and it's Python API

Hello there Feel free to fork and star, open issues if there are typos or you have a doubt. I decided to make this post because as a newbie I never fo

Sachit 1 Nov 01, 2021
Example Python code for running the mango-explorer marketmaker

🥭 Mango Explorer 📖 Introduction This guide will show you how to load and run a customisable marketmaker that runs on Mango Markets using the mango-e

Blockworks Foundation 2 Apr 11, 2022
A fast time mocking alternative to freezegun that wraps libfaketime.

python-libfaketime: fast date/time mocking python-libfaketime is a wrapper of libfaketime for python. Some brief details: Linux and OS X, Pythons 3.5

Simon Weber 68 Jun 10, 2022
NoVmpy - NoVmpy with python

git clone -b dev-1 https://github.com/wallds/VTIL-Python.git cd VTIL-Python py s

263 Dec 23, 2022
Collection of Summer 2022 tech internships!

Collection of Summer 2022 tech internships!

Pitt Computer Science Club (CSC) 15.6k Jan 03, 2023
The project that powers MDN.

Kuma Kuma is the platform that powers MDN (developer.mozilla.org) Development Code: https://github.com/mdn/kuma Issues: P1 Bugs (to be fixed ASAP) P2

MDN Web Docs 1.9k Dec 26, 2022
FxBuzzly - Buzzly.art links do not embed in Discord, this fixes them (rudimentarily)

fxBuzzly Buzzly.art links do not embed in Discord, this fixes them (rudimentaril

Dania Rifki 2 Oct 27, 2022
Generate modern Python clients from OpenAPI

openapi-python-client Generate modern Python clients from OpenAPI 3.x documents. This generator does not support OpenAPI 2.x FKA Swagger. If you need

555 Jan 02, 2023
freeCodeCamp Scientific Computing with Python Project for Certification.

Polygon_Area_Calculator freeCodeCamp Python Project freeCodeCamp Scientific Computing with Python Project for Certification. In this project you will

Rajdeep Mondal 1 Dec 23, 2021
The OpenAPI Specification Repository

The OpenAPI Specification The OpenAPI Specification is a community-driven open specification within the OpenAPI Initiative, a Linux Foundation Collabo

OpenAPI Initiative 25.5k Dec 29, 2022
A python package to import files from an adjacent folder

EasyImports About EasyImports is a python package that allows users to easily access and import files from sister folders: f.ex: - Project - Folde

1 Jun 22, 2022
A markdown wiki and dashboarding system for Datasette

datasette-notebook A markdown wiki and dashboarding system for Datasette This is an experimental alpha and everything about it is likely to change. In

Simon Willison 19 Apr 20, 2022
Fast syllable estimation library based on pattern matching.

Syllables: A fast syllable estimator for Python Syllables is a fast, simple syllable estimator for Python. It's intended for use in places where speed

ProseGrinder 26 Dec 14, 2022
graphical orbitational simulation of solar system planets with real values and physics implemented so you get a nice elliptical orbits. you can change timestamp value or scale from source code idc.

solarSystemOrbitalSimulation graphical orbitational simulation of solar system planets with real values and physics implemented so you get a nice elli

Mega 3 Mar 03, 2022
Plugins for MkDocs.

Plugins for MkDocs and Python Markdown pip install neoteroi-mkdocs This package includes the following plugins and extensions: Name Description Type m

35 Dec 23, 2022
Autolookup GUI Plugin for Plover

Word Tray for Plover Word Tray is a GUI plugin that automatically looks up efficient outlines for words that start with the current input, much like a

Kathy 3 Jun 08, 2022
Show Rubygems description and annotate your code right from Sublime Text.

Gem Description for Sublime Text Show Rubygems description and annotate your code. Just mouse over your Gemfile's gem definitions to show the popup. s

Nando Vieira 2 Dec 19, 2022