{"id":13718904,"url":"https://github.com/psethwick/plover_console_ui","last_synced_at":"2025-10-05T08:22:46.720Z","repository":{"id":43495780,"uuid":"315435818","full_name":"psethwick/plover_console_ui","owner":"psethwick","description":"Text User Interface plugin for Plover","archived":false,"fork":false,"pushed_at":"2024-03-05T11:07:29.000Z","size":649,"stargazers_count":25,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-14T00:19:48.211Z","etag":null,"topics":["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":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/psethwick.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-23T20:42:39.000Z","updated_at":"2025-06-22T05:08:47.000Z","dependencies_parsed_at":"2024-09-13T22:40:52.284Z","dependency_job_id":"79f7119f-5030-4c63-8b48-2c8653a6ab53","html_url":"https://github.com/psethwick/plover_console_ui","commit_stats":{"total_commits":161,"total_committers":6,"mean_commits":"26.833333333333332","dds":"0.40372670807453415","last_synced_commit":"918d9409b4a30ed465e9bbe07a38f2649ea57383"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/psethwick/plover_console_ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psethwick%2Fplover_console_ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psethwick%2Fplover_console_ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psethwick%2Fplover_console_ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psethwick%2Fplover_console_ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/psethwick","download_url":"https://codeload.github.com/psethwick/plover_console_ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/psethwick%2Fplover_console_ui/sbom","scorecard":{"id":747962,"data":{"date":"2025-08-11","repo":{"name":"github.com/psethwick/plover_console_ui","commit":"918d9409b4a30ed465e9bbe07a38f2649ea57383"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":0,"reason":"Found 2/21 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/python-app.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/psethwick/plover_console_ui/python-app.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-app.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/psethwick/plover_console_ui/python-app.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/psethwick/plover_console_ui/release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/psethwick/plover_console_ui/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/psethwick/plover_console_ui/release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/psethwick/plover_console_ui/release.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:25","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:26","Warn: pipCommand not pinned by hash: .github/workflows/python-app.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:49","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:50","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 14 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T19:26:14.277Z","repository_id":43495780,"created_at":"2025-08-22T19:26:14.278Z","updated_at":"2025-08-22T19:26:14.278Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278426700,"owners_count":25984920,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","plugins"],"created_at":"2024-08-03T01:00:39.300Z","updated_at":"2025-10-05T08:22:46.696Z","avatar_url":"https://github.com/psethwick.png","language":"Python","funding_links":[],"categories":["Plugins"],"sub_categories":["User Interface Replacements"],"readme":"############################\nConsole UI Plugin for Plover\n############################\n\n.. image:: https://img.shields.io/pypi/v/plover_console_ui.svg\n    :target: https://pypi.org/project/plover-console-ui/\n.. image:: https://img.shields.io/pypi/dm/plover_console_ui.svg\n    :target: https://pypi.org/project/plover-console-ui/\n\nThis is a plugin for the open source stenography program `Plover \u003chttps://www.openstenoproject.org/plover/\u003e`_\n\nRequires Plover version 4.0.0 or later\n\nRun Plover entirely inside your terminal window!\n\n.. image:: console-ui.png\n\n###############\nGetting Started\n###############\n\n1. Open Plover\n#. Navigate to the Plugin Manager tool\n#. Select ``plover_console_ui`` in the list\n#. Click install\n\nOr directly install ``plover_console_ui`` into Plover's python environment using ``plover -s plover_plugins install plover_console_ui``\n\n- Note: The plover command is available under slightly different names depending on your OS, relative to your installation directory.\n  - **Windows**: ``C:\\Program Files (x86)\\Open Steno Project\\Plover 4.0.0\\plover_console.exe``\n  - **macOS**: ``/Applications/Plover.app/Contents/MacOS/Plover``\n  - **Linux**: ``plover.AppImage``\n\nFor more information on Plover's Command Line Reference, see `The Plover Docs \u003chttps://plover.readthedocs.io/en/latest/cli_reference.html\u003e`_.\n\nLinux/Mac\n=========\n\nStart Plover with the -g option:\n``plover -g console``\n\nIf your shell returns ``command not found: plover`` or a similar error, refer to Getting Started to access the ``plover`` command.\n\nWindows\n=======\n\nDue to some Windows workaround code (in Plover), this plugin does not work well on the packaged Windows build\n\nHere's a launcher that works:\n``python -m plover -g console``\n\nYes, it requires essentially 'run from source'... I'm sorry\n\nIf your shell returns ``command not found: plover`` or a similar error, refer to Getting Started to access the ``plover`` command.\n\n#####\nUsage\n#####\n\nRegular Use\n===========\n\nPlover commands are all functional:\n\n- ``{PLOVER:LOOKUP}``\n- ``{PLOVER:ADD_TRANSLATION}``\n- ``{PLOVER:SUSPEND}``\n- ``{PLOVER:RESUME}``\n- ``{PLOVER:TOGGLE}``\n- ``{PLOVER:FOCUS}``\n- ``{PLOVER:CONFIGURE}``\n\nNote for the commands which do window manager focus:\n\n- ``LOOKUP``\n- ``ADD_TRANSLATION``\n- ``FOCUS``\n- ``CONFIGURE``\n\nThis ``console_ui`` only knows which window it lives in *if* that window has focus on start-up\n\nOtherwise: expect the focus feature not to work\n\nKey Commands\n============\n\nThese key commands are always available when ``console_ui`` has focus:\n\n- ``Ctrl-C`` or ``Ctrl-Q``: Exits Plover\n- ``PageUp/PageDown``: Scrolls the ``console`` buffer up/down\n\n  (Note: if anything new is added to ``console`` it will auto-scroll back down)\n\nCommand Line\n============\n\nThe ``help`` command is *always* available and will show all the currently\navailable commands\n\nIf a command has the description ``...`` there are further commands\ncontained inside\n\nCommands can be partially entered\n\n    ``m`` to use the ``machine`` command\n\nOnce you know your way around, you don't need to enter each menu one at a time\n\n    ``col for goldenrod`` from the top level\n\nCase is ignored \n\n    ``configure`` is the same as ``CONFIGURE``\n\nTo get back to the previous menu level, press ``Enter`` on its own\n\nIf a command has ``\u003c\u003e`` in its description it takes one or more arguments. The type\nof the argument is between the ``\u003c\u003e``\n\nCommands\n========\n\n- ``addtranslation``: enters ``ADD_TRANSLATION`` mode\n\n  - Tab/Shift-Tab to move between ``Strokes``, ``Output`` and choose dictionary field\n  \n    - When in the 'choose dictionary' field you can press left/right arrows to cycle (writable) dictionaries\n    \n- ``lookup``: enters ``LOOKUP`` mode\n- ``output``: toggles Plover output on/off\n- ``reset``: reconnects current ``machine`` (reloads dictionaries)\n- ``suggestions``: toggles suggestions display\n- ``tape``: toggles paper tape display\n- ``savetape``: saves content of tape to a file\n- ``dictionaries``: configure dictionaries\n\n  - ``add``: add a dictionary by its file path\n  - ``remove``: remove a dictionary by displayed number\n  - ``toggle``: toggle a dictionary by displayed number\n  - ``priority``: prioritise a dictionary by displayed number (to its new number)\n\n- ``machine``: configure ``machine``\n\n  - ``options``: configure current machine options\n  - (One 'set machine' command per installed ``machine`` plugin)\n  \n- ``system``: configure ``system``\n\n  - (One 'set system' command per installed ``system`` plugin)\n\n- ``configure``: Plover configuration commands (changes reload dictionaries)\n\n  - ``space_placement``: (Before Output|After Output)\n  - ``start_attached``: (True|False)\n  - ``start_capitalized``: (True|False)\n  - ``undo_levels``: Number of undo levels\n  - ``log_file_name``: Name of the log file\n  - ``enable_stroke_logging``: Enable/Disable stroke logging\n  - ``enable_translation_logging``: Enable/Disable translation logging\n  - ``auto_start``: If 'True' enable Plover output on start-up\n  - ``extensions``: Enable/Disable extension commands\n\n    - (One 'toggle extension' command per installed ``extension`` plugin)\n\n- ``colors``: set ``console_ui`` colors\n\n  These commands take `web color names\n  \u003chttps://www.w3schools.com/colors/colors_names.asp\u003e`_\n  \n  Color hexes are also supported (e.g. ``#ffffff`` for white)\n  \n  (Note: not all terminals support all colors)\n  \n  - ``foreground``: set foreground color\n  - ``background``: set background color\n\n- ``loglevel``: configure which Plover log messages will get printed to ``console_ui``\n\n  - ``WARNING``: any logs at ``WARNING`` or above will be printed\n  - ``CRITICAL``: any logs at ``CRITICAL`` or above will be printed\n  - ``ERROR``: any logs at ``ERROR`` or above will be printed\n  - ``INFO``: any logs at ``INFO`` or above will be printed\n  - ``DEBUG``: any logs at ``DEBUG`` or above will be printed\n\n- ``exit``: exits ``console_ui`` (and Plover)\n\n############\nContributing\n############\n\nHead to the `open source repository \u003chttps://github.com/psethwick/plover_console_ui\u003e`_\n\nIssues + PRs welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsethwick%2Fplover_console_ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpsethwick%2Fplover_console_ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpsethwick%2Fplover_console_ui/lists"}