/PowerToys

Windows system utilities to maximize productivity

Primary LanguageC#MIT LicenseMIT

Microsoft PowerToys

Hero image for Microsoft PowerToys

How to use PowerToys | Downloads & Release notes | Contributing to PowerToys | What's Happening | Roadmap

Build status

Architecture Solution (Main) Solution (Stable) Installer (Main)
x64 Build Status for Main Build Status for Stable Build Status Installer pipeline
ARM64 Under active development Issue #490

About

Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity. For more info on PowerToys overviews and how to use the utilities, or any other tools and resources for Windows development environments, head over to docs.microsoft.com!

Current utilities:
Always on Top PowerToys Awake Color Picker
FancyZones File Explorer Add-ons Image Resizer
Keyboard Manager Mouse utilities PowerRename
PowerToys Run Shortcut Guide Video Conference Mute

Installing and running Microsoft PowerToys

Requirements

Via GitHub with EXE [Recommended]

Microsoft PowerToys GitHub releases page, click on Assets at the bottom to show the files available in the release and then click on PowerToysSetup-0.58.0-x64.exe to download the PowerToys installer.

This is our preferred method.

Via Microsoft Store

Install from the Microsoft Store's PowerToys page. You must be using the new Microsoft Store which will be available for both Windows 11 and Windows 10.

Via WinGet (Preview)

Download PowerToys from WinGet. To install PowerToys, run the following command from the command line / PowerShell:

winget install Microsoft.PowerToys -s winget

Other install methods

There are community driven install methods such as Chocolatey and Scoop. If these are your preferred install solutions, this will have the install instructions.

Contributing

This project welcomes contributions of all types. Help spec'ing, design, documentation, finding bugs are ways everyone can help on top of coding features / bug fixes. We are excited to work with the power user community to build a set of tools for helping you get the most out of Windows.

We ask that before you start work on a feature that you would like to contribute, please read our Contributor's Guide. We will be happy to work with you to figure out the best approach, provide guidance and mentorship throughout feature development, and help avoid any wasted or duplicate effort.

Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution.

For guidance on developing for PowerToys, please read the developer docs for a detailed breakdown. This includes how to setup your computer to compile.

What's Happening

PowerToys Roadmap

Our prioritized roadmap of features and utilities that the core team is focusing on.

0.58 - April 2022 Update

In this release, we focused on upgrading to new dependencies and building for native ARM64. Below are some of the highlights!

Highlights

  • Most of the work for running natively on ARM64 has been included in the repo. Thanks @snickler!
  • Uses of the obsolete WebBrowser control were replaced with WebView 2.
  • All uses of .NET Core 3.1 were removed. PowerToys now runs on .NET 6.
  • Settings no longer runs on XAML Islands and is now running on WinUI 3, fixing many bugs related to XAML islands.

General

  • Spell checking fixes in the code. Thanks @jsoref!
  • Fix for a CI error related to spell checking due to a GitHub API change. Thanks @jsoref!
  • Fixed the documentation references to GitHub. Thanks @Cyl18!

ARM64

  • Prepare solution and property files for ARM64 port. Thanks @snickler!
  • Port unhandled exception handler to ARM64. Thanks @snickler!
  • Port of the Settings projects to ARM64. Thanks @snickler!
  • Port of most of the PowerToys to ARM64. Thanks @snickler!
  • Port of the debug utilities to ARM64.

Always on Top

  • Fix for topmost state of the window resetting for some applications. (This was a hotfix for 0.57)

ColorPicker

  • The CIEXYZ format is now properly show in upper case.

FancyZones

  • Restore rounded corners on Windows 11 and add a setting to control this behavior. (This was a hotfix for 0.57)
  • Fixed an edge case where the Windows Terminal window wouldn't be snapped when opened. (This was a hotfix for 0.57)
  • Improved narrator support in the Grid Editor. (This was a hotfix for 0.57)
  • Fixed a bug when restoring rounded corners on Windows 11. (This was a hotfix for 0.57)
  • Fix for windows not being resized correctly on different dpi settings. (This was a hotfix for 0.57)
  • Removed resolution from the screen identifier so zones aren't reset when resolution changes.
  • Scale the canvas layout when editing according to new scaling/resolution.
  • Shipping a new tool to help debug windows interactions with FancyZones.

