PowerToys icon indicating copy to clipboard operation
PowerToys copied to clipboard

PowerToys Run: Media Controls

Open colincwilliams opened this issue 3 years ago • 8 comments

Description of the new feature / enhancement

A new plugin for PowerToys Run that adds system media controls to the search results. The list of controls could include:

  • Mute
  • Next Track
  • Pause
  • Play
  • Previous Track
  • Stop
  • Volume Down
  • Volume Up

Scenario when this would be used?

This is useful for anyone using a keyboard without dedicated media buttons. In that case, you need to rely on dedicated keyboard shortcuts for the media app (not consistent, and not all media apps have shortcuts) or the mouse. With this plugin, media could be controlled quickly from the keyboard and consistently across applications.

Additionally, while this scenario could be solved by each user creating their own keyboard shortcuts with Keyboard Manager, having these controls in PowerToys Run by default is more accessible and I believe sufficient for many users, including myself.

Supporting information

I have no evidence of community support for this, though I don't see it taking away from PowerToys. I'm submitting it to solve a personal itch as I've wanted this plugin many times.

Since PowerToys Run supports external plugins - ones that aren't built into the original binary - I've already forked PowerToys and created the plugin for my personal use. If it's desired to get it into the official build, I'm happy to help make that happen by polishing the changes (they aren't ready for PR just yet) and driving the PR.

My personal branch: https://github.com/colincwilliams/PowerToys/tree/MediaControls

colincwilliams avatar Aug 05 '22 16:08 colincwilliams

Something I wanted to clarify that I forgot to include in my initial description is that this plugin is relatively simple from an implementation standpoint as it can just simulate the keyboard key presses for the standard media keys.

Let me know if I should proceed with polishing my implementation of the plugin and working towards a PR, or if there's no desire for a built-in plugin like this. Thanks!

colincwilliams avatar Aug 17 '22 22:08 colincwilliams

I would like to see this implemented, maybe as a plugin for PowerToys run. It would be an amazing time saver for power users.

Just type in "Spotify pause" and it pauses. Instead of having to open the window and pausing it.

SupulCFG avatar Oct 20 '22 12:10 SupulCFG

I would like to see this implemented, maybe as a plugin for PowerToys run. It would be an amazing time saver for power users.

Just type in "Spotify pause" and it pauses. Instead of having to open the window and pausing it.

To clarify, my proposal is even more simple than that. You would just need to type "pause" and it would pause whatever is playing. This is because it just simulates pressing the play/pause button on your keyboard, so there's no app-specific logic.

colincwilliams avatar Oct 20 '22 21:10 colincwilliams

I would like to see this implemented, maybe as a plugin for PowerToys run. It would be an amazing time saver for power users. Just type in "Spotify pause" and it pauses. Instead of having to open the window and pausing it.

To clarify, my proposal is even more simple than that. You would just need to type "pause" and it would pause whatever is playing. This is because it just simulates pressing the play/pause button on your keyboard, so there's no app-specific logic.

Ah, even better. Hope this gets approved for a PR

SupulCFG avatar Oct 21 '22 07:10 SupulCFG

Is anyone working on this?

MandeepCodes avatar Jul 28 '23 20:07 MandeepCodes

Is anyone working on this?

As the person who proposed it, I'm not aware of anyone working on it. I would be happy to get it over the finish line but never received indication that it's desired by the project maintainers. As a result, I'm not investing any more time into it.

To be clear: fair enough if it isn't a priority. :)

You should be able to use my fork to build the plugin yourself if you want. I haven't built my fork for a while, so I can't guarantee no problems, but I can't imagine my core code breaking. If anything broke it would be a PowerToys API I was using as things evolved.

colincwilliams avatar Jul 30 '23 04:07 colincwilliams

This sounds great! I would definitely use it if it was available 👍

nialov avatar Mar 12 '24 09:03 nialov

I'd like to comment on priority. Coming from OSX; this is the singular feature I miss most from Alfred.

wom avatar Mar 11 '25 17:03 wom

Why hasn't this been released yet? It seems straightforward, as the original poster suggested, but it’s been three years, and we’re still waiting.

sfn101 avatar Oct 11 '25 14:10 sfn101

Forget about the command palette; I've got it now. I never realized the significance of the command palette. Why don't they just rename it to "Run V2" and eliminate "Run"? It feels outdated.

sfn101 avatar Oct 11 '25 15:10 sfn101

I have a super basic work-around for this using autohotkey, such that if I type 'media' -> tab in PT Run (I've not switched to command pallet), it will play/pause the current track and exit run. That's it though.

#IfWinActive
#IfWinActive, PowerLauncher
#Hotstring EndChars `t

;;play/pause media
::media::
Send {Media_Play_Pause }
Send {Esc}
return
#IfWinActive

McPhale avatar Oct 14 '25 18:10 McPhale

Yea y'all may want to take a look at Media Controls for Command Palette

zadjii-msft avatar Oct 15 '25 11:10 zadjii-msft