Windows system utilities to maximize productivity
Go to file
Aaron Junker 39b98dab3b
Preview Handler for developer files (#15138)
* Create Readme.md

* Update Readme.md

* Rebased to master

* started integrating

* Resolve merge conflict

* Fixed merge conflict

* Edited expect.txt

* Tried implementig interfaces

* Push

* Push

* push

* push

* Deleted no longer used files

* push

* push

* Thanks @jaimecbernando for helping

* can load via url

* getting stuff semi stubbed out

* full render without passing vars

* making sure we clearly label the file was us

* push

* push

* push (does not work)

* Push

* push

* Added file size limit of 3 Kilobyte in standalone App (MoncaoPreview)

* Added monacosrc to excludes.txt (spell checker)

* Fixed XAMLHost loading issue and changed namespace of Settings.cs

* push

* Restructred some code in MonacoPreviewHandler  (not functional)

* MonacoPreview changes:

Added maximal file size and error message as values in Settings.cs
Increased maxFileSize to 10 KB
Renamed variables and formed code according to style guidelines
Added many comments
Deleted usused code
Added unimplemented(?) NavigationStarted method to prevent navigation in WebView
Fixed scrollbar issues (Not beautiful, but still better)
Removed never seen laoding window
Added some debug information as well as some Exceptions.

MonacoPreviewHandler Changes:

Changed order of code executions (still not usable)

* Push

* Push

* Push

* push

* Oh my god, it works

* Added loading screen and resize

* Added some comments, changed variable names and integrated some stuff from MonacoPreview to MonacoPreviewHandler;

* Monaco Preview Handler:
* Removed accessibilityhelpurl
* Made background of loading screen like theme selected
* dev tools open now in Debug mode automatically
* Fixed error message for too big file size

* push

* Fixed a tiny bug

* Updated a NuGet Pasckage

* Removed some to-do points in FileHandler.cs and added them to #14957

* Removed some to-do points in FileHandler.cs and added them to #14957.

Supressed a warning and styled a function better in PrebiewHandlerCommon

* Fixed 2 comment typos and a font that didn't load. (Sadly his required enable CORS again :( )

* Removed old standalone project

* Removed old unused files & rebase to master #1

* Deleted everything from the monaco source code expect the minified version

* Push

* Added summary of all functions. Restructred/simplified/clarified some code.

* Added resources

* Update bug_report.yml

* Update translation_issue.yml

* Update expect.txt

* Update ProofOfConcept/MonacoPreview/monacoPreviewHandler/index.html

Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* Update ProofOfConcept/MonacoPreview/monacoPreviewHandler/MonacoPreviewHandlerControl.cs

Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* Update ProofOfConcept/MonacoPreview/monacoPreviewHandler/Resources.resx

Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* Added some additional file types

* Added additional file types

* Moved to a json file for the available languages and some other changes

* Added error message when WebView2 is not installed

* Remoing throw error

* Update expect.txt

* Update excludes.txt

* Update excludes.txt

* Integrate Monaco preview handler into PowerToys

* Update excludes.txt

* Ignore .svg extension

* Update signing list

* Update signing list #2

* Changed monaco string

* fix

* Fixed wrong JSON field and changed date of Copyright

* Added check if WebView is installed

* Added error when webview2 is not installed

* Increased file size limit to 50kb

* Added new file generator for languages.json

* Remove unvisible symbol at the beggining of the file

* Regenerate resx file

* Update MonacoPreviewHandler.csproj

* tweaking script to ignore 1.0 check on theme dll

* Update src/modules/previewpane/MonacoPreviewHandler/Properties/Resources.resx

Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>

* Update src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs

Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>

* Update src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs

Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>

* Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw

Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>

* Update excludes.txt

* Update src/modules/previewpane/powerpreview/Resources.resx

Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>

* Check and install WebView2 if needed

* Run spellcheck script

* Update ESRPSigning_core.json

adding font

* Update versionAndSignCheck.ps1

adding fonts to verify

* Adding in Monaco usage

* Update NOTICE.md

* Update ESRPSigning_core.json

* expect.txt update

* Use Common.UI/ThemeManager.cs

* No user facing strings should reference Monaco

* Fix build error

* monaco devdocs (#15691)

* Create update-monaco-editor.md

* Update and rename update-monaco-editor.md to readme.md

* Update doc/devdocs/modules/powerpreview/monaco/readme.md

Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>

* Update doc/devdocs/modules/powerpreview/monaco/readme.md

Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>

* Update doc/devdocs/modules/powerpreview/monaco/readme.md

Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>

* Update readme.md

* Update readme.md

Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>

* Fix WebView installer condition

* Using system.text.json

* Update ESRPSigning_core.json

* Remove Newtonsoft.Json.dll from installer

* Revert "WinUI bump (#15707)"

This reverts commit b6a207c4b6.

* Revert "Update Settings.UI.csproj (#15704)"

This reverts commit 1a25dacc73.

Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Aaron Junker <aaron.junker@sus.schulen-stadtsh.ch>
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
2022-01-25 21:02:10 +01:00
.github Preview Handler for developer files (#15138) 2022-01-25 21:02:10 +01:00
.pipelines Preview Handler for developer files (#15138) 2022-01-25 21:02:10 +01:00
deps Add a new YAML release pipeline to replace the old CDPx one (#15039) 2021-12-17 18:15:31 -08:00
doc Preview Handler for developer files (#15138) 2022-01-25 21:02:10 +01:00
installer Preview Handler for developer files (#15138) 2022-01-25 21:02:10 +01:00
src Preview Handler for developer files (#15138) 2022-01-25 21:02:10 +01:00
tools [FileExplorer] StlThumbnailProvider (#15568) 2022-01-25 11:51:37 +00:00
.gitattributes Update .gitattributes to make line endings consistent (#5942) 2020-08-14 11:38:10 -07:00
.gitignore Show progress dialog during startup (#9255) 2021-04-02 12:07:12 +02:00
.gitmodules Bug report tool (#8633) 2020-12-22 11:27:28 +01:00
.vsconfig adding vsconfig to main solution (#10169) 2021-03-16 14:28:55 -07:00
CODE_OF_CONDUCT.md adding in a Code of Conduct 2020-03-05 10:11:27 -08:00
COMMUNITY.md 0.53 release work (#15181) 2022-01-06 09:27:31 -08:00
CONTRIBUTING.md Prepare for renaming master -> main (#13235) 2021-11-01 12:21:47 -05:00
Cpp.Build.props [PowerRename] Fluent UX (#13678) 2021-10-25 14:40:19 +01:00
Directory.Build.props common: refactor common library pt2 (#8588) 2020-12-15 15:16:09 +03:00
LICENSE Fix license file (#2626) 2020-05-02 15:59:18 -07:00
NOTICE.md Preview Handler for developer files (#15138) 2022-01-25 21:02:10 +01:00
nuget.config Clearing any nuget configuration that might be coming from parent directories, fixes #4595 2020-06-30 08:50:53 +02:00
PowerToys.sln Preview Handler for developer files (#15138) 2022-01-25 21:02:10 +01:00
README.md Update README.md 2022-01-12 09:59:36 -08:00
SECURITY.md Create SECURITY.md 2020-07-17 14:45:18 -07:00
Solution.props [PowerRename] Fluent UX (#13678) 2021-10-25 14:40:19 +01:00
SUPPORT.md Prepare for renaming master -> main (#13235) 2021-11-01 12:21:47 -05: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 Currently investigating 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

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.53.3-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.53 - December 2021 Update

We hope everyone has had a wonderful December 2021. The PowerToys community has been busy with a bunch of improvements. We're still working on improving the installer but this should drastically improve things. 3 things you will want to check out are G-code support in file explorer preview pane and thumbnails, the new web search plugin from PowerToys Run via ?? action phrase, and the new Always on Top utility via Win+Ctrl+T.

@Aaron-Junker also has done some great progress on implementing developer file preview pane via the Monaco engine from Visual Studio Code.

Things to be aware of

  • The new installer currently has a visual quirk when upgrade if you have a custom install path. It will show the default install path but it will actually overwrite the current location. We are investigating how to fix this.

Always on Top

  • Welcome to the family! With a quick Win+Ctrl+T, the window in focus is toggled to be on top. Toggle again, and it reverts back to normal.

ColorPicker

  • HEX input improvements for adjust color menu including support for hex code without hashtag and short hex code like #CF0. Thanks @htcfreek!
  • Better bottom right screen detection for overlay

FancyZones

  • Increased negative space margin
  • Fix for not snapping child windows
  • Fix for clearing keyboard focus on editor launch
  • Fix to improve overlays to reduce brightness and hide numbers. Thanks @davidegiacometti

File Explorer

  • Added G-code support for thumbnails and preview pane. Thanks @pedrolamas

Image Resizer

  • Fixed regression from Metadata tag removal of ColorSpace. Thanks @CleanCodeDeveloper

PowerRename

  • Row highlighting + preview support now implemented. Thanks @niels9001
  • Fixed AltGR input issue
  • Improved folder renaming support
  • Opens on active monitor

PowerToys Run

  • Web searching has been added! ?? What is the answer to life will go to your favorite search engine via your browser. You can change the default action key too! Thanks @cyberrex5 for primary implementation and @franky920920 and @htcfreek for supporting
  • VS Code workspace improvements. Thanks @ricardosantos9521
  • Binary and Hex number support. Thanks @gsuberland
  • Ability to use factorials in calculations
  • PT Run will not show in Window Walker results anymore. Thanks @davidegiacometti
  • Fix log / ln calculations
  • Fix to make previous results clear
  • Fix to detect symlinks and prevent recursive loops
  • Fix for trackpad scrolling being too fast
  • Removed unneeded nuget package. Thanks @ChaseKnowlden
  • Better detection for if a packaged app can be elevated
  • Improve crash resiliency for Program plugin. Thanks @davidegiacometti
  • Improved Windows setting results. Thanks @htcfreek
  • Fixed a bug where some similar activation phrases aren't working as expected. Thanks @htcfreek and @cyberrex5.

Video conference mute

  • Disabled by default as this requires elevation to register the virtual camera.
  • Changed (default) hotkey for mute camera & microphone from Win+N to Win+Shift+Q to not conflict with a Windows 11 keyboard shortcut

Settings

  • Multiple accessibility, layout, image, string and icons fixes. Thanks @niels9001

Runner

  • Improved mutex support to prevent multiple PT Run instances from running

Installer

  • NOTE: The new installer currently has a visual quirk when upgrade if you have a custom install path. It will show the default install path but it will actually overwrite the current location. We are investigating how to fix this.
  • Large progress toward user based installing vs machine wide. Upgrade scenario still needs additional work.
  • Removed custom bootstrapper and now are using a WiX bundle.
  • Removed unused image assets that were still being shipped. Thanks @niels9001

ARM64 support

  • Setting WinUI3 proof-of-concept and validate we do need at least one more feature, elevation support from WinUI 3 unpackaged applications.

Dev improvements

  • New YAML based pipeline for building our signed installer. This will allow us to consolidate our CI to use same file. This was critical for us to unblock ARM64 and .NET 6 migration.
  • Our submodules will no longer auto fetch to prevent locking issues. If you want a refresher on how to do this, head to our dev docs
  • Localization system shifted to Touchdown from CDPx. This should remove many of the loc issues.
  • Consolidated a lot of the naming of EXEs and DLLs along with projects
  • Update to spell checker. Thanks @jsoref
  • /dup response has been added
  • /reportbug /bugreport will ask for a "report bug" zip

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, @ChaseKnowlden, @CleanCodeDeveloper, @cyberrex5, @davidegiacometti, @franky920920, @gsuberland, @jay-o-way, @jsoref, @niels9001, and @ricardosantos9521

What is being planned for v0.55

For v0.55, we'll work on adding more stability in with VCM and getting dev file preview pane added in so we get 150 file types :)

  • We are working to heavily reduce / remove the UAC prompt over the next few releases on install. This is a big shift so it is spanning multiple releases so we can isolate issues if they do occur. Work is tracked in #10126
  • Getting the dev file preview pane work integrated. (Monaco Editor)
  • .NET 6 upgrade to all available surfaces
  • Find my mouse feature, accessibility cross-hair

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.

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.