/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 Build Status for Main Build Status for Main Build Status Installer pipeline

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 learn.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 Quick Accent Screen Ruler
Shortcut Guide Text Extractor 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. Please use the appropriate the PowerToys installer that matches your machine's architecture. For most people, it is x64.

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.63 - September 2022 Update

In this release, we focused on stability and improvement.

Highlights

  • QuickAccent contains a new setting to select a language. This should reduce the number of accented characters a user needs to pick from. Thanks @damienleroy!
  • Reduced installer file size (83 MB for 0.63.0 compared to 125 MB for 0.62.1) and drive storage use (587 MB for 0.63.0 compared to 817 MB for 0.62.1) by sharing the Windows App SDK, VC++ redistributable and PowerToys Interop runtime files between utilities. This is a step towards removing the UAC requirement on install. The next step is shipping .NET self-contained and shared between utilities.

Known issues

General

  • Fixed an issue that caused bug report generation to fail. (This was a hotfix for 0.62)
  • Updated the Windows App SDK runtimes to 1.1.5.

Always on Top

  • Fixed an issue causing the border to linger when moving a window between virtual desktops.
  • The minimum thickness for the borders is now 1. Thanks @unuing!
  • Borders were showing in Virtual Desktop thumbnails. These were removed.
  • Corrected the borders visuals to more closely follow the application borders.

Awake

  • Fixed utility exit logic to close all threads and avoid crashes. (This was a hotfix for 0.62)

Color Picker

  • Fixed utility exit logic to close all threads and avoid crashes. (This was a hotfix for 0.62)
  • Fixed initialization error that caused the mouse position to be incorrectly set.

FancyZones

  • Fixed FancyZones Editor exit logic to close all threads and avoid crashes. (This was a hotfix for 0.62)

File explorer add-ons

  • Updated the WebView 2 dependency to 1.0.1343.22. Thanks @Aaron-Junker!
  • Fixed preview of .reg files.

Image Resizer

  • Fixed a bug causing File Explorer to crash under some conditions when accessing the context menu.

PowerToys Run

  • Added support to opening Terminal windows in quake mode. Thanks @FWest98!
  • Fixed utility exit logic to close all threads and avoid crashes. (This was a hotfix for 0.62)
  • Improve the icon shown in the Program plugin for application execution aliases. Thanks @MikeBarker-MSFT!
  • Fix calls to the default browser when Firefox is installed from the Microsoft Store.
  • Fixed accessibility issue in which controls appended to the result entries weren't announced.
  • Search was improved and should now return results where the terms in the query appear at the end of the result.

Quick Accent

  • Improved the keyboard hooks performance. (This was a hotfix for 0.62)
  • Fixed a bug that was causing Quick Accent to interfere with Keyboard Manager. (This was a hotfix for 0.62)
  • Added the correct ß uppercase character. Thanks @Aaron-Junker!
  • Accent character selection should now wrap around. Thanks @wmentha!
  • Added language selection setting to reduce the number of accented characters shown. The available accented character sets are Currency, Czech, Dutch, French, Hungarian, Icelandic, Italian, Maori, Pinyin, Polish, Romanian, Slovakian, Spanish and Turkish. Thanks @damienleroy!

Screen Ruler

  • Improved UI/UX and settings descriptions.
  • Fixed utility exit logic to close all threads and avoid crashes. (This was a hotfix for 0.62)

Settings

  • UI icons updated. Thanks @Jay-o-Way!
  • Descriptions improvement and disambiguation. Thanks @Jay-o-Way!
  • Fixed checkbox margins and other design tweaks. Thanks @Jay-o-Way!

Text Extractor

  • Removed extra spaces when recognizing Chinese, Japanese or Korean languages. Thanks @TheJoeFin!
  • Fixed utility exit logic to close all threads and avoid crashes. (This was a hotfix for 0.62)
  • Fixed an issue where a selection would start on right-click.

Installer

  • Added logic to exit PowerToys on upgrade before trying to update .NET.
  • Updated the .NET dependency to 6.0.9.
  • Added clearer installation step names for the bootstrapper. Thanks @htcfreek and @Jay-o-Way!
  • Windows App SDK, VC++ redistributable and PowerToys Interop runtime files are now shared between utilities through hardlinks, reducing installation size.

Documentation

  • Fixed typos in Keyboard Manager documentation. Thanks @eltociear!
  • Replaced docs.microsoft.com links with learn.microsoft.com. Thanks @Aaron-Junker!

Development

  • Fixed a build error that was restricting developers to switch between configuration without first cleaning local build files.
  • C++ exception catches were corrected to be caught by reference to avoid unnecessary copy operations. Thanks @NN---!
  • General C# code clean up, format fixing and removal of unused code analysis suppressions.
  • Removed unnecessary muxc prefix from XAML files. Thanks @Jay-o-Way!
  • Re-enabled tests on our pipeline that depend on WebView2.
  • Windows 11 tier 1 context menu packages now contain the "Microsoft.PowerToys" prefix.

What is being planned for v0.64

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

  • Environment Variables Editor PowerToy
  • GPO policies for PowerToys
  • Utility to list which processes are using a file
  • Ship .NET self contained and shared between utilities
  • Hosts file editor, contributed by @davidegiacometti. Thank you!
  • Settings backup and restore, contributed by @jefflord. Thank you!
  • 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. Month over month, you directly help make PowerToys a better piece of software.

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.