PowerToys v0.21.1 and v0.22.0.
Experimental v0.22.0
This release contains experimental Video conference mute feature plus everything in v0.21.1 release.
Video Conference Mute Overview (Experimental)
Note: This is only included in the pre-release version of PowerToys installer. This PowerToy requires Finestre 10 1903 (build 18362) or later.
Back in the June timeframe, we started prototyping an idea. With COVID-19, we’re all multi-tasking and trying to make the best of everything and being able to quickly mute while on a conference call is critical regardless of where you are on your computer and what application has focus.
The utility will mute not just your audio but your video as well with a single keystroke. You can do audio, video both. We knew this would impact our roadmap and goals but felt extremely strong that this is the right decision. We’re all multi-tasking and trying to make the best of everything and being able to quickly mute while on a conference call is critical regardless of where you are on your computer.
Known issues
We have a tracking issue – #6246 with all known issues. We know we have issues and proactively working toward resolving them. Tested external cameras pretty heavily. We know a certain laptops currently the video forwarding does not work and are proactively working on fixing this.
Installing
Due to these known issues, we’re only putting this in a pre-release installer for PowerToys.
Usage
- Win+N to toggle both Audio and Video at the same time
- Win+Shift+O to toggle video
- Win+Shift+A to toggle microphone
When the camera is in use, you’ll see this wonderful dialog on where you set it on your screen to get your state. With a quick click or a keystroke, your state will be updated.
Setup
To have the camera set, all you need to do is select the PowerToys camera.
Settings
- Hot keys: Shortcut to trigger actions
- Selected camera to stream: What camera does PowerToys use to stream from
- Camera overlay image: an image to inject versus a black screen
- Control overlay: Where on the screen do you want the overlay dialog
- Show overlay on: What monitor(s) do you want the control
How does this work under the hood
Why do we do this you may ask? Well, an application interacting with audio is different than video. If a webcam stops working, the applications tend to not recover until the API does a full reset. If you were to toggle the global privacy webcam on / off while using your webcam, you’ll experience most things won’t recover.
COSÌ, how does PowerToys handle this so you can keep streaming?
- Audio: PowerToys uses global microphone mute API In Finestre. Apps should recover when this is toggled on and off.
- Video: PowerToys has a virtual driver for the webcam. We route the video through the driver and back to the application. When a user tells us to stop broadcasting the video, we stop streaming. The application itself still thinks it is getting video except all it is getting is a stream of black. When you toggle the stream back on, the driver just stops injecting black
Release v0.21.1
Release Notes
PT Run:
- Removed need for space in action keywords. This means you now can type
>ipconfig
- Icon caches fixed and now has colored icons
- Improved font rendering via ClearType
- Result speed improvements
- URLs are supported
- Fixed bugs including calculating bugs
FancyZone:
- Win+Arrow key is directional based on zone rect
- Fixed bugs
Runner:
- Fixed toast notifications running elevated from non-admin account
Shortcut Guide:
- Improved vkey catching which will fix some use cases of it not showing up
SVG in File Explorer:
- Embedded image tags will now render in Explorer
Color Picker:
- Fixed bug where it would launch via false positive keystrokes
Accessibility:
- Settings, PT Run and KBM undergoing improvements
Localization:
- Pipeline is now setup and will be doing a full E2E pass on all utilities shortly.
Dev quality of life improvements:
- Continued warning count reduction. This release ~80 removed
- StyleCop enabled E2E
- FxCop starting to be added in E2E