{"id":14964390,"url":"https://github.com/kaoffie/plover_word_tray","last_synced_at":"2025-10-25T07:30:42.807Z","repository":{"id":41134336,"uuid":"441319920","full_name":"Kaoffie/plover_word_tray","owner":"Kaoffie","description":"Autolookup GUI Plugin for Plover","archived":false,"fork":false,"pushed_at":"2022-08-27T04:52:44.000Z","size":54,"stargazers_count":5,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-31T06:11:20.617Z","etag":null,"topics":["plover","plover-plugins"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kaoffie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-23T23:41:01.000Z","updated_at":"2024-02-19T06:26:28.000Z","dependencies_parsed_at":"2022-07-13T19:10:37.765Z","dependency_job_id":null,"html_url":"https://github.com/Kaoffie/plover_word_tray","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaoffie%2Fplover_word_tray","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaoffie%2Fplover_word_tray/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaoffie%2Fplover_word_tray/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaoffie%2Fplover_word_tray/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kaoffie","download_url":"https://codeload.github.com/Kaoffie/plover_word_tray/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238096265,"owners_count":19415766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["plover","plover-plugins"],"created_at":"2024-09-24T13:33:06.992Z","updated_at":"2025-10-25T07:30:37.491Z","avatar_url":"https://github.com/Kaoffie.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Word Tray for Plover\n[![PyPI](https://img.shields.io/pypi/v/plover-word-tray)](https://pypi.org/project/plover-word-tray/)\n![GitHub](https://img.shields.io/github/license/Kaoffie/plover_word_tray)\n\n**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**](https://github.com/brentn/StenoTray), which was a widget made before Plover's plugin system was implemented.\n\n![](https://user-images.githubusercontent.com/30435273/147299721-5c1727ce-4536-4636-9f2a-4c668d9296fe.png)\n\n## Installation\n\nInstall Word Tray using the Plugin Manager!\n\n## Usage Notes\n\n### Pseudosteno \u0026 Tolerance\n\nIn the settings page, you may turn on **Display Pseudosteno** to show hidden sounds in the list of outlines, such as `PLOFR` instead of `PHROFR`.\n\n**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.\n\n### Macro Strokes \u0026 Shortcuts\n\nTo 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.\n\n| Action             | Dictionary Definition | Recommended Stroke |\n|--------------------|-----------------------|--------------------|\n| Next Page          | `=wt_next_page`       | `#-GS`             |\n| Previous Page      | `=wt_prev_page`       | `#-RB`             |\n| Reload Suggestions | `=wt_reload`          | `#-RBGS`           |\n\nThe 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.\n\n### Display Order Types\n\n| Display Order | Explanation |\n|---|---|\n| Length | Order by shortest word first |\n| Frequency | Order by most frequent word first, if the current system provides a frequency table. |\n| Stroke Count | Order by lowest stroke count first. |\n| Alphabetical | Order by translation alphabetically. |\n| System Defined | Order defined by the system. The default English stenotype system doesn't have a defined display order. Defaults to Length. |\n\n### System-defined functions\n\nIf 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:\n\n```py\ndef WT_STROKE_FORMATTER(stroke: str) -\u003e str:\n    \"\"\"Formats single strokes, such as STROEBG\"\"\"\n    return ...\n\ndef WT_TRANSLATION_FORMATTER(translation: str) -\u003e str:\n    \"\"\"Formats the translated string, such as 'stroke'\"\"\"\n    return ...\n\ndef WT_SORTER(entry: Tuple[str, Tuple[str, ...]]) -\u003e int:\n    \"\"\"\n    Scores translation-outline pairs, such as (\"translate\", (\"TRAPBS\", \"HRAEUT\"))\n    Note that the order of the tuples here are reversed from plover-next-stroke.\n\n    Pairs are ordered from smallest to biggest;\n    it need not be an int - anything that can be compared\n    works, including strings or tuples of ints.\n    \"\"\"\n    translation, outline = entry\n    return ...\n```\n\nAll 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 after sorting. The sorter will only be used if the user changes their display order to \"System Defined\".\n\n## License \u0026 Credits\n\nThis plugin is licensed under the MIT license.\n\nThe icons used in this plugin are taken from [Icons8 Flat Color Icons](https://github.com/icons8/flat-color-icons).\n\nMuch of the UI in this plugin is taken from the [Plover Next Stroke](https://github.com/Kaoffie/plover_next_stroke) plugin.\n\nOf course, it goes without saying that this plugin owes its existence to the original [StenoTray](https://github.com/brentn/StenoTray), made by [@brentn](https://github.com/brentn), with contributions from [@Mqrius](https://github.com/Mqrius), [@morinted](https://github.com/morinted), [@seebs](https://github.com/seebs), and [@David-Allison](https://github.com/David-Allison).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaoffie%2Fplover_word_tray","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaoffie%2Fplover_word_tray","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaoffie%2Fplover_word_tray/lists"}