8LWXpg / ptr

PowerToys Run plugin manager
MIT License
19 stars 1 forks source link
cli plugin-manager powertoys-run powertoys-run-plugin rust

PowerToys Run Plugin Manager

preview

This is a cli tool to manage PowerToys Run plugins. It can be used to install, uninstall, update, list, and import plugins.

Installation

Download binary from releases page.

or build from source:

cargo install --git https://github.com/8LWXpg/ptr.git

Features

Limitations

If you have any suggestions for these limitations, feel free to open an issue.

For more general pattern matching and downloading, check another tool I wrote: gpm.

Usage

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

Add

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

Update

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

Remove

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

List

Usage: ptr.exe list

Import

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

Why Rust?

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.