File explorer

  • Fix for a crash in dev file preview if the settings file hadn't been created yet. (This was a hotfix for 0.57)
  • New file types were added to dev file preview (".reg", ".xslt", ".xsd", ".wsdl", ".ino", ".pde", ".razor"). Thanks @Aaron-Junker!
  • Fix an existing "file still in use" issue in dev file preview. Thanks @Aaron-Junker!
  • Dev file preview is now able to interpret file extensions in a case-insensitive way. Thanks @Aaron-Junker!
  • SVG and markdown viewers no longer use WebBrowser and use WebView2 instead.
  • Markdown preview now respects the dark mode settings on Windows. Thanks @davidegiacometti!

Mouse utility

  • Fix for the bug causing shortcuts set on icons to not activate when a mouse utility was active on specific monitor configurations.

PowerToys Run

  • Fix for PowerToys Run using high CPU and memory when updating its settings. (This was a hotfix for 0.57)
  • Add the "Run as different user" feature to the Program, Shell, and Search plugins. Thanks @htcfreek! (This was a hotfix for 0.57)
  • Fix for a WindowWalker crash when a Virtual Desktop registry key is not set. Thanks @htcfreek! (This was a hotfix for 0.57)
  • Fix for VS Code Workspaces not using the user's path variable right after an install or update. Thanks @ricardosantos9521! (This was a hotfix for 0.57)
  • Fix for the System plugin causing PowerToys Run to be slow when many network interfaces exist. Thanks @htcfreek! (This was a hotfix for 0.57)
  • Fix for the Program plugin not showing special shortcuts with empty targets, like Control Panel. (This was a hotfix for 0.57)
  • Additional logging for the Terminal plugin. Thanks @davidegiacometti! (This was a hotfix for 0.57)
  • Web Search and URI plugins have better code for detecting the default browser now.
  • Fix for the Services plugin not manipulating service names with spaces correctly. Thanks @davidegiacometti!
  • Fix for the Terminal plugin not recognizing profiles correctly. Thanks @davidegiacometti!
  • Fix for latest VSCode insiders build not showing up in the VSCode Workspaces plugin. Thanks @JacobDeuchert!
  • Increased floating number precision in the Unit Converter plugin.
  • VSCode Workspaces now finds portable installations of VS Code. Thanks @harvastum
  • Fixed an issue starting PowerToys Run when the desktop is not initialized. Thanks @davidegiacometti!

Settings

  • Settings now runs on WinUI3 instead of XAML islands.
  • Settings no longer runs as an administrator when runner is started as an administrator.

Runner

  • Use sensible default times for rechecking for an update, to avoid writing to the logs in a loop. (This was a hotfix for 0.57)
  • Runner cleans up the update directory if the installation is up to date. Thanks @davidegiacometti!

Installer

  • Distribute a signed .msi inside the .exe installer bootstrapper. (This was a hotfix for 0.57)
  • Removed the .NET core dependency from the installer.
  • Partial support for an ARM64 installer.
  • Updated the .NET to 6.0.4.
  • Force update all files on reinstall/update, to try and fix installation issues.

Development

  • PowerToys no longer takes a dependency on .NET core.
  • WinUI3 is a new dependency. Settings now targets win10-x64 and win10-arm64 due to this.

Community contributions

We'd like to directly mention certain contributors (in alphabetical order) for their continued community support this month and helping directly make PowerToys a better piece of software.
@Aaron-Junker, @CleanCodeDeveloper, @davidegiacometti, @dend, @franky920920, @htcfreek, @jay-o-way, @jsoref, @niels9001, @snickler.

What is being planned for v0.59

For v0.59, we'll work on below:

  • Environment Variables Editor PowerToy
  • Wrap up the ARM64 build
  • Stability / bug fixes

PowerToys Community

The PowerToys team is extremely grateful to have the support of an amazing active community. The work you do is incredibly important. PowerToys wouldn’t be nearly what it is today without your help filing bugs, updating documentation, guiding the design, or writing features. We want to say thank you and take time to recognize your work.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct.

Privacy Statement

The application logs basic telemetry. Our Telemetry Data page (Coming Soon) has the trends from the telemetry. Please read the Microsoft privacy statement for more information.