microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
109.41k stars 6.45k forks source link

[Run] Plugin SDK #3622

Closed fluffynuts closed 2 years ago

fluffynuts commented 4 years ago

At some point, people are going to want features in PTR which aren't at its core. In fact, I already see feature requests for such features. Adding more code is going to slow things down (and PTR does need to speed up a little -- the current release is faster than the prior one, which wasn't (imo) usable, but it needs to get lightening-fast).

So instead of burdening every user with every feature, make features as plugins -- and publicize an SDK that third-parties can dev against.

Personally, I want things like gitmoji, currency conversion, launch a web search (hey! that could be an option for any text which gets no hits! I'll open another issue (:), but I understand that not everyone will want this. Some will just want a blindingly-fast app launcher.

red9350 commented 4 years ago

Wox already has a plugin sdk and more than 200 plugins. It's just a matter of supporting said plugins

themisir commented 3 years ago

Also separating windows walker, pt run file search, calculator, etc features and injecting them as plugins might be useful for enabling/disabling individual parts.

lcl45 commented 2 years ago

Hi! Any update on this?

aserowy commented 2 years ago

Hi! Any update on this? :)

LeoCatsune commented 2 years ago

This would be great. Personally, I have quite a few things that I would like to implement as their own plugins, seperate from the core elements. (Media Controls, Emoji/Charmap, Etc...)

From what I can find, there does seem to be some ability to make custom plugins for PTR, but it doesn't look particularly well documented, so I'm not sure how particularly to get started.

geeeger commented 2 years ago

Hi! Any update on this?

Khaos66 commented 2 years ago

This doesn't seem to be a point on the roadmap yet. But I really hope it will be soon.

I'm a line-of-business application developer and it would be really nice to ship a plugin for PTR that our clients could use to search for contacts, files and other datasets in our products.

@red9350 mentioned WOX. This is a good example on how custom plugins could work. The actual interface is simple: http://doc.wox.one/en/plugin/create_plugin.html

Not sure if copying the interface is allowed. But beeing coincidentially compatible can't hurt ;)

timharris777 commented 2 years ago

Any news on this?

fluffynuts commented 2 years ago

Personally, I've switched to Flow Launcher (https://github.com/Flow-Launcher/Flow.Launcher) because it has so many useful plugins, launches faster and is equally free and opensource. PowerToys Run feels like it's of little priority to the team, which is, imo, a pity.

Aaron-Junker commented 2 years ago

Personally, I've switched to Flow Launcher (https://github.com/Flow-Launcher/Flow.Launcher) because it has so many useful plugins, launches faster and is equally free and opensource. PowerToys Run feels like it's of little priority to the team, which is, imo, a pity.

Hi. This is not true. If you would have alook at the newest changelog you would see that many changes are done to PowerToys Run.

fluffynuts commented 2 years ago

I'd like to provide honest feedback and I really hope that it's taken as such, and not as being yet another ungrateful internet idiot. Still, I'm quite sure someone will take umbrance. C'est la vie.

I'm aware that PTRun is (a) free and (b) open-source, and I really appreciate all the effort that has gone into it. However this has been my experience:

  1. bugged releases that stop working properly (eg power controls stop working) or take really long to launch after the hotkey is pressed (4-10 seconds, every time - #15437) and no update available for many days. As the user, I have to manually roll-back, so I have to go find the appropriate release, uninstall, re-install, and then get nagged that there's an update because I'm running an older version. To boot: I have to downgrade all of PowerToys because of PTRun issues.
  2. a persistent issue with focus (eg #16376) that means that several times a day, I have to click on PTRun to type into it, even though I just raised it. This has been around for ages, and is apparently incurable (see first comment on #16376), though I haven't experienced this with any other launcher that I've used - and I've tried many, especially before PTRun was a thing. Before adding more features, I think every user would like the existing features to work reliably.
  3. requests for ways for people to hook in their own plugins have been there from the get-go (#3200 & this), but there's no movement on that and the existing functionality obviously don't cater for everyone's needs (and it would be impossible to do so - this is why other launcher systems are user-extensible and why people keep asking about it). This issue has been open for just short of two years. I see the rationale behind this is that the product is still being actively developed, ie no-one wants to commit to an api. A suggestion is to pick an existing api (eg wox seems to be mentioned a bit) and release that as incomplete, ie, "some things work and some things aren't implemented" so that people who only need the available feature-set could get involved.

In between, there have been times when PTRun was really, really good! I used to recommend it to everyone that I know who uses Windows, especially the mac people who have to fire up a Windows VM every now and then and wonder where their spotlight/alfred went (: But I stopped when I realised that it would never reach feature parity (mostly because of no user-land plugins) and when it got so slow. I still have it installed, and I see the current version I have is reasonably fast (though text entry still lags), but why gamble when I have an alternative that already meets my requirements (open-source, free, fast, extensible, heaps of existing plugins, looks great)?

On one hand, I appreciate all the work that has been put in. On the other hand, I'm over waiting for something that looks like it will never come (user-land plugins) and apparently lacking QA processes that don't catch the simple things like "shutdown doesn't work any more" or "takes really long to pop up". PT, imo, could do with some all-round optimisation: PT takes long to load, and whilst it does, I can't launch anything; even after the systray - a launcher needs to, above all else, be quick and reliable. The first time I used spotlight on a mac, I was blown away at the speed.

I recognise this is an unfinished product and regressions will happen - but then, as the beta-user, I'd really appreciate an easy way to back out of this (#15444) and if that's not available, as a beta user, I'd really appreciate a fix faster than 6 days, even if that fix is an automated roll-back. And just to make sure I wasn't missing anything, I got PT to update itself to the latest version right now - and my machine attempted to reboot without any interaction. Lucky for me, I had apps asking for confirmation, and could cancel the shutdown. This is the second time the updater has done this. Anyone updating PT really takes a gamble ):

Perhaps I'll come back to PTRun at some point, when it's not a "zero dot release". So long, and thanks for all the fish.

jaimecbernardo commented 2 years ago

Thanks for the feedback @fluffynuts !

jcotton42 commented 2 years ago

Eh? Why'd you close the issue.

fluffynuts commented 2 years ago

Eh? Why'd you close the issue.

Because I don't see the value in keeping it open - if there's no sdk after 2 years, it's unlikely to happen any time soon, if ever. Dormant issues clog up the system - if this is a choice by the developers not to release an SDK, so be it. If you'd like to open a new issue with the same ethos, please, by all means, go ahead. I don't want the notifications any more - the regular reminders that this issue has stagnated - I have enough GH notifications to deal with without adding more. I mean this as no disrespect to PT devs: your project, your code, your vision. Not mine. I just plain give up.