{"id":14964436,"url":"https://github.com/user202729/plover_run_shell","last_synced_at":"2025-10-25T07:30:44.942Z","repository":{"id":57453641,"uuid":"211789327","full_name":"user202729/plover_run_shell","owner":"user202729","description":"Run a shell command from Plover.","archived":false,"fork":false,"pushed_at":"2021-12-06T12:35:08.000Z","size":23,"stargazers_count":5,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-09-30T02:33:46.340Z","etag":null,"topics":["plover","plover-plugins","stenography"],"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/user202729.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2019-09-30T06:20:38.000Z","updated_at":"2023-07-15T04:24:25.000Z","dependencies_parsed_at":"2022-08-29T11:11:50.888Z","dependency_job_id":null,"html_url":"https://github.com/user202729/plover_run_shell","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/user202729%2Fplover_run_shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/user202729%2Fplover_run_shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/user202729%2Fplover_run_shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/user202729%2Fplover_run_shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/user202729","download_url":"https://codeload.github.com/user202729/plover_run_shell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219866307,"owners_count":16555905,"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","stenography"],"created_at":"2024-09-24T13:33:10.799Z","updated_at":"2025-10-25T07:30:44.620Z","avatar_url":"https://github.com/user202729.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Plover Run Shell\n\nCommand plugin for [Plover](https://github.com/openstenoproject/plover) to run an arbitrary shell\ncommand.\n\nThe package is available on [GitHub](https://github.com/user202729/plover_run_shell) and\n[PyPI](https://pypi.org/project/plover-run-shell/).\n\n## Common issues\n\nThe subprocess inherits Plover's environment, and some plugins might set some environment variables.\n\nFor instance, on some operating systems, [`plover-debugging-console`](https://github.com/user202729/plover-debugging-console)\nmay set `PAGER` environment variable. (see [issue #2](https://github.com/user202729/plover_run_shell/issues/2))\nYou may want to unset them explicitly, for example on systems with `env`:\n\n    env -uPAGER -uGIT_PAGER xterm\n\nAlternatively, install a sufficiently new version of package `background-zmq-ipython`,\nsee README of [`plover-debugging-console`](https://github.com/user202729/plover-debugging-console) for more details.\n\n## Usage\n\nIn order to use this plugin in [Plover](https://github.com/openstenoproject/plover) you need to\ncreate a dictionary entry of the form:\n\n``` json\n{\n    \"example_stroke\": \"{PLOVER:SHELL:command}\"\n}\n```\n\nNote:\n\n* The command might be executed synchronously (so you can use `\u0026` on Linux or `start` on Windows if\n  you don't want Plover to freeze, in case the called process is long-running).\n* (on UNIX systems) The command may be executed by the `sh` shell.  If you want to use another\n  shell, you can call that shell explicitly: `bash -c \"command\"`.\n\n## Example\n\nThese examples are only for X on GNU/Linux systems (it relies on many external tools).\n\nYou should be able to construct similar translations by searching for \"how to do task X from\nconsole/command-line\".\n\nIf there's none, you can still write an external program with other programming language and call it\nfrom Plover. (alternatively, write it in Python and make a command plugin)\n\nAlternatively, if you already have a working binding in the windows manager, you don't have to use\nthis plugin and use Plover's key combination syntax.\n\n* Shutting down the machine\n\n      \"{PLOVER:SHELL:\\\\{ sleep 2s;poweroff; \\\\}\u0026}{PLOVER:QUIT}\"\n\n* Restart Plover (console GUI, in a new terminal)\n\n      \"{PLOVER:SHELL:xterm -e bash -c \\\"sleep 0.5s; plover --gui console\\\" \u0026}{PLOVER:QUIT}\"\n\n* Change brightness\n\n      \"{PLOVER:SHELL:xbacklight -10}\"\n      \"{PLOVER:SHELL:xbacklight +10}\"\n\n* Change volume (note that the solution with `pactl` is not robust because it relies on the sink\n  number being 0)\n\n      \"{PLOVER:SHELL:pactl set-sink-volume 0 -5%}\"\n      \"{PLOVER:SHELL:pactl set-sink-volume 0 +5%}\"\n      \"{PLOVER:SHELL:amixer -D pulse sset Master 5%+}\"\n      \"{PLOVER:SHELL:amixer -D pulse sset Master 5%-}\"\n\n* Suspend (depends on your GNU/Linux distribution)\n\n      \"{PLOVER:SHELL:systemctl suspend}\"\n      \"{PLOVER:SHELL:pm-suspend}\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuser202729%2Fplover_run_shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuser202729%2Fplover_run_shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuser202729%2Fplover_run_shell/lists"}