Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Run][Plugin Manager] Support Community / non-core plugins #3200

Open
dewinterjack opened this issue May 19, 2020 · 76 comments
Open

[Run][Plugin Manager] Support Community / non-core plugins #3200

dewinterjack opened this issue May 19, 2020 · 76 comments
Labels
Idea-Enhancement New feature or request on an existing product Product-PowerToys Run Improved app launch PT Run (Win+R) Window Run-Plugin Manager Issues with the PowerToys Run plugin manager Run-Plugin Things that relate with PowerToys Run's plugin interface

Comments

@dewinterjack
Copy link

Is the plugin environment the same as with Wox? The Wox.Plugin package seems to still be present. Can existing wox plugins be used? I can't drag any files into the launcher like I could with wox.

Do you have any guides or tips for creating a plugin otherwise?

@crutkas
Copy link
Member

crutkas commented May 19, 2020

right now we haven't tested that path. is there a plugin you want enabled? would be good to know what some of everyone's favorites are so we can validate.

@dewinterjack
Copy link
Author

I’m experimenting with developing my own extensions. I managed to get it working with Wox and it seems that PowerToys Run is using a very similar system. I tried compiling my extension and mimicking the other extensions by placing the folder with the other plugins C:\Program Files\PowerToys\modules\launcher\Plugins however the launcher isn't starting up.
I'm seeing this in the logs:
2020-05-19 20:44:03.4743|ERROR|PluginConfig.GetPluginMetadata|Didn't find config file <C:\Program Files\PowerToys\modules\launcher\Plugins\Wox.Plugin.TimeChecker\plugin.json>

@jyuwono jyuwono added the Product-PowerToys Run Improved app launch PT Run (Win+R) Window label May 19, 2020
@dewinterjack
Copy link
Author

I could try to contribute some plugin installation support if this hasn’t been looked into yet.

@crutkas
Copy link
Member

crutkas commented May 19, 2020

right now it is disabled so we can stabilize the core. Else debugging could get progressively hard if we can't account for the base with people

@addrum
Copy link
Contributor

addrum commented May 20, 2020

right now we haven't tested that path. is there a plugin you want enabled? would be good to know what some of everyone's favorites are so we can validate.

everything search would be the must have for me including configuring indexed locations etc (even if this is done through everything itself like the wox integration)

@jyuwono jyuwono added this to the v1.0 Release milestone Jun 3, 2020
@ABS96
Copy link

ABS96 commented Jun 9, 2020

Some of us would appreciate an instant translation plugin, like Gtranslate.

@ghost
Copy link

ghost commented Jun 11, 2020

I personally would appreciate default browser's bookmark search. From what I remember when I was using Wox, their various bookmark search plugins were not efficient. Chromium's own omnibox is an excellent tool for bookmark searching.

@calania
Copy link

calania commented Aug 8, 2020

I would personally really like the ability to convert between units, for example, to convert from imperial to metric.

@drew-royster
Copy link

Lorem Ipsum Generator would be awesome

@Dhruva-Storz
Copy link

Would also be great to convert currencies

@eiis1000
Copy link

Am also hoping to see plugins soon! This would allow developers to focus more on core features and leave stuff like integrated search #3245 and translate to the plugin creators.

@gtheys
Copy link

gtheys commented Sep 17, 2020

right now it is disabled so we can stabilize the core. Else debugging could get progressively hard if we can't account for the base with people

So this means we can enable it and compile it ourselves?

@crutkas
Copy link
Member

crutkas commented Sep 17, 2020

In theory, if the plugins go against the plugin interface, it should work. I know we may have tweaked the interface however from the wox

@ghost ghost mentioned this issue Oct 8, 2020
@Drabenstein
Copy link

I would also appreciate plugins support as I find Powertoys Run fast and well-designed but I've moved temporarily to Listary due to their extensibility, e.g. you can setup shortcut and url with placeholder {query} which is replaced so we can fast query nearly all pages like google, bing, filmweb, imdb, etc.

@dlgombert
Copy link

Devdocs or Zeal or something similar would be great.
Maybe custom web search providers

@enricogior
Copy link
Contributor

Adding a reference to #5273

@enricogior enricogior added the Run-Plugin Things that relate with PowerToys Run's plugin interface label Dec 10, 2020
@crutkas crutkas removed this from the 2020 Stability Release milestone Dec 10, 2020
@enricogior enricogior changed the title Installing Plugins to PowerToys Run is different to Wox [Run][Plugin] Installing Plugins is different than Wox Jan 7, 2021
@enricogior enricogior changed the title [Run][Plugin] Installing Plugins is different than Wox [Run][Plugin Manager] Installing Plugins is different than Wox Jan 9, 2021
@gmmedia
Copy link

gmmedia commented Jan 9, 2021

I would love to see Steam, Clipboard History, Youtube Query and an integration for the markdown note-taking tool Obsidian.

@CWempe
Copy link

CWempe commented Jan 15, 2021

I would like to use Kitty.
https://github.com/Wox-launcher/Wox.Plugin.Kitty

@Animeshz
Copy link

+1 I'd like to have a google/bing search plugin sort of g searchquery or b searchquery :)

@davidegiacometti
Copy link
Collaborator

Hi!
I leave here two plugins that I have created. They have very basic functionality but can be useful in someone's daily workflow.

@phone8588
Copy link

