microsoft/PowerToys


PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity.

Inspired by theWindows 95 era PowerToys project, this reboot provides power users with ways to squeeze more efficiency out of the Windows 10 shell and customize it for individual workflows. A great overview of the Windows 95 PowerToys can be foundhere.

The first preview of these utilities can be installed fromhere.

logo

September Update

The first preview release of the PowerToys utilities and source code is now live! This release includes two preview quality utilities as well as the tools and docs to make it easy to create new PowerToys utilities.

  1. FancyZones– FancyZones is a window manager that makes it easy to create copmlex window layouts and quickly position windows into those layouts. The FancyZones backlog can be foundhere

FancyZones

FanzyZones Video Tutorial
FancyZones Video Tutorial

  1. Windows key shortcut guide– The shortcut guide appears when a user holds the Windows key down for more than one second and shows the available shortcuts for the current state of the desktop. The shortcut guide backlog can be foundhere

Windows key shortcut guide

Additional utilities in the pipeline are:

The full backlog of utilities can be foundhere

The latest release of PowerToys can be downloaded fromhttps://github.com/microsoft/PowerToys/releases
Click onAssetsto show the files available in the release and then click onPowerToysSetup.msito download the PowerToys installer.
PDB symbols for the release are available in a separate zip filePDB symbols.zip.

Build Prerequisites

  • Windows 10 1803 (build 10.0.17134.0) or above in order to build and run PowerToys.
  • Visual Studio 2019 Community edition or higher, with the ‘Desktop Development with C++’ component and the Windows 10 SDK version 10.0.18362.0 or higher.

Building the Code

  • Openpowertoys.slnin Visual Studio, in theSolutions Configurationdrop-down menu selectReleaseorDebug, from theBuildmenu chooseBuild Solution.
  • The PowerToys binaries will be located in your repo underx64Release.
  • If you want to copy thePowerToys.exebinary to a different location, you’ll also need to copy themodulesand thesvgsfolders.

Prerequisites to Build the Installer

Building the .msi Installer

  • From theinstallerfolder openPowerToysSetup.slnin Visual Studio, in theSolutions Configurationdrop-down menu selectReleaseorDebug, from theBuildmenu chooseBuild Solution.
  • The resultingPowerToysSetup.msiinstaller will be available in theinstallerPowerToysSetupx64Releasefolder.

Debugging

The following configuration issue only applies if the user is a member of the Administrators group.

Some PowerToys modules require to run with the highest permission level if the current user is a member of the Administrators group. The highest permission level is required in order to be able to perform some actions when an elevated application (e.g. Task Manager) is in the foreground or is the target of an action. Without elevated privileges some PowerToys modules will still work but with some limitations:

  • theFancyZonesmodule will be not be able to move an elevated window to a zone.
  • theShortcut Guidemodule will not appear if the foreground window belongs to an elevated application.

In order to run and debug PowerToys from Visual Studio when the user is a member of the Administrators group, Visual Studio has to be started with elevated privileges. If you want to avoid running Visual Studio with elevated privileges and don’t mind the limitations described above, you can do the following: open therunnerproject properties and navigate to theLinker ->Manifest Filesettings, edit theUAC Execution Levelproperty and change it fromhighestAvailable (/level='highestAvailable')toasInvoker (/level='asInvoker'), save the changes.

How to create new PowerToys

See the instructions onhow to install the PowerToys Module project template.
Specifications for thePowerToys settings API.

Coding Guidance

Please review these brief docs below relating to our coding standards etc.

👉If you find something missing from these docs, feel free to contribute to any of our documentation files anywhere in the repository (or make some new ones!)

This is a work in progress as we learn what we’ll need to provide people in order to be effective contributors to our project.

This project welcomes contributions and suggestions and we are excited to work with the power user community to build a set of tools for helping you get the most our of Windows.

We ask thatbefore you start work on a feature that you would like to contribute, please read ourContributor’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.

Note: PowerToys is still a nascent project and the team is actively working out of this repository. We will be periodically re-structuring the code to make it easier to comprehend, navigate, build, test, and contribute to, soDO expect significant changes to code layout on a regular basis.

License Info: 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 details, visithttps://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted theMicrosoft Open Source Code of Conduct.
For more information see theCode of Conduct FAQor contactopencode@microsoft.comwith any additional questions or comments.

Read More

LEAVE A REPLY

Please enter your comment!
Please enter your name here