This is a cli tool to manage PowerToys Run plugins. It can be used to install, uninstall, update, list, and import plugins.
Download binary from releases page.
or build from source:
cargo install --git https://github.com/8LWXpg/ptr.git
If you have any suggestions for these limitations, feel free to open an issue.
x64
or arm64
in the file name, or the tool will prompt you to specify the asset.something-x64.zip
└── anyPluginName
| plugin.dll
└── plugin files...
For more general pattern matching and downloading, check another tool I wrote: gpm.
This tool will create a file at %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\version.toml
to store installed plugins.
Usage: ptr.exe <COMMAND>
Commands:
add Add a plugin [aliases: a]
update Update plugins [aliases: u]
remove Remove plugins [aliases: r]
list List all installed plugins [aliases: l]
import Import plugins from configuration file [aliases: i]
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
Usage: ptr.exe add <NAME> <REPO>
Arguments:
<NAME> The name of the plugin, can be anything.
<REPO> The GitHub repository of the plugin
Options:
-v, --version <VERSION> The target version of the plugin
-h, --help Print help
e.g.
ptr a GitHubRepo 8LWXpg/PowerToysRun-GitHubRepo
Usage: ptr.exe update [OPTIONS] [NAME]...
Arguments:
[NAME]... The name of the plugins to update
Options:
-a, --all Update all plugins
-v, --version <VERSION> Version to update to
-h, --help Print help
e.g.
ptr u -a
ptr u Plugin1 Plugin2 -v v1.1.0 -v 1.2.0
Usage: ptr.exe remove [NAME]...
Arguments:
[NAME]... The name of the plugins to remove
Options:
-h, --help Print help
e.g.
ptr r GitHubRepo ProcessKiller
Usage: ptr.exe list
This reads the configuration file at %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\version.toml
.
Usage: ptr.exe import [OPTIONS]
Options:
-d, --dry-run Update the configuration file without downloading the plugin
-h, --help Print help
The clap
crate in Rust is very powerful and easy to use for building command line applications, so I chose Rust to build this tool.