I am not a coder so seeking community help than building. Is it possible to add a custom unit conversion feature to the PowerToys Run Unit Converter plugin? Have used keypirinha-cvt plugin for many years and there is no equivalent low-code option in PowerToys to do the same. Couple links on topic from history of Cvt plugin development -

  1. Custom conversions beyond in tool - https://github.com/DrorHarari/keypirinha-cvt#customizing-conversions
  2. Basics of custom units - https://github.com/DrorHarari/keypirinha-cvt#adding-new-conversions-measures
  3. Discussion on custom calculations with examples - 2.0 does not allow reloading of custom conversions DrorHarari/keypirinha-cvt#4

Perhaps can seek help from @DrorHarari

@Gurrrra
Copy link

Gurrrra commented Jan 13, 2024

I tried making a feature request, but apparently there is no plans for getting this into Run by default, so I copy/paste it into here to see if anyone would like to make it into a plugin :)
Being able to search on different sites would be a very welcome feature. Not sure if Chrome have this, but Vivaldi at least have this feature where you can set it up so if I in the address field write "yt Rickroll" (without the "") you'd search for Rickroll on Youtube, "map Paris" you'd search for Paris on google maps or "wiki super mario" you'd search for super mario on Wikipedia.
This would just be a list where you can add you're own site URL for searching with a suggestion URL and whatever abbreviation you'd want with it.
Below is a screenshot on how I've set it up in Vivaldi.
vivaldi_240112-174625

@Gurrrra
Copy link

Gurrrra commented Jan 13, 2024

After some scrolling through this thread I see that I'm not alone in asking for this particular functionality so getting this would make more than one person happy :)
I did some searching did find a plugin that you can search on IMDb (with suggestions) directly from Run which is awesome. Then I started to think if it would be possible to use the code from that plugin to do the same for other places as well, and maybe even expose the search URL and suggest URL directly in the plugin settings. This way it would be an easy deal to at least duplicate that plugin with different settings for each site I want to be able to search on, or maybe for a way more elegant solution just give the possibility to add more than one site with a shortcut for each directly in the plugin, just like this Vivaldi list above :)

I did have a quick peak myself in the IMDb plugin source code, but me having only dabble every so slightly in python or even programming was quite lost. So hoping someone else with a bit more skills could help out? :)

@Advaith3600
Copy link
Contributor

I and many community members could not do currency conversion in Powertoys Run. I have been through other discussions which discuss this in more detail. I took the liberty to create a custom plugin that does this. It is available here: https://github.com/Advaith3600/powertoys-run-currency-converter

@hlaueriksson
Copy link
Contributor

Do you have any guides or tips for creating a plugin otherwise?

I took the time to write a blog post on the subject:

Creating custom PowerToys Run plugins
A step by step guide on how to create community plugins for PowerToys Run

@hlaueriksson
Copy link
Contributor

I would also appreciate plugins support as I find Powertoys Run fast and well-designed but I've moved temporarily to Listary due to their extensibility, e.g. you can setup shortcut and url with placeholder {query} which is replaced so we can fast query nearly all pages like google, bing, filmweb, imdb, etc.

@Drabenstein

Being able to search on different sites would be a very welcome feature. Not sure if Chrome have this, but Vivaldi at least have this feature where you can set it up so if I in the address field write "yt Rickroll" (without the "") you'd search for Rickroll on Youtube, "map Paris" you'd search for Paris on google maps or "wiki super mario" you'd search for super mario on Wikipedia.
This would just be a list where you can add you're own site URL for searching with a suggestion URL and whatever abbreviation you'd want with it.

@Gurrrra

I created a plugin that lets you search sites with DuckDuckGo !Bangs

I think it's something along the lines of what you described in your comments above.

@Daydreamer-riri
Copy link
Contributor

Daydreamer-riri commented Apr 11, 2024

Hey guys, I implemented "select a site to search" in my plugin. I think a lot of people need this feature.

image
image

@hlaueriksson
Copy link
Contributor

hlaueriksson commented Jul 22, 2024

@crutkas I'm wondering if it's be possible for Powertoys to create a nuget package? I think that'd be easier for 3rd party developers, since we don't really need the whole PT repo to compile, just the key dll's.

I took the matters into my own hands and created:

that builds and published a NuGet package to:

I have tried this approach here:

and it builds:

Example of usage in a .csproj file:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net8.0-windows</TargetFramework>
    <UseWPF>true</UseWPF>
    <Platforms>x64;ARM64</Platforms>
    <PlatformTarget>$(Platform)</PlatformTarget>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Community.PowerToys.Run.Plugin.Dependencies" Version="0.82.1" />
  </ItemGroup>

  <ItemGroup>
    <None Include="plugin.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Include="Images/*.png">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>

</Project>

@hlaueriksson
Copy link
Contributor

that builds and published a NuGet package to:

With the aforementioned NuGet package in place, I created a set of dotnet new templates that simplify creating PowerToys Run plugin projects and solutions:

image

Create a solution:

dotnet new ptrun-sln -o MyPlugin

Create a project:

dotnet new ptrun-proj -o Community.PowerToys.Run.Plugin.MyPlugin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Idea-Enhancement New feature or request on an existing product Product-PowerToys Run Improved app launch PT Run (Win+R) Window Run-Plugin Manager Issues with the PowerToys Run plugin manager Run-Plugin Things that relate with PowerToys Run's plugin interface
Projects
Status: No status
Development

No branches or pull requests