Windows system utilities to maximize productivity
Go to file
Seraphima Zykova 579619952d
[New Module] Workspaces (#34324)
* spell checker

* Adding OOBE Projects page

* changed the default hotkey

* module interface

* rename projects editor

* bug report tool

* installer

* gpo

* exit event constant

* extend search for projects by search over the containing apps' names

* [Projects] fix grammatical issue #43 (1 app - many apps)

* [Projects] Editor: Main page: fix layout if there are many apps, launch button not disappearing on the right side

* dsc

* github

* pipeline

* guid prefix

* [Projects] fixing general settings gpo handling in runner + minor changes

* arm build fix

* Do not allow saving project if name or applist is empty. Also minor UI changes

* version

* editor version

* spellcheck

* editor dll signing

* update projects names to filter them out

* shortcut saving fix

* [Projects] Editor: brining the highlighted app's icon into the foreground. + minor UI fixes

* spell checker

* spellcheck

* [Projects] re-implementing icon size calculation to have similar sized icons for every app.

* [projects] Adding info message for cases: there are no projects or no results for the search

* [Projects] Adding Edit button to the popup. + minor changes

* [Projects] Making popup having rounded corners

* changed "no projects" text color and position

* remove opening the first proj

* fix placing windows of the same app in the project

* [Projects] bringing back the breadcrumb on the editor page. Make it clickable.

* [Projects] optimizing click handlers

* [Projects] Removing not selected apps on save

* moved on thread executor to common

* moved display utils

* added convert rect

* unsigned monitor number

* set awareness

* app placement

* [Projects] Re-implementing preview drawing - one common image

* [Projects] fix boundary calculation, use DPI aware values

* fix launching with command line args

* Fix ARM64 CI build

* launch packaged apps using names when possible

* spell-check

* update packaged apps path

* projects editor single instance

* [Projects] Add Select all checkbox, Delete selected button

* Add Checkbox for per monitor selection

* modifying highlight in preview

* spell checker

* logs

* exclude help windows

https://github.com/JaneaSystems/PowerToys-DevProjects/issues/49

* Add intermediate step to project creation

* minor bugfix

* mutex fix

* modifying highlight for minimized apps

* Fixing bug: re-draw the preview on app deletion in the editor

* Adding helper class for getting the right bounds for screens

* spell checker

* spell checker

* Minor fixes in the capture dialog

* get dpi unaware screen bounds

* refactoring: added utils

* changed window filter

https://github.com/JaneaSystems/PowerToys-DevProjects/issues/2

* clean up

* refactoring

* projects common lib

* localizable default project prefix

* launcher resources

* clean up

* change snapshot project saving

https://github.com/JaneaSystems/PowerToys-DevProjects/issues/14

* changed project data

https://github.com/JaneaSystems/PowerToys-DevProjects/issues/14

* changed project creation save-cancel handles

https://github.com/JaneaSystems/PowerToys-DevProjects/issues/14

* spell-check

* Remove checkboxes, delete feature

* remove unused from the project

* get command line args in the snapshot

* minimized settings snap fix

* set window property after launching

* FZ: ignore projects launched windows

* Implementing major new features: remove button, position manipulation, arguments, admin, minimized, maximized

* modifying colors

* launcher project filters

* clean up

* Hide Admin checkbox

* hide WIP

* spell-check

* Revert "Hide Admin checkbox"

This reverts commit 3036df9d7f.

* get app elevated property

* Implementing Launch and Edit feature

* fixing: update of listed projects on the main page after hitting save in editor

* Fix for packaged app's icons

* fixing scroll speed issue

* change scroll speed to 15

* launch elevated apps

* minor fixes

* minor fix

* enhancing shortcut handling

* can-launch-elevated check

* projects module interface telemetry

* Implementing store of setting "order by".

* minor string correction

* moved projects data parsing

* telemetry

* add move apps checkbox

* notification about elevated apps

* restart unelevated

* move existing windows

* keep opened windows at the same positions

* handle powertoys settings

* use common theme

* fix corrupted data: project id and monitor id

* project launch on "launch and edit"

* clean up

* show screen numbers instead of monitor names

* launcher error messages

* fix default shortcut

* Adding launch button to projects settings, dashboard and flyout

* Adding new app which is launched when launching a project. It shows the status of the launch process

* spell checker

* Renaming Projects to App Layouts. Replacing only string values, not the variable names

* Re-ordering modules after Renaming Projects + spell checker

* setting window size according to the screen (making it bigger)

* commenting out feature "move apps if exist"

* spell checker

* Add ProjectsLauncherUI to signing

* opening apps in minimized state which are placed on a monitor, which is not found at the moment of launching

* consistent file name

* removed unused sln

* telemetry: create event

* WindowPosition comparison

* telemetry: edit event

* fix muted Launch as admin checkbox

* telemetry: delete event

* updated Edit telemetry event

* added invoke point to launcher args

* added utils

* parse invoke point

* replaced tuple with struct

* telemetry: launch event

* MonitorRect comparison

* resources

* rename: folders

* remove outdated

* rename: window property

* rename: files and folders

* rename: common data structures

* rename: telemetry namespace

* rename: workspaces data

* rename ProjectsLib -> WorkspacesLib

* rename: gpo

* rename: settings

* rename: launcher UI

* rename: other

* rename: pt run

* rename: fz

* rename: module interface

* rename: icon

* rename: snapshot tool

* rename: editor

* rename: common files

* rename: launcher

* rename: editor resources

* fix empty file crash

* rename: json

* rename: module interface

* fix custom actions build

* added launch editor event constant

* xaml formatting

* Add missing method defition to interop::Constants idl
Remove Any CPU config

* more .sln cleanup

* [Run][PowerToys] Fix Workspaces utility (#34336)

polished workspaces utility

* build fix - align CppWinRT version

* address PR comment: fix isdigit

* indentation

* address PR comment: rename function

* address PR comment: changed version for workspaces and revision

* added supported version definition

* addressPR comment: use BringToForeground

* address PR comments: updated projects

* address PR comment: uncomment gpo in settings

* address PR comment: rename oobe view

* update OOBE image with current module name

* moved AppUtils

* launching with AppUserModel.ID

* fixed module order in settings

* fix xaml formatting

* [Workspaces] Close launcher if there are failed launches. Plus adding new spinner gif

* fix topmost LauncherUI

* clean up

* UI closing

* BugReportTool - omit cmd arg data

* Delete icon on workspace removal

* Adding cancellation to launcher UI.

* reordered launching

* fix terminating UI

* Removing old shortcut on workspace renaming

* Sentence case labels

* get process path without waiting

* comment out unused

* remove unused argument

* logs

* New icon

* fix launch and edit for the new project

* fix launch and edit: save new project

* Update exe icons

---------

Co-authored-by: donlaci <laszlo@janeasystems.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Davide Giacometti <davide.giacometti@outlook.it>
Co-authored-by: Niels Laute <niels.laute@live.nl>
2024-08-23 09:28:13 +02:00
.config [Deps]Update Xamlstyler.console to 3.2404.2 (#32567) 2024-06-20 10:15:55 +01:00
.configurations [Dev]Add additional Winget DSC scripts for VS Pro and Enterprise (#31325) 2024-02-08 09:50:37 +00:00
.github [New Module] Workspaces (#34324) 2024-08-23 09:28:13 +02:00
.pipelines [New Module] Workspaces (#34324) 2024-08-23 09:28:13 +02:00
deps Update cziplib to 0.25 (#21198) 2022-10-13 00:12:17 +03:00
doc [New Module] Workspaces (#34324) 2024-08-23 09:28:13 +02:00
installer [New Module] Workspaces (#34324) 2024-08-23 09:28:13 +02:00
src [New Module] Workspaces (#34324) 2024-08-23 09:28:13 +02:00
tools [New Module] Workspaces (#34324) 2024-08-23 09:28:13 +02:00
.gitattributes Update .gitattributes 2022-07-19 13:06:16 -07:00
.gitignore [DSC] Implement Microsoft.PowerToys.Configure DSCResource & winget support (#30918) 2024-04-02 00:09:47 +01:00
.gitmodules Delete cxxopts (#21197) 2022-10-13 00:09:47 +03:00
.vsconfig [Dev]Add missing ATL lib to .vsconfig (#26953) 2023-06-20 14:45:46 +01:00
CODE_OF_CONDUCT.md adding in a Code of Conduct 2020-03-05 10:11:27 -08:00
COMMUNITY.md Update COMMUNITY.md (#32725) 2024-06-12 09:34:32 -07:00
CONTRIBUTING.md Add bot trigger for contribution thread (#28221) 2023-11-15 15:46:52 -08:00
Cpp.Build.props [Build]Remove wildcards items in vcxproj (#33862) 2024-07-18 14:48:46 +01:00
CppRuleSet.ruleset [Analyzers][CPP] Turn on warning 26493 (#23990) 2023-02-13 16:37:26 +00:00
Directory.Build.props [Build] Set NuGet Audit Mode to Direct to revert changes made with VS 17.12 (#34314) 2024-08-16 11:16:43 +02:00
Directory.Build.targets [Build]Add Microsoft.MSBuildCache (#30100) 2024-01-15 21:45:28 +00:00
Directory.Packages.props [Deps] Update UnitsNet to v5.56.0 (#34367) 2024-08-21 20:41:38 +02:00
LICENSE Fix license file (#2626) 2020-05-02 15:59:18 -07:00
NOTICE.md [Deps] Update UnitsNet to v5.56.0 (#34367) 2024-08-21 20:41:38 +02:00
nuget.config [EnvVar][Hosts][RegPrev]Decouple and refactor to make it "packable" as nuget package (#32604) 2024-04-26 18:41:44 +01:00
packages.config Update MSBuildCache to 0.1.283-preview (#33988) 2024-07-24 12:18:24 -07:00
PowerToys.sln [New Module] Workspaces (#34324) 2024-08-23 09:28:13 +02:00
README.md 0.83 changelog (#34048) 2024-07-30 12:21:30 -07:00
SECURITY.md Update SECURITY.md from 0.0.2 to 0.0.9 (#28289) 2023-09-06 09:14:28 -07:00
Settings.XamlStyler [Build]Use XamlStyler to check XAML formatting (#28643) 2023-10-09 15:58:13 +01:00
Solution.props [PowerRename] Fluent UX (#13678) 2021-10-25 14:40:19 +01:00
SUPPORT.md [Docs]Replace docs.micrososft.com with learn.microsoft.com (#20662) 2022-09-28 17:18:55 +01:00

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 Stable 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:
Advanced Paste Always on Top PowerToys Awake
Command Not Found Color Picker Crop And Lock
Environment Variables FancyZones File Explorer Add-ons
File Locksmith Hosts File Editor Image Resizer
Keyboard Manager Mouse utilities Mouse Without Borders
Peek Paste as Plain Text PowerRename
PowerToys Run Quick Accent Registry Preview
Screen Ruler Shortcut Guide Text Extractor
Video Conference Mute

Installing and running Microsoft PowerToys

Requirements

  • Windows 11 or Windows 10 version 2004 (code name 20H1 / build number 19041) or newer.
  • x64 or ARM64 processor
  • Our installer will install the following items:

Go to the Microsoft PowerToys GitHub releases page and click on Assets at the bottom to show the files available in the release. Please use the appropriate PowerToys installer that matches your machine's architecture and install scope. For most, it is x64 and per-user.

Description Filename sha256 hash
Per user - x64 PowerToysUserSetup-0.83.0-x64.exe C78E24F21C611F2BD774D8460ADD4B9AC8519085CA1253941CB46129331AB8C8
Per user - ARM64 PowerToysUserSetup-0.83.0-arm64.exe BA1C16003D55587D523A41B960D4A03718123CA37577D5F2A75E151D7653E6D3
Machine wide - x64 PowerToysSetup-0.83.0-x64.exe 7EC435A10849187D21A383E56A69213C1FF110B7FECA65900D9319D2F8162F35
Machine wide - ARM64 PowerToysSetup-0.83.0-arm64.exe 5E147424D1D12DFCA88DC4AA0657B7CC1F3B02812F1EBA3E564FAF691908D840

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 is available for both Windows 11 and Windows 10.

Via WinGet

Download PowerToys from WinGet. Updating PowerToys via winget will respect current PowerToys installation scope. To install PowerToys, run the following command from the command line / PowerShell:

User scope installer [default]

winget install Microsoft.PowerToys -s winget

Machine-wide scope installer

winget install --scope machine 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, you can find the install instructions there.

Third-Party Run Plugins

There is a collection of third-party plugins created by the community that aren't distributed with PowerToys.

Contributing

This project welcomes contributions of all types. Besides coding features / bug fixes, other ways to assist include spec writing, design, documentation, and finding bugs. 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 would 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 grant us the rights to use your contribution and that you have permission to do so.

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.83 - July 2024 Update

In this release, we focused on stability and improvements.

Highlights

General

  • Reordered GPO policies, making it easier to find some policies. Thanks @htcfreek!

Advanced Paste

  • Fixed CSV parser to support double quotes and escape delimiters when pasting as JSON. Thanks @GhostVaibhav!
  • Improved double quote handling in the CSV parser when pasting as JSON. Thanks @htcfreek!

Awake

  • Different modes will now show different icons in the system tray. Thanks @dend, and @niels9001 for the icon design!
  • Removed the dependency on Windows Forms and used native Win32 APIs instead for the tray icon. Thanks @dend and @BrianPeek!
  • Fixed an issue where the UI would become non-responsive after selecting no time for the timed mode. Thanks @dend!
  • Refactored code for easier maintenance. Thanks @dend!
  • The tray icon will now be shown when running Awake standalone to signal mode. Thanks @dend!
  • The tray icon tooltip shows how much time is left on the timer. Thanks @dend!
  • Added DPI awareness to the tray icon context menu. Thanks @dend!

Color Picker

  • Added support to using the mouse wheel to scroll through the color history. Thanks @Fefedu973!

File Explorer add-ons

  • Allow copying from the right-click menu in Monaco and Markdown previewers.

File Locksmith

  • Fixed a crash when there were a big number of entries being shown by moving the opened files of a process to another dialog.

Installer

  • Fixed the path where DSC module files were installed for the user-scope installer. (This was a hotfix for 0.82)

Mouse Without Borders

  • Disabled non supported options in the old Mouse Without Borders UI. Thanks @htcfreek!
  • Added new GPO policies to control the use of some features. Thanks @htcfreek!

Peek

  • Allow copying from the right-click menu in Dev files and Markdown previews.

PowerToys Run

  • Fixed a crash on Windows 11 build 22000. (This was a hotfix for 0.82)
  • Blocked a transparency fix code from running on Windows 10, since it was causing graphical glitches. (This was a hotfix for 0.82)
  • Accept speed abbreviations like kilometers per hour (kmph) in the Unit Converter plugin. Thanks @GhostVaibhav!
  • Added settings to configure behavior of the "First week of year" and "First day of week" calculations in the DateTime plugin. Thanks @htcfreek!
  • Fixed wrong initial position of the PowerToys Run when switching between monitors with different dpi values.
  • Started allowing interchangeable use of / and \ in the registry plugin paths.
  • Added support to automatic sign-in after rebooting with the System plugin. Thanks @htcfreek!
  • Added suggested use example results to the Value Generator plugin. Thanks @azlkiniue!

Quick Accent

Runner

  • Add code to handle release tags with an upper V when trying to detect new updates. Thanks @davidegiacometti!

Settings

  • Fixed the UI spacing in the "update available" card. Thanks @Agnibaan!
  • Fixed the information bars in the Mouse Without Borders settings page to hide when the module is disabled. Thanks @htcfreek!
  • Improved consistency of the icons used in the Mouse Without Borders settings page. Thanks @htcfreek!
  • Improved action keyword information bar padding in the PowerToys Run plugins section. Thanks @htcfreek!
  • Fixed a crash in the dashboard when Keyboard Manager Editor settings file became locked.

Documentation

  • Added the RDP plugin to PowerToys Run thirdPartyRunPlugins.md docs. Thanks @anthony81799!
  • Added the GitHubRepo and ProcessKiller plugins to PowerToys Run thirdPartyRunPlugins.md docs. Thanks @8LWXpg!
  • Fixed a typo in the 0.82.0 release notes in README. Thanks @walex999!

Development

  • Disabled FancyZone UI tests, to unblock PRs. We plan to bring them back in the future. (This was a hotfix for 0.82)
  • Fixed an issue where flakiness in CI was causing the installer custom actions DLL from being signed. (This was a hotfix for 0.82)
  • Upgraded the Microsoft.Windows.Compatibility dependency to 8.0.7.
  • Upgraded the System.Text.Json dependency to 8.0.4.
  • Upgraded the Microsoft.Data.Sqlite dependency to 8.0.7.
  • Upgraded the MSBuildCache dependency to 0.1.283-preview. Thanks @dfederm!
  • Removed an unneeded /Zm compiler flag from Keyboard Manager Editor common build flags.
  • Fixed the winget publish action to handle upper case V in the tag name. Thanks @mdanish-kh!
  • Removed wildcard items from vcxproj files. Thanks @davidegiacometti!
  • Removed the similar issues bot GitHub actions. Thanks @craigloewen-msft!
  • Fixed CODEOWNERS to better protect changes in some files.
  • Switched machines being used in CI and pointed status badges in README to the new machines.
  • Fixed NU1503 build warnings when building PowerToys. Thanks @davidegiacometti!
  • Use the MSTest meta dependency for running the tests instead of the individual testing packages. Thanks @stan-sz!
  • Added missing CppWinRT references.

What is being planned for version 0.84

For v0.84, we'll work on the items below:

  • Stability / bug fixes
  • New utility: Dev Projects
  • Language selection
  • New module: File Actions Menu

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 wouldnt 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 by 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.