Compare commits

..

843 Commits

Author SHA1 Message Date
Jaime Bernardo
010428e134 [ci][PTRun]Fix signing for new plugins folders (#14646) 2021-11-25 18:40:27 +00:00
Jaime Bernardo
375ce4c798 [ci][binskim]skip cppwinrt.exe binary checks (#14628) 2021-11-24 12:05:54 -08:00
Niels Laute
d2c6148662 [PowerRename] Resolve UI focus issue (#14605)
* UI tweaks

* Fixed 0 margins

* Fixed height for button

* Update MainWindow.xaml
2021-11-24 18:45:31 +00:00
Jaime Bernardo
84101ab821 [ci][powerpreview]Add include to fix build error (#14624) 2021-11-24 11:09:06 +00:00
Seraphima Zykova
bd0db76e31 [FancyZones] Crash on launch: fix exception handler (#14609)
* fix stacktrace logging

* init logger before exception handler

* wchar check
2021-11-23 18:41:10 +00:00
Clint Rutkas
8743c2329e Show color as a float and as a decimal value (#14548)
* #14020 and #12630 - Show color as a float and as a decimal value

* getting stuff up-to-par

* changing RGB Float to VEC4

* Getting Decimal to display correct.

* tweaking VEC4 output.  What would be better is if these actually pulled from a real output ...

* Shifting to force decimal

Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2021-11-23 09:08:01 -08:00
Jaime Bernardo
46244e8e84 [FindMyMouse]Add additional settings (#14590)
* [FindMyMouse]Add additional settings

* Add setting for Spotlight Initial Zoom

* PR feedback: lowercase settings names

* PR feedback: settings descriptions

* PR feedback: change opacity to percentage

* PR feedback: increase maximum zoom factor

* PR feedback: group spotlight settings

* PR feedback: Expanders start collapsed initially

* Remove extra settings file save in dllmain

* PR feedback: change initial zoom description

* PR feedback: Add warning for photo sensitive users

* PR feedback: remove warning and add description instead

* PR feedback: size->factor in initial zoom description

* Feedback PR: remove opacity description

* PR feedback: remove photo sensitivity warning
2021-11-23 16:52:17 +00:00
Stefan Markovic
8afac77841 [ColorPicker] Accept lower-case hex code in AdjustColor window HEX text block (#14602) 2021-11-23 16:40:12 +01:00
CleanCodeDeveloper
6452369351 [Image Resizer] Fix image resizer unexpected property type or value (#14475)
* fixes issue #9885, image 2 and 3

* fixes issue #9885, image 1

* fixes issue #9885, image 2 and 3 (refactoring)

* try to get past the spell checker

* Loop over all metadata and try to read the actual value. Remove metadata item if exception is thrown on reading the value.

* Add debug utils which will help to troubleshoot further metadata bugs

* Revert "try to get past the spell checker"

This reverts commit 34aa0728b5.

* I gave up on fiddling with individual metadata decided to  build up the metadata object from the scratch

* Improved log messages, add comments, renamed variables
2021-11-23 11:19:09 +00:00
Jaime Bernardo
641d838140 [FindMyMouse]Fix duplicated settings path (#14584) 2021-11-23 10:19:26 +00:00
Jaime Bernardo
2d5276f742 Mouse Utils - Mouse Highlighter (#14496)
* New PowerToys template

* Add CppWinRt to empty PowerToy

* Add Settings reference to empty PowerToy

* Use proper output dir

* Proper WindowsTargetPlatformVersion

* Add filters to vcxproj

* Proper resource file generation

* Add MouseHighlighter proof of concept code

* Abstract implementation into a struct

* Enable module

* Disable module

* Add enable module to settings page

* Can change the hotkey in settings

* Remove remaining boilerplate code

* Add logging

* Add telemetry

* Add Oobe entry

* Add installer instructions

* Add dll to pipelines

* fix spellchecker

* Add more configurability

* Make settings a bit prettier

* Fix spellchecker

* Fix wrong default fade timers

* Fix user facing strings

* Tweak default duration values

* Fix to appear in every virtual desktop

* [Mouse Highlighter] Show highlight on mouse drag (#14529)

* [Mouse Highlighter]show pointer on mouse drag

* fix spellchecker

* [MU] UI tweaks (#14544)

* UI tweaks

* Update Resources.resw

* Updated text strings

* fix spellcheck

Co-authored-by: Laute <Niels.Laute@philips.com>

* tweak default values

* PR feedback: use wstring_view

* PR feedback: Log error on json error

* PR feedback: don't throw 1

* PR feedback: fix copy-pasta leftColor->rightColor

* PR feedback:Add another error message on exception

* PR feedback: add todo to use commons/utils/json.h

Co-authored-by: Niels Laute <niels.laute@live.nl>
Co-authored-by: Laute <Niels.Laute@philips.com>
2021-11-22 13:31:31 +00:00
Clint Rutkas
0dae5d0402 Revert "#14020 and #12630 - Show color as a float and as a decimal value"
This reverts commit 022dde4754.
2021-11-19 14:11:32 -08:00
Clint Rutkas
022dde4754 #14020 and #12630 - Show color as a float and as a decimal value 2021-11-19 14:08:14 -08:00
Clint Rutkas
0aaf00dc5e Getting it sync'ed with settings but this needs to be localized / pulled from a common spot w/ settings (#14537)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2021-11-19 09:43:45 -08:00
Niels Laute
dfb5736ac0 [Settings] Add visual preview of appearance settings for FZ (#14499)
* Adding visual preview

* UI tweaks

* Update FancyZonesPage.xaml

* Update FancyZonesPage.xaml

* Tweaked margins

* UI tweaks

* show desktop wallpaper

* fix spellcheck

Co-authored-by: Laute <Niels.Laute@philips.com>
Co-authored-by: Davide <davide.giacometti@outlook.it>
2021-11-18 20:35:07 +01:00
Jaime Bernardo
04a72ed947 [FindMyMouse]show on all virtual desktops (#14504) 2021-11-18 11:43:54 +00:00
Davide Giacometti
105f94690d [Settings]bring up maximized window fix (#14510) 2021-11-18 11:38:16 +00:00
Niels Laute
36bbce78d7 Update VideoConference.xaml (#14502)
Co-authored-by: Laute <Niels.Laute@philips.com>
2021-11-18 11:15:50 +00:00
FLOAT4
5a9f52fb11 [FancyZones] Bypass restriction on SetForegroundWindow (#14383)
Co-authored-by: float4 <float4-unspecified-mail>
2021-11-18 09:16:04 +00:00
Stefan Markovic
5a4822f89e [PowerRename] Tweak UI and fix performance issues (#14365)
* Init

* Update MainWindow.xaml

* Add identation

* Remove template selector

* Vertical UI

* Update PowerRenameUILib.vcxproj

* Revert "Vertical UI"

This reverts commit d0b3d264fb.

* Revert "Update PowerRenameUILib.vcxproj"

This reverts commit ba18503db2.

* Tweaks to margins

* Updated tweaks

* Update MainWindow.xaml

* Wire counters

* Improve perf: Constant O(1) find-item-by-id time instead of O(n)

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-11-17 10:57:22 +01:00
Franky Chen
c934127d84 [PT Run] Support for application URI (#14391)
* [RUN] Add support for uri with scheme only

* Fix typo

* Add full support for application URI

* Apply suggestions from code review and add tests

* [PT Run] Add support for application uri

* Update error message

* Adapt the icon if the result is web URI

* Update icons for application URI

* Update icons for application URI (dark mode)

* Update icon
2021-11-16 22:06:45 +00:00
Stefan Markovic
2128b88571 [PowerRename] Add PowerRename.exe metadata (#14465)
* Add PowerRename.exe metadata

* Remove unneeded stuff
2021-11-16 17:15:18 +01:00
Stefan Markovic
84d361e8a9 [Settings]TabStop in General page only if element is opened (#14480) 2021-11-16 16:10:43 +00:00
Davide Giacometti
c7381cf1d5 PT Run plugins directories alignment (#14462) 2021-11-16 16:09:18 +00:00
gyro永不抽风
11354a45ce [doc]Rename master -> main in the link (#14445) 2021-11-15 16:33:12 +00:00
Franky Chen
7703991f4c Fix spellcheck typos (#14426) 2021-11-15 16:32:34 +00:00
FLOAT4
9bb6d57515 [FancyZones] Cleanup (#14274)
* [FancyZones] Remove obsolete code

The field `m_zoneSets` is unused, and may be removed.

* [FancyZones] Remove obsolete code

The field `m_windows` is unused, and may be removed.

* [FancyZones] Move adjustment of `RECT` to utils.cpp

By doing so, also fix a bug where a non-`WS_SIZEBOX` window (a window that should not be resized) was resized (and not properly resized) if it was zoned into more than one zone.

* [FancyZones] Complete rename `ZoneWindow` -> `WorkArea`

Fix leftovers from "[FancyZones] Rename ZoneWindow -> WorkArea (#12223)"

* [FancyZones] Refer to the move/size action as dragging

* [FancyZones] Rename `ActiveZoneSet` -> `ZoneSet`

There is only one zone set used by a work area.

* [FancyZones] Rename `zoneUuid` -> `layoutUuid`

The variable holds the UUID of the layout (not of a zone).

Co-authored-by: float4 <float4-unspecified-mail>
2021-11-11 17:23:22 +00:00
Jacob Deuchert
0aa213a31d [PT Run][VSCode] Add DevContainer workspaces to search results (#14313)
* [PT Run] (VSCode Workspaces Plugin)  Added devcontainers

* [PT Run] (VSCode Workspaces Plugin)  Added localization for dev container workspace type

* [PT Run] (VSCode Workspaces Plugin)  Streamlined result title for different workspace types
2021-11-11 14:06:59 +00:00
yuyoyuppe
bef119b03b [Setup] Add logging for registry changes + add logger for powerpreview
- cleanup logger project + remove SettingsAPI dependency
2021-11-11 15:00:43 +03:00
yuyoyuppe
d036740c8b [BugReportTool] Fix notification activator registry path 2021-11-11 15:00:43 +03:00
Heiko
2c9b86d873 [PT Run] [Settings plugin] Add new settings (#13746)
* Add entries for settings tools (#13741)

* Add UAC entry (#13743)

* fix typo

* Add entries for environment vars (#13734)

* fix typos

* fixes

* Improvements

* fix resource strings

* Fix merge conflicts

* update system env vars command

* fix json schema

* Update settings

* fix typo

* add firstResultScore

* fix typos
2021-11-10 16:38:27 +00:00
Heiko
fb97ce040b [PT Run] Improvements on EnvironmentHelper and deletion of old env vars (#13363)
* Improve log message

* New method

* changes made so far

* code cleanup and new method

* fix method name

* final changes so far

* Code cleanup and typo fixes

* fix bugs and code cleanup

* fix typo

* rename Method

* fix cast exception

* fix type casting

* exception handling for testing

* Update path var name#

* make collections case insensitive

* fix spelling

* add code to update names

* improve comments

* exception handling and logging

* update comments

* final changes

* fix typo

* Update comments

* add summary to IsRunningAsSystem method

* update var and fix typos

* Update code

* add log warning for protected vars

* add comment

* fix bugs

* small change

* Update log text

* Skipp logging for USERNAME
2021-11-10 16:38:03 +00:00
Jaime Bernardo
c2adab0716 [ImageResizer]Sanitize target file name (#14040)
* [ImageResizer] Sanitize target file name

* Add a test

* Avoid not recommended file names
2021-11-08 16:43:50 +00:00
AnonymousWP
06882b4fbd [VCM]Fixed typo of string regarding feature (#14309) 2021-11-08 12:46:56 +00:00
Stefan Markovic
079a3b49de Add logging for PowerRename (#14249)
* Add logging for PowerRename

Move call tracer to common/utils/logger
Add logging to both PowerRename dll and PowerRenameUIHost
Add PowerRename to BugReportTool event viewer collection

* Log more errors and exceptions
2021-11-08 13:02:56 +01:00
Jaime Bernardo
c9dca6802e [FindMyMouse]Account for low double click settings (#14291) 2021-11-08 11:36:38 +00:00
Niels Laute
019c05c8e4 [Shortcut Guide] UI tweaks (#14215)
* New SVGs

* Updated tooltips

* Tweaks

* Portrait mode updates

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-11-05 19:30:30 +01:00
Stefan Markovic
159629372d Unify processes list in BugReportTool source (#14269) 2021-11-05 16:44:39 +01:00
Jaime Bernardo
3a6dd45741 [Telemetry] Add basic interaction events to FZ (#12793)
* [Telemetry] Add basic interaction events to FZ

Adds some basic interaction events to FancyZones, such as:
- Starting the drag Window movement.
- A newly created window snapping to a zone.
- Using the Keyboard to snap or extend to a zone.

* Update src/modules/fancyzones/FancyZonesLib/FancyZones.cpp

Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>

* Update trace.cpp

* Rename EventSnapNewWindowIntoZone

* Adjust event names according to PR feedback

Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
2021-11-04 16:53:36 +00:00
Davide Giacometti
e19ecd2ba1 [FancyZones] Use accent color and theme (#14158)
* use accent color and theme

* typo

* Updated FZ color UX (#14171)

Co-authored-by: Laute <Niels.Laute@philips.com>

* fix resources

* rebase fix

* label updated

Co-authored-by: Niels Laute <niels.laute@live.nl>
Co-authored-by: Laute <Niels.Laute@philips.com>
2021-11-04 14:30:06 +00:00
Seraphima Zykova
3ead98a770 [Settings.UI.UnitTests][FancyZones] Uncomment test in CI (#14230)
* uncomment test

* fix typo
2021-11-03 18:06:29 +00:00
CleanCodeDeveloper
9ca32aa3ea [Image Resizer] Add option to remove metadata (#14176)
* Implements option to remove metadata (see #1928)

* Add unit test

* renamed settings switch, update ui text

* Fix exception type, add justification for swallowing exception

* Add unit test to check handling if no metadata is there in targetfile

* Reordered the checkboxes as suggested by @htcfreek

* Reduced size of test image
2021-11-03 18:05:35 +00:00
FLOAT4
9d9df949ef Add keyboard shortcuts (without GUI) for switching windows in the same zone (tabs) (#13973)
Authored-by: float4 <float4-unspecified-mail>
2021-11-03 16:11:42 +01:00
Franky Chen
cd5c22aaa1 Resolved #14236 (#14243) 2021-11-03 14:01:08 +01:00
Clint Rutkas
39a03d876e Update config.yml 2021-11-02 17:04:41 -07:00
yuyoyuppe
992833bdc9 [Setup] Update dotnet to 3.1.20 2021-11-02 19:18:57 +03:00
Niels Laute
e2c8880363 [PowerRename] Added KeyboardAccelerator + set default width/height (#14157)
* Added acceleratorkey (enter) and fixed width/height

* Update PowerRenameUIHost.cpp

* Added additional modifier

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-11-02 15:08:50 +01:00
Stefan Markovic
e6a7f9193b [PT Run] If only delayed results available, select first (#14209) 2021-11-02 14:04:17 +01:00
Stefan Markovic
3dc85595b1 Installer - Add PowerRename Runtime dependency (#14183) 2021-11-02 11:47:34 +01:00
Davide Giacometti
cb4f4ff89c [Chore] Fix preview pane build warnings (#14049) 2021-11-02 10:16:38 +00:00
Davide Giacometti
fe85ee5307 [Settings] Fix default settings window size with zoom (#14199) 2021-11-02 10:16:03 +00:00
Dustin L. Howett
fa3a5f80a1 Prepare for renaming master -> main (#13235)
This commit replaces all references to PowerToys' master branch
with "main" in documentation, code and build rules.

- [x] **Linked issue:** #5433
- [x] **Communication:** I've discussed this with core contributors in
  the issue. 
- [ ] **Tests:** Added/updated and all pass (not applicable)
- [ ] **Installer:** Added/updated and all pass (not applicable)
- [ ] **Localization:** All end user facing strings can be localized
  (not applicable)
- [x] **Docs:** Updated
- [x] **Binaries:** Any new files are added to WXS / YML
   - [x] No new binaries
2021-11-01 12:21:47 -05:00
Stefan Markovic
a881e6b3d5 Put UpdateResultsListViewAfterQuery calls logic with inside addResultLock blocks (#14078) 2021-11-01 17:16:57 +01:00
R. de Veen
e62df46c61 Update image of file explorer settings page with pdf settings (#14051) 2021-10-30 07:49:02 -07:00
yuyoyuppe
24d853966f [Settings] Fix localization resource include path 2021-10-29 20:06:57 +03:00
Franky Chen
b87e51567e [meta]Add Video Conference Mute to the issue template and remove link to 6246 (#14059) 2021-10-29 14:27:53 +01:00
Franky Chen
3a48fa03a5 [Settings] Capitalize English word (#14060) 2021-10-29 14:16:43 +01:00
Jaime Bernardo
ebad5364b9 [FindMyMouse]Minimum delay and left ctrl exit (#14045)
* [FindMyMouse]Minimum delay and left ctrl exit

* Update mouse snooping as well.
2021-10-29 12:45:04 +01:00
Stefan Markovic
3720d559a3 Fix ColorPickerEditor keyboard navigation (#14033) 2021-10-29 10:52:41 +02:00
Aaron Junker
522e6b8001 Fixed typo in readme (#14062) 2021-10-28 22:32:18 -07:00
Deondre Davis
32a8936fc6 V0.49 Readme update (#14025)
* V0.49 Readme update

v0.49 Update

* Minor updates

* Update README.md

* Update README.md

* Update README.md

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

* Update README.md

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

* Update README.md

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

* Update README.md

Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>

* Update README.md

* Update README.md

Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>

* Update README.md

Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
2021-10-28 12:14:39 -07:00
Jaime Bernardo
fe8dfc7da3 [meta]Add mouse utilities to issue template (#14046) 2021-10-28 19:40:03 +01:00
Franky Chen
4dc0a4c8c6 [Logs]Fix typo found by bot (#14009) 2021-10-27 10:39:25 +01:00
Jaime Bernardo
df8aa42ee4 [OOBE] Link to VCM settings page (#14006) 2021-10-27 09:05:23 +01:00
Jaime Bernardo
c4951dc605 [File Explorer] Fix restart as admin notification (#14004) 2021-10-27 09:05:09 +01:00
Stefan Markovic
a5edc29be7 Announce delete dialog (#13994) 2021-10-27 09:42:17 +02:00
Niels Laute
2c608c5a92 Update ImageResizerPage.xaml (#13995)
Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-26 11:34:04 +02:00
Niels Laute
8e0af3fc27 [ColorPicker] HEX format tweak (#13989)
* Added HEX2

* Revert "Added HEX2"

This reverts commit 6d7b23fd74.

* Lowercase HEX without hash

* Update ColorRepresentationHelper.cs

* Update expect.txt

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-26 10:30:31 +02:00
Jaime Bernardo
af8366f0fe [FindMyMouse]Do not activate on game mode (#13990)
* [FindMyMouse] Do not activate on game mode

* Add settings scaffolding

* fix spellchecker

* Address PR comments

* Adress UI feedback
2021-10-25 19:39:48 +01:00
Davide Giacometti
db90802e6e [Settings]restore window size and position (#13912) 2021-10-25 19:23:36 +01:00
yuyoyuppe
59108365f1 [Setup] Always elevate bootstrapper to avoid multiple UAC prompts on upgrade 2021-10-25 19:59:19 +03:00
yuyoyuppe
092ee49139 [PowerPreview] simplify and use modulesRegistry API 2021-10-25 19:59:19 +03:00
yuyoyuppe
c324cd5953 [Setup] Implement modulesRegistry API 2021-10-25 19:59:19 +03:00
Stefan Markovic
5cfbd72fa8 [PowerRename] Fluent UX (#13678)
* PowerRename new UI

* Add scrollviewer

* Don't deploy PowerRenameUI_new

* Visual updates

* Visual updates

* Updates

* Update Resources.resw

* Added docs button

* Update MainWindow.xaml

* Wire Docs button

* RegEx -> regular expressions

* Update Show only renamed list on search/replace text changed

* Update Show only renamed list on search/replace text changed - proper fix
Set searchTerm to NULL when cleared - fix Show only renamed files on clear searchTerm

* Files/folders input error handling

* Fix renaming with keeping UI window opened

After renaming folder, all of it's children need path update.
Without path update, further renaming of children items would
fail.

* Update only children, not all items with greater depth

* Fix dictionary false positives

* Remove .NET dep

* Rename PowerRenameUI_new to PowerRenameUILib
Rename executable PowerRenameUIHost to PowerRename

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-25 14:40:19 +01:00
Seraphima Zykova
ce942b0585 [FancyZones Editor] Crash fix (#13930) 2021-10-25 11:05:44 +01:00
Seraphima Zykova
91ed50d993 [FancyZones Editor] Logger (#13928) 2021-10-25 08:56:00 +01:00
Stefan Markovic
a93dc423f0 Announce opening Edit Layout dialog (#13963) 2021-10-22 17:29:02 +02:00
Niels Laute
399df8ab68 [Settings] Fixing ColorPickerButton a11y bugs (#13961)
* Added ColorPickerButton control

* Updated styles

* Narrator support

* Update IsEnabledTextBlock.xaml

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-22 17:15:17 +02:00
Jaime Bernardo
8d383cba9d Mouse Utils - Find My Mouse (#13916)
* Initial FindMyMouse implementation

* Proper enable/disable code

* Settings page

* Change FindMyMouse window name

* Add Oobe page.

* Add icons

* Change settings preview

* Fix mouse utilities aka.ms link spelling

* Remove right control exit behavior

* Remove dllmain boilerplate comments and code

* Add filters to vcxproj

* Add logging

* Add telemetry

* Add installer instructions

* Add dll to pipelines

* Fix Task Manager name for runner changing

* Add a description in dllmain

* Proper resource file creation

* Add reference of link to the docs

* Fix spellchecker errors

* Call DestroyWindow on correct thread

* Add attribution

* Proper ordering of module in Settings and Oobe

* Update Target Platform Version to 18362

* Fix project filters

* Add attribution to Community.md

* Lowercase "utilities"

* [Mouse utils] Adding icon (#13933)

* Adding images to docs folder

* Updated imagery

Co-authored-by: Laute <Niels.Laute@philips.com>

* Add settings deeplink

Co-authored-by: Niels Laute <niels.laute@live.nl>
Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-22 13:30:18 +01:00
Clint Rutkas
dadb12a6e5 Update README.md (#13946) 2021-10-21 16:11:11 -07:00
Deondre Davis
d7cecc1d8c Update README.md (#13914)
* Update README.md

* Apply suggestions from code review

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

Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
2021-10-21 09:46:28 -07:00
Stefan Markovic
5b76668cbe Screen reader announces role and state for Awake tray menu items (#13904) 2021-10-21 17:08:58 +02:00
Davide Giacometti
64cc6b7af7 [PT Run] [Folder Plugin] Environment Variables With Autocomplete (#13811)
* search environment variables folders with autocomplete

* refactoring and tests

* fix
2021-10-20 14:27:15 +01:00
Andrey Nekrasov
15f3c2ff66 [CI] sign VideoConferenceProxyFilter_x86.dll artifact (#13926) 2021-10-20 13:59:34 +03:00
Niels Laute
0e5c654d5b [Settings] Reduce ambiguity of some settings (#13882)
* Improved FancyZones setting

* Image Resizer update

* PowerRename

* Update Resources.resw

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-19 15:54:44 +02:00
Stefan Markovic
de446c4240 Don't focus InfoBar if not open (#13895) 2021-10-19 15:09:34 +02:00
Niels Laute
4f335b9471 [Settings][Chore] Add CheckBoxWithDescriptionControl (#13866)
* Added new control

* Update Microsoft.PowerToys.Settings.UI.csproj

* Added styling

* Add enableableTextBlock

* Update EnableableTextBlock.xaml

* Updated styles

* Updates styles

* Updated margins

* Name change and typo fix

* Update App.xaml

* Control name change

* Update expect.txt

* More name changes

* Even more name changes

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-19 13:44:13 +02:00
pritu
6269aa6398 [docs]Made keys looks like an actual keys (#13799)
* Update README.md

* Apply suggestions from code review

Co-authored-by: Franky Chen <franky@frankychen.net>

* Update README.md

Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Franky Chen <franky@frankychen.net>
2021-10-14 15:27:10 +01:00
Tobias Sekan
da0b96a5ad [WindowsSettings] DevDocs + JSON schema (#13510)
* #10997 - Added JSON schema and extra shell class

* #13510 - Address feedback and fix wrong typo for a member

* #13510 - Add DevDoc (first version)

* #13510 - make spellcheck happy

* #13510 Address feedback, add scores, replace todos

* Make build server happy

* #13510 - Address feedback - Extra table for keys

* #13510 - Address feedback

* #13510 -Address feedback, add language specified

Co-authored-by: Sekan, Tobias <tobias.sekan@axp-consulting.de>
2021-10-14 15:17:41 +01:00
Franky Chen
db1318fed1 [PTRun][URI]Add test case for #13760 (#13795) 2021-10-13 22:16:56 +01:00
Clint Rutkas
a0cacb5553 Update README.md 2021-10-12 10:41:35 -07:00
Stefan Markovic
6cc8da120f [PT Run] Align SelectedIndex and SelectedItem (#13702)
* Set SelectedIndex to 0 after delayed execution of plugins

* Revert "Set SelectedIndex to 0 after delayed execution of plugins"

This reverts commit 5397d0f1fa.

* Align hovered and selected item
2021-10-12 18:10:52 +02:00
csigs
35ca90b8f2 LEGO: check in for master to temporary branch. (#13739) 2021-10-12 15:33:27 +01:00
Stefan Markovic
65e5b40223 Use modules relative path (#13774) 2021-10-12 14:03:36 +02:00
Niels Laute
4803180bcf [Image Resizer] Add settings button (#13773)
* Add deeplink

* Update InputPage.xaml

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-12 13:23:06 +02:00
Stefan Markovic
7e8e954de7 Move Settings deep link logic to Microsoft.PowerToys.Common.UI (#13749)
* Move Settings deep link logic to Microsoft.PowerToys.Common.UI

* Spellcheck

* Introduce enum

* Remove PT path arg
2021-10-12 10:35:52 +02:00
Niels Laute
0ca9b1be48 [Color Picker] Open settings (#13747)
* Add settings

* Added try catch and icon update

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-11 18:03:40 +02:00
Niels Laute
85eddfc536 [FZ Editor] Open settings (#13727)
* Deeplink support

* Fixes

* Typo fix

* Update MainWindow.xaml.cs

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-11 17:39:01 +02:00
Seraphima Zykova
0ab0fb5dd4 [FancyZones] Reset layouts after screen locking fix (#13703) 2021-10-11 11:33:09 +01:00
Jaime Bernardo
6705fb453e [PTRun][Program] Avoid looping on folder cycles (#13685) 2021-10-11 10:43:56 +01:00
Deondre Davis
2c58475d61 SCOOBE Spec (#13138)
* Create SCOOBE.md

* Spec & expect update

* Update SCOOBE.md

* Added images
2021-10-07 09:57:29 -07:00
Andrey Nekrasov
a381a64b31 [VCM] Activate the module (#13662) 2021-10-07 16:48:45 +03:00
Jaime Bernardo
68c199aa64 [KBM Editor] Catch UpdateLayout exceptions (#13635) 2021-10-06 15:54:15 +01:00
Davide Giacometti
805d8d81c5 Fix ColorPicker editor and OOBE FancyZones snap (#13598) 2021-10-06 14:37:33 +01:00
Stefan Markovic
063beddb01 [PT Run] Check for invalid plugin additional option (#13632)
* Check for dictionary null key value

* Combine condition in a single if statement
2021-10-05 15:18:45 +02:00
Seraphima Zykova
59aa9c5474 [FancyZones] Change layout using a shortcut (#13616) 2021-10-05 12:11:45 +01:00
Jaime Bernardo
a32206a6fb [ci] fix build - no PTRun Terminal loc files (#13630) 2021-10-05 11:38:58 +01:00
Seraphima Zykova
bec0dc3c0b [FancyZones Editor] Prevent opening content dialog twice (#13621) 2021-10-05 10:55:23 +01:00
Davide Giacometti
cf2ec690db [PT Run] Windows Terminal Plugin (#13367)
* run windows terminal plugin

* fixes
2021-10-04 23:45:41 +01:00
Franky Chen
7daf35d898 Https scheme fix, merging #12790 (#13606)
* HTTPS by default, HTTP only if specified

* Added/Updated unit tests;Added FTPS

* Added confirmation to system messages such as shutdown, reboot, and lock

* Corrected Typo

* Added confirmation to system messages such as shutdown, reboot, and lock

* Corrected Typo

* Made changes requested by @mykhailopylyp

* Further changes per review by mykhailopylyp

* Fixes per code review

* Changes per Mykhailopylyp

* Fix all schemes being replaced with HTTPS

Added new tests

* Merging conflicts

* Add ftp to fix spell-check

* Fix unit tests

Co-authored-by: chrisharris333 <60838650+chrisharris333@users.noreply.github.com>
Co-authored-by: Chris Harris <chris.harris@mytinycloud.com>
2021-10-04 18:56:27 +01:00
csigs
9d3c5e50d6 LEGO: check in for master to temporary branch. (#13610) 2021-10-04 18:16:09 +01:00
Davide Giacometti
9cc0c4f874 preserve msi name (#13597) 2021-10-04 16:01:40 +03:00
Niels Laute
fe1ee08df4 [Settings] A11y fixes (2) (#13534)
* Replace radiobuttons with combobox

* Update Resources.resw

* Replaced radiobuttons with ComboBox

* Update ColorPickerPage.xaml

* Updates

* Typo fixes

* PR feedback

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-03 16:48:50 +02:00
Jaime Bernardo
84b2ae3e8f [PT Run] Add setting to use centralized keyboard hook (#13557)
* [PT Run] Add setting to use centralized hook

* Add UI separator
2021-10-01 14:59:52 +01:00
Andrey Nekrasov
55054f1fa6 [ColorPicker] Accessibility: announce color format for "Copy to clipboard" button (#13558) 2021-10-01 16:53:56 +03:00
Jaime Bernardo
8aae821e59 [Shortcut Guide] Suppress Windows Menu appearing (#13553)
* Get the new settings values

* Suppress windows menu appearing

* Send new settings telemetry

* Address PR comments
2021-10-01 14:46:55 +01:00
Niels Laute
d646edee08 [Settings] A11y fixes (#13533)
* Added support for headers narrator announcement

* Added name to info button

* Added tabstop support to Infobars

* Adding TabStop

* Added headinglevels

* Replace radiobuttons with combobox

* Revert "Replace radiobuttons with combobox"

This reverts commit 4e57795409.

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-01 15:11:09 +02:00
Jaime Bernardo
b0d35f5ef8 Fix for WPF DPI issue on .net 3.1.19 (#13551) 2021-10-01 14:03:04 +01:00
Andrey Nekrasov
34e81fdf87 [Docs] Add msix embedding instructions (#13489) 2021-09-30 14:29:05 +03:00
Deondre Davis
5696f22951 v0.47 Updates (#13496)
* Update README.md

* Typos

* Update README.md

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

* Update README.md

* Update README.md

* Update README.md

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

* Update README.md

* Update expect.txt

Checking what's causing the build error.

Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
2021-09-29 10:07:55 -07:00
Stefan Markovic
8853adda62 [runner] Enable opening specific settings page (#13476)
* [runner] Enable opening specific settings page

* Error handling

* Spellcheck

* Address PR comments
2021-09-29 12:54:05 +02:00
Jaime Bernardo
1984b3747e [PTRun][Services] Search for result full title (#13492) 2021-09-29 11:50:40 +01:00
Jaime Bernardo
c85fa98bcc [PT Run] Fix some keyboard issues on plugin (#13490)
* Don't use enter for accelerator keys in results

Enter is already used to select commands in the context menu in the
result entries.

* Don't crash when trying to show a tooltip

* Clear hanging tooltips when keyboard navigating

* Starting/stopping service on Enter
2021-09-28 15:30:44 +01:00
Clint Rutkas
7874b77104 Add how to using PT links in readme and support (#13426)
* Update README.md

* Update README.md

* Update SUPPORT.md
2021-09-27 09:55:43 -07:00
Niels Laute
bc7d1bc7b2 [ColorPicker] Fix contrast issue (#13450)
* Update ColorFormatControl.xaml

* Update ColorFormatControl.xaml
2021-09-27 16:03:14 +01:00
Jaime Bernardo
26e8d0d976 [OOBE] Fix starting PowerToys Run (#13455) 2021-09-27 15:55:00 +01:00
Seraphima Zykova
acadd069e8 [FancyZones Editor] Fix the editor crash (#13463) 2021-09-27 15:35:33 +01:00
csigs
6e4a5a4bb6 LEGO: check in for master to temporary branch. (#13461) 2021-09-27 15:20:23 +01:00
Jaime Bernardo
6212c1bb80 [Color Picker] Increase width of editor window (#13420) 2021-09-24 16:54:58 +01:00
Ruben Fricke
3358fd9b02 [Color Picker] Feature/lab color representation (#12935)
* Created logic to convrt RGB to CIELAB (with intermediate step to CIEXYZ)

* Added CIELAB to the available color representation types

* Created tests for the color conversion from RGB to LAB (and for RGB to XYZ)

* Update ColorPickerViewModel to keep the L*a*b* format the same

* Improved variable names & comment

* Remove url from color converting website to avoid unnecessary license issues

* Removed typo of the wrong variable

* Added expected words into dictionary

* Added links to explain used formulas

* Added CIE XYZ color space

* Added 'SRGB' to the dictionary

* Updated the range for the X and Z value in the CIE XYZ color space comments

* Fixed XYZ to LAB calculations

* Changed output format for CIELAb

Changed L*a*b*(L,a,b) to CIELab(L,a,b)

* Changed output in tests

* Fixed tests

* Added extra accuracy

* Add decimal places to cielab and ciexyz formats

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2021-09-24 16:54:44 +01:00
Andrey Nekrasov
88e24263cf [Setup] Don't force default installer location when it wasn't specified (#13397) 2021-09-23 18:09:52 +01:00
Jaime Bernardo
d7098e87ee [PTRun] Fix crash when shutting Windows down (#13401) 2021-09-23 18:09:38 +01:00
Seraphima Zykova
64ecb553e4 [CI] fix build for include sstream (#13400) 2021-09-23 18:09:24 +01:00
Seraphima Zykova
2130cef3a9 [FancyZones Editor] Fix crash on closing after deleting a custom layout. (#13394) 2021-09-23 16:24:24 +01:00
Jaime Bernardo
f647223e94 [Shortcut Guide] Activate with Windows key press (#13342)
* [Shortcut Guide] Activate with Windows key press

* fix spellchecker

* pr comments: fix search and add lock

* Add activation method combo box

* fix spellchecker issue for customized

* Standardize centralized hotkeys file names

* Add warning when using the long win key method

* Address PR feedback on text

* More PR feedback
2021-09-23 14:23:22 +01:00
Heiko
a0ebe5ed54 [Code refactoring] Make code comment and NullOrEmpty check more clear (#13352)
* Clarify code

* grammar fix

* comment change
2021-09-22 22:43:28 +01:00
Seraphima Zykova
b05378cdf7 [FancyZones] Reset zone settings after restart fix. (#13322)
* updated virtual desktop retrieving

* save with null-guid

* moved guid utils

* moved DeviceIdData related functions

* replaced strings with data structs

* default value

* clean up

* save app zone history with zones settings

* compare with null guid

* updated tests

* refactoring

* logs

* sync vd ids

* logs

* refactoring

* check virtual desktop id

* OnDisplayChange call

* compare device ids in editor
2021-09-22 22:39:48 +01:00
Seraphima Zykova
423faf7af1 [FZ Editor] "Save" and "Cancel" buttons are hidden in the grid layout editor (#13337)
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2021-09-22 14:38:46 +01:00
Heiko
f9bb7ba270 [ImageResizer] Default values for new size (#13285)
* Code changes

* small fix in unittests

* Add new Unit Test

* Fix tests

* fix typo

* remove unused code from unit test

* Update resource string name

* Add name counter

* comment update

* Update tests
2021-09-21 23:55:42 +01:00
Clint Rutkas
4bc2de7b7b Store readme update (#13267)
* Update README.md

* Update README.md

* Update README.md

* Update akaLinks.md

* Update excludes.txt

ignoring aka link page

* Update README.md

* Update README.md

* Update README.md

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

Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
2021-09-21 10:07:01 -07:00
Niels Laute
d199b41937 [Image Resizer] ComboBox UI (#13321)
* UI updates

* Added combobox

* Updated UI

* Updated UI

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-09-21 18:44:48 +02:00
Andrey Nekrasov
7fe63cdb50 [Setup] add support for embedded MSIX packages (#13263) 2021-09-21 15:15:59 +03:00
csigs
f4531130b6 LEGO: check in for master to temporary branch. (#13317) 2021-09-20 21:50:10 +01:00
Davide Giacometti
c6a24b3907 [PT Run][Registry] handle invalid base keys (#13284) 2021-09-20 11:35:39 +01:00
Niels Laute
2c44cc9cd2 [Settings] UI bugfixes (#13260)
* Fixed HyperlinkButton style

* Bugfixes to NavView

* Update ShellPage.xaml

* Replaced Windows 10 with Windows

* Updated strings

* Tweaks

* Reducing gif file sizes

* Add InfoBadge

* Updated ImageResizer UI

* Updated strings

* Updated string

* Update KBM.gif

* Updated icons

* Update KeyVisual.xaml

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-09-19 16:22:39 +02:00
Jaime Bernardo
739737dc2b Adding in Heiko to community.md (#13251)
* Adding in Heiko to community.md

* fix spellchecker
2021-09-17 15:50:21 +01:00
Jaime Bernardo
6bd0840863 [PT Run][Registry] show no results on query fail (#13244) 2021-09-17 15:49:40 +01:00
Jaime Bernardo
323f41d14b [ci] Fix pdf thumbnail unit tests flakiness (#13248)
* [ci] reduce pdf preview and thumbnail flakiness

* [ci] run pdf thumbnail tests

* [meta] add pdf modules to new issue template
2021-09-16 18:02:50 +01:00
Jaime Bernardo
8115a709e9 [Settings] Upgrade WinUI to 2.7.0 (#13226) 2021-09-16 17:16:01 +01:00
Heiko
b0344f1426 [PT Run][Installer] Add loc files for settings plugin (#13241) 2021-09-16 15:31:30 +01:00
Heiko
9fb663210d [PT Run] EnvironmentHelper: Adding logging and error handling (#13205)
* Add error handling and logging

* improvements

* fix typos

* comment updates

* fix typos
2021-09-16 11:17:33 +01:00
Dustin L. Howett
881b1da6a7 Move away from the legacy windevbuildagents pool (#13218)
There is an internal requirement that we move to build agents that we
don't run ourselves. This discharges us of that requirement!

We're switching between the WinDevPool pool and the WinDevPoolOSS pool
based on whether this code is being built in the open-source tenant or
the internal/private one.
2021-09-15 18:30:01 -05:00
Heiko
8e350ca4a7 [PT Run] Settings plugin: Settings path filter and bug fixes (#13151)
* Create filter method

* adding call of new method

* solve bug #13150

* fixes and comment updates

* fix typos

* Update filter method

* Improve performance on empty queries

* fix typos
2021-09-15 18:37:36 +01:00
Deondre Davis
a0a355c3a7 Update README.md for v0.46 release (#13210)
* Update README.md

* Update README.md
2021-09-14 10:00:28 -07:00
R. de Veen
7ac1e00d01 [FileExplorer] Add PDF Thumbnail Provider for Windows Explorer (#13058)
* Add PdfPreviewHandler to build dependency of runner

* PDF Thumbnail Provider

* Remove using brackets

* Pdf Thumbnail - Settings and Unit Tests

* Removed resx

* Add PDF Thumbnail Provider binary

* Install Pdf Thumbnail Provider

* Fix pagee spelling error.

* Update Windows dependency to version 10.0.18362.0 because that is the minimal required version of the PowerToys.

* Add Pdf Preview Handler and Pdf Thumbnail Provider
2021-09-14 17:01:45 +01:00
csigs
7e22f26b52 LEGO: check in for master to temporary branch. (#13193) 2021-09-14 11:17:16 +01:00
csigs
4f02795c60 LEGO: check in for master to temporary branch. (#13192) 2021-09-14 11:17:07 +01:00
csigs
f430aff4af LEGO: check in for master to temporary branch. (#13191) 2021-09-14 11:16:56 +01:00
csigs
f05d64b01e LEGO: check in for master to temporary branch. (#13190) 2021-09-14 11:16:47 +01:00
csigs
cae6bdf437 LEGO: check in for master to temporary branch. (#13189) 2021-09-14 11:16:34 +01:00
csigs
7d8f7aafdd LEGO: check in for master to temporary branch. (#13188) 2021-09-14 11:16:17 +01:00
Jaime Bernardo
5d279ed22c [ci] restore bootstrapper nuget packages (#13201) 2021-09-14 11:11:22 +01:00
csigs
1edd52014e LEGO: check in for master to temporary branch. (#13183) 2021-09-13 14:22:43 +01:00
Davide Giacometti
1f2f247c1d Consolidate nuget packages (#13122)
* consolidate nuget packages

* updated wil nuget
2021-09-13 13:00:44 +01:00
Andrey Nekrasov
7c2a807278 [VCM] add comment how to enable the corresponding OOBE page (#13145) 2021-09-10 14:15:16 +03:00
Franky Chen
21c7374177 Fix typo #13117 (#13128)
* Fix typo #13117

* Fix typo in comments
2021-09-09 14:34:19 +01:00
lcjh
1495285a6a fix typo (#13116) 2021-09-09 14:32:54 +01:00
Andrey Nekrasov
bdeb96d0a7 [CI] Sign VCM x86 module dll (#13129) 2021-09-09 14:32:08 +01:00
Jaime Bernardo
5963294b04 [PowerToys Run] Use global HotKey instead of low level keyboard hook (#13114)
* [PowerToys Run] Register global HotKey

Using low level keyboard hooks caused focus issues when invoking
PowerToys Run. Using a global HotKey solves this issue.

* Properly unregister hotkey on dispose

* fix spellchecker errors
2021-09-08 18:39:51 +01:00
csigs
2c58bdbfb2 LEGO: check in for master to temporary branch. (#13073) 2021-09-08 17:27:48 +01:00
Davide Giacometti
f00bf7cf19 [Settings] update additional options for launcher plugins (#12920) 2021-09-06 23:19:00 +01:00
Davide Giacometti
2fe6282157 [PT Run] Option for system commands localization (#12939) 2021-09-06 23:18:14 +01:00
Niels Laute
a6cca7cfb0 [Settings] Shortcut UX redesign (#12977)
* Added dialog

* Added virtualkey logic

* Key logic in place

* Styling

* Updated layout

* Updated foreground

* Refactor

* Catching error handling

* Hotkey UI handling

* Spell check

* Adding shortcut visuals to OOBE

* INtroducing shortcutcontrol for OOBE

* Removed unneccasry comments

* OOBE fixes

* Fix

* Visual updates

* Update Product.wxs

* Updated UI

* Update Product.wxs

* Changes

* Changed installer file

* Fixed warner banner height

* Added visual key to KBR

* Updated margin

* pr 12977: fix installer issue (#13075)

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2021-09-06 20:21:18 +02:00
Heiko
2bfc62d9a5 [PT Run] [WindowsSettings plugin] Translation improvements and LocProject.json (#13078)
* TranslationHelper: Update/add if conditions

* Resource strings: Update <ControlPanel>

* Creating <LocProject.json>
2021-09-06 18:17:20 +01:00
Heiko
dcc4563c8c [WindowsSettings Plugin] Improve subtitle and area naming (#12915)
* Update WindowsSettings clas

* Update TranslationHelper

* Adding ToDos to code

* Adding ToDo notes

* Introduce AreaPathHelper

* Small improvement

* Improve helper class

* Update ResultHelper

* Fix spelling

* adding todo marker

* Improve calling of <WindowsSettingsPathHelper>: Update class <WindowsSetting>

* Improve calling of <WindowsSettingsPathHelper>: Update helper class

* Improve calling of <WindowsSettingsPathHelper>: Implement method call

* TranslationHelper: Small fixes

* Fix scoring for areas property

* Fix search filters for area property

* small fixes

* Update WindowsSettings.json

* adding todos

* Code cleanup, improvements and fixes

* Small changes

* Update resource strings

* Fix msitakes

* Update settings

* resolve review feedback
2021-09-06 11:46:14 +01:00
Mykhailo Pylyp
a4f84844bc [Keyboard Manager] Alt+Tab navigation with arrow keys i (#12986)
* Draft

# Conflicts:
#	src/modules/keyboardmanager/KeyboardManagerEngineLibrary/KeyboardEventHandlers.cpp

* Handle key case

* Fix key count

* Remember if win key was pressed

* Don't search twice, remove redundant assignment

* spelling
2021-09-04 08:49:13 +03:00
Niels Laute
941221cba9 Added images (#13032)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-09-03 15:14:55 -07:00
Davide Giacometti
0b6d654ec8 Thumbnail handlers reload (#12996) 2021-09-03 21:24:23 +01:00
Jaime Bernardo
b8236d55e2 [KBM Editor] fix crash when mapping left and right modifier to the combined key. (#12999)
* [KBM Editor] Don't combine keys to same key

* Avoid crashes when flyouts can't be shown yet

* Disallow mapping of left or right key to combined

* Refactor remap to combined key check

* Add log message when flyout fails to load
2021-09-03 16:19:16 +01:00
Jaime Bernardo
4a1e21ac83 [KBM Editor] Remove UpdateLayout calls from shortcut UI (#12857)
* [KBM Editor] Remove updatelayout from shortcut UI

* Restore some UpdateLayout
2021-09-03 14:19:38 +01:00
csigs
ee69dc5e44 LEGO: check in for master to temporary branch. (#12952) 2021-09-03 10:56:44 +01:00
Deondre Davis
fd06c52dec v0.45 Updates (#12987)
* Update README.md

* Updated Readme and expect.text

* Update expect.txt

* Update README.md

* Update README.md

* Update README.md

Co-authored-by: Aaron Junker <vl5ktlnki@relay.firefox.com>

* Update README.md

* Update README.md

Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Aaron Junker <vl5ktlnki@relay.firefox.com>
2021-09-02 11:52:06 -07:00
Tamás Hegedűs
91910b4606 [Common] Removed outdated comment (#12994)
The retry loop has been removed as of https://github.com/microsoft/PowerToys/pull/12860 , but the comment stayed.
2021-09-02 15:00:43 +01:00
Andrey Nekrasov
f10faf004e [FancyZonesEditor]: Grid Editor keyboard control (#12969)
- Ctrl+Tab to switch between zones and layout overlay window
- Tab to focus between grid zones and resizers
- While resizer is focused: arrows to move it; Del to remove it
- While zone is focused: (Shift)+S to split it horizontally/vertically
2021-09-01 21:23:10 +03:00
Mykhailo Pylyp
f0750997de [Bug Report Tool] Zip folder can not be created (#12966) 2021-09-01 18:12:28 +03:00
Seraphima Zykova
f7333c89bb [FancyZones][Settings] "Allow zones to span across monitors" prerequisites description. (#12913) 2021-08-31 16:23:00 +01:00
Mykhailo Pylyp
19fb3fd56c Remove subset case as it is automaticly handled by more generic one (#12902) 2021-08-31 12:43:04 +03:00
Davide Giacometti
d197ddeb15 handling malformed json (#12942) 2021-08-30 20:37:04 +02:00
martinchrzan
46bfd2cdac Fixing the issue with HEX textbox not being updated with the correct RGB values (#12936)
* Fixing the issue with hex textbox not being updated with the correct values from RGB boxes #12931

* Update current color immediately when typing in RGB boxes #11108

* added expected words into dictionary
2021-08-30 09:44:21 +02:00
Seraphima Zykova
45b5545cf7 [OOBE] Updated KBM preview gif (#12932) 2021-08-27 18:41:09 +01:00
Niels Laute
e881043787 Updated strings for powerrename (#12927)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-08-27 16:40:53 +02:00
Seraphima Zykova
2b95eba51b check desktop id (#12930) 2021-08-27 14:59:04 +01:00
R. de Veen
4177708e49 Enable PDF files in preview pane (#9088)
## Summary of the Pull Request
This PR enables user to preview PDF files in the Explorer preview pane
and in Outlook. 

**What is this about:**
Windows does not support out of the box experience for previewing PDF
files in the preview pane. Users need to install third-party software
like Adobe Acrobat reader. The PdfPreviewHandler module enbales the user
to preview PDF files.

**How does someone test / validate:** 
Run the installer, open Explorer and select a PDF file, enable the
preview pane. Maybe need to remove third-party PDF software.

## Quality Checklist

- [X] **Linked issue:** #3548
- [ ] **Communication:** I've discussed this with core contributors in the issue. 
- [X] **Tests:** Added/updated and all pass
- [X] **Installer:** Added/updated and all pass
- [X] **Localization:** All end user facing strings can be localized
- [ ] **Docs:** Added/ updated
- [x] **Binaries:** Any new files are added to WXS / YML
   - [ ] No new binaries
   - [x] YML for signing
   - [x] WXS for installer
2021-08-26 16:43:26 -05:00
Niels Laute
da46b90457 [Settings] Settings UX enhancements (#12912)
* Update Colors.xaml

* Added warning icon to Run plugin

* Removed redundant name

* Added border

* Removed unused converter

* Update GeneralPage.xaml

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-08-26 19:53:25 +02:00
Seraphima Zykova
e35568f63d [Fancy Zones] Restore Console Applications (#12905) 2021-08-26 20:47:27 +03:00
Jaime Bernardo
078cf2c22f [PowerToys Run] Fix register notifications crash (#12911) 2021-08-26 17:35:28 +01:00
Niels Laute
c1127b3667 [Docs/Settings] Updated images (#12903)
* KBM img updates

* Awake image updates

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-08-26 13:28:38 +02:00
Niels Laute
7f2c6aa3d3 [FZ Editor] Fix SizeToContent (#12888)
* Fix SizeToContent

* WPF window bugfix

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-08-26 13:27:48 +02:00
Jaime Bernardo
39d46074d6 [Image Resizer] Add warning for gif files (#12892) 2021-08-25 16:50:35 +01:00
Mykhailo Pylyp
0f55256262 Remove retries (#12860) 2021-08-25 18:21:54 +03:00
Seraphima Zykova
0440a89292 [FancyZones Editor] memory leaks crash fix (#12876) 2021-08-25 12:26:55 +01:00
Niels Laute
fce3864784 Remove ModuleImageLink (#12873)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-08-25 09:22:12 +02:00
Jay
99ec79fe6b Update PowerRenamePage.xaml (#12870)
One image was incorrect
2021-08-24 19:25:09 +02:00
Jay
44fd8aa8a8 Update KeyboardManagerPage.xaml (#12866)
1 incorrect link (missed a letter) and two icons because of #10331
2021-08-24 19:21:48 +02:00
Jay
0c81d5afc4 Update VideoConference.xaml (#12868)
* Update VideoConference.xaml

Changed one incorrect icon (color picker was used) and two MDL2 icons because of #10331.

* Update VideoConference.xaml

fixed typo
2021-08-24 17:51:09 +01:00
Niels Laute
eb2ef7070b [Settings] New UX (#12470)
* Removed hardcoded background

* Background

* Updated pages

* Added OOBE to shellpage

* Margin fixes

* Fix

* Resource update

* Resource string update

* Removed reference from installer file

* Updated UI fixes and remove conflicts

* Adding new settings control

* PowerRename

* Sidepanel updates

* Shortcut Guide

* Updates screeens

* General page updates

* Awake UX update

* Changed order for power preview note

* Fixes

* UI fixes

* KBM

* IsEnabled state support

* Added new controls

* Update

* Updated nugest packages

* Replaced itemscontrol

* Introducing setting button style

* FancyZones page

* Plugin page

* Switch case

* Fixed typo

* Plugin manager update

* Introducing SettingExpander

* Setting automation properties

* Accesibility improvements

* VCM and cleanup

* Refactoring OOBE pages part 1

* OOBE XAML refactoring

* Added MinWidth to actioncontent controls

* Updates to various settings

* Spell update

* Update to author label

* Clean up

* Removing redunant files

* Move file

* Updated files

* Revert "Updated files"

This reverts commit 1a5c887eae.

* Revert "Move file"

This reverts commit 2b06c75c1f.

* Revert "Removing redunant files"

This reverts commit fe79ec1701.

* Revert "Clean up"

This reverts commit 028e15fab6.

* Removed redundant styles

* Revert "Removed redundant styles"

This reverts commit dfdfd65021.

* Files cleanup

* Removing converter, updating background and paddings

* Styling updates

* Unit test updates

* Fixes

* Installer fixes

* Update Resources.resw

* Shell page updates

* Updated pagelinks

* Styles re-ordering

* Updated converter

* Updated ToggleSwitch style

* Bugfixes

* Typo fix

* [Settings] New UX - installer dll fixes (#12818)

* [Settings] New UX - Fix some failing tests (#12822)

* Bugfixes

* Typo fix

* Hiding VCM

* Bugfixes

* Download button fix

* Remove Newtonsoft.Json from installer file

* Updated visuals

* Bugfixes

* Syntax fix

* Updated installer file

* Bugfixes

* New label

* Theming support for OOBE

* Put back in Documentation hyperlink

* Right uid

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2021-08-23 19:48:52 +02:00
Aaron Junker
c125cc281d Add PowerToys awake to translation issue template. (#12160) 2021-08-23 17:53:38 +01:00
Seraphima Zykova
e70994f121 [FancyZones Editor] Crash when changing between zone layouts: refactoring (#12815) 2021-08-23 16:20:04 +01:00
Andrey Nekrasov
cea9b35319 [FancyZones] Focus layout type instead of activating it on enter press (#12823) 2021-08-23 14:29:00 +03:00
Roy
ea25bd91b0 Standardize .NET JSON on System.Text.Json (#12805)
* Implement System.Text.Json for Community.PowerToys.Run.Plugin.VSCodeWorkspaces (#11697)

* Implement System.Text.Json for Community.PowerToys.Run.Plugin.VSCodeWorkspaces

* Cleanup property names

* Implement System.Text.Json for Microsoft.PowerToys.Settings.UI (#11702)

* Implement System.Text.Json for Powerlauncher (#11699)

* Implement System.Text.Json for Wox.Infrastructure

* Implement System.Text.Json for Powerlauncher

* Implement System.Text.Json for Microsoft.Plugin.Folder

* Implement System.Text.Json for Wox.Plugin

* Remove Newtonsoft.Json from launcherInstallComponent

* Update properties with private setter
Format JSON output

* Serialize Get with private set property

* Implement System.Text.Json for ImageResizerUI (#11847)

* Implement System.Text.Json for ImageRezierUI

* Change Newtonsoft.Json.dll to System.Text.Json in ImageResizer

* Add  writefile to spelling whitelist

* Fix installer

* Fix bad merge

Co-authored-by: mykhailopylyp <17161067+mykhailopylyp@users.noreply.github.com>
2021-08-20 14:36:29 +01:00
Ben Constable
44ef29ca39 Add documentation links (#12598)
* Add documentation links

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

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

* Update src/runner/Resources.resx

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

* Swap order of repo and documentation

* Fix potential security issue

* Add seperator

* Fix failing test and build

Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
2021-08-19 15:32:03 +01:00
Derek Christensen
e87e06bae6 Update environment variables changed (#12689) 2021-08-18 16:43:24 +01:00
Ian O'Neill
31a5d49246 Fix race-condition in PowerRename progress UI (#12771) 2021-08-18 12:20:51 +01:00
Seraphima Zykova
ec08a1d44a [FancyZones] Windows resize on switching layout. (#12792) 2021-08-18 12:00:28 +01:00
Jaime Bernardo
8639740e6c [Telemetry] Fix show hide events on PT Run cold boot (#12796)
* [Telemetry] fix show hide events on PT Run boot

* Fix spellchecker error
2021-08-18 11:20:48 +01:00
Niels Laute
784a4641f1 [FZ Editor] Accessibility fixes (#12651)
* Added Name to unicodes and fixed labels in dialog buttons

* Fixed dialog padding

* Update MainWindow.xaml

* Update MainWindow.xaml

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-08-16 20:03:07 +02:00
Davide Giacometti
e96c0da265 Test frameworks consolidated (#12672) 2021-08-16 14:25:06 +01:00
csigs
c3a51f9227 LEGO: check in for master to temporary branch. (#12785) 2021-08-16 14:19:55 +01:00
Ben Constable
2df4b987ce Check return is not null and if so get directory info (#12763) 2021-08-16 16:19:22 +03:00
Jaime Bernardo
7f7ab5f5b1 FZE: Fix dialog number box input automation name (#12718) 2021-08-12 14:17:44 +01:00
Jaime Bernardo
d704aad162 [PowerToys Run] Keyboard shows command tooltips (#12720)
* [PowerToys Run] Keyboard shows command tooltips

* Fix spellchecker error

* Another try at fixing the spellcheck error
2021-08-12 14:17:27 +01:00
Davide Giacometti
29d3f47d47 plugin manager search (#12560) 2021-08-12 13:53:12 +01:00
Andrey Nekrasov
05f12dcdf1 [Updating] Add versioning to UpdateState.json (#12744)
- fix "Check for updates" hang if UpdateState.json was deleted while the page is open
2021-08-12 14:53:51 +03:00
csigs
0b509a2d0b LEGO: check in for master to temporary branch. (#12743) 2021-08-12 12:34:35 +01:00
csigs
93fb487fd5 LEGO: check in for master to temporary branch. (#12742) 2021-08-12 12:34:21 +01:00
csigs
f02b89700b LEGO: check in for master to temporary branch. (#12741) 2021-08-12 12:34:05 +01:00
csigs
c1d3faa267 LEGO: check in for master to temporary branch. (#12740) 2021-08-12 12:33:31 +01:00
csigs
b13936f989 LEGO: check in for master to temporary branch. (#12739) 2021-08-12 12:33:10 +01:00
csigs
20215197c5 LEGO: check in for master to temporary branch. (#12738) 2021-08-12 12:32:50 +01:00
csigs
521c70a27a LEGO: check in for master to temporary branch. (#12736) 2021-08-12 12:32:32 +01:00
csigs
9427d90573 LEGO: check in for master to temporary branch. (#12735) 2021-08-12 12:32:15 +01:00
csigs
59f74e93fc LEGO: check in for master to temporary branch. (#12734) 2021-08-12 12:31:58 +01:00
csigs
1deb664ee4 LEGO: check in for master to temporary branch. (#12733) 2021-08-12 12:31:19 +01:00
csigs
da66188148 LEGO: check in for master to temporary branch. (#12732) 2021-08-12 12:30:56 +01:00
csigs
cdc0322a6c LEGO: check in for master to temporary branch. (#12737) 2021-08-12 12:30:00 +01:00
csigs
3116cb073c LEGO: check in for master to temporary branch. (#12700) 2021-08-12 12:28:34 +01:00
Jaime Bernardo
a925d9e6e1 [Build] Sign PowerToysSetupCustomActions.dll (#12746) 2021-08-12 12:26:49 +01:00
Jake Oeding
c1b16cfbed remove unused namespace alias (#12683) 2021-08-11 16:58:24 +01:00
Davide Giacometti
1791246a79 [PowerToys Run] Plugins StyleCop and warnings fix (#12623) 2021-08-11 16:22:30 +01:00
Seraphima Zykova
7ea1f26209 [FancyZones] Zone indexes type change (#12724) 2021-08-11 15:05:03 +01:00
Jaime Bernardo
7278d62307 [Settings] Announces open/close navigation pane (#12648)
* [Settings] Announces open/close navigation pane

* Add localization support
2021-08-10 15:03:04 +01:00
Andrey Nekrasov
f6645b04ed [FZE][Accessibility] Announce custom layout creation (#12702) 2021-08-10 14:40:08 +03:00
Seraphima Zykova
35c8130060 [FancyZones Editor] Reset layout shortcut key after canceling changes (#12613)
* don't update backup layout quick keys
* cancel changes on closing
2021-08-05 17:29:54 +01:00
Davide Giacometti
cc6a8d30b3 [Runner] Open settings when runner is elevated (#12597) 2021-08-04 18:54:09 +01:00
Jaime Bernardo
37e130a1a8 [FZE] Fix crash when double clicking edit layout (#12609) 2021-08-04 15:23:28 +01:00
Stefan Markovic
7751fed39e Place cursor in the end of the name on textbox focus (#12607) 2021-08-04 14:50:32 +02:00
Jaime Bernardo
d106db8061 [File Explorer] fix enabling all modules at start (#12599) 2021-08-04 13:42:19 +01:00
Deondre Davis
b84f9c93bf v0.43 Updates (#12596)
* Update README.md

* Update expect.txt

* Update README.md
2021-08-03 16:35:12 -07:00
Stefan Markovic
e762bfa348 Raise notification event on delete key/shortcut button click (#12546) 2021-07-29 10:37:09 +02:00
Andrey Nekrasov
5a97db8992 [CDPX] Fix build: move dll imports to NativeMethods (#12544) 2021-07-28 17:26:06 +03:00
Chris
04636339ce [Powertoys Run] Add setting to confirm system commands (#12427)
* HTTPS by default, HTTP only if specified

* Added/Updated unit tests;Added FTPS

* Added confirmation to system messages such as shutdown, reboot, and lock

* Corrected Typo

* Added confirmation to system messages such as shutdown, reboot, and lock

* Corrected Typo

* Made changes requested by @mykhailopylyp

* Further changes per review by mykhailopylyp

* Fixes per code review
2021-07-28 14:37:30 +01:00
Mykhailo Pylyp
9731cdee67 Revert "[PowerToys Run] Update to net5 (#12434)" (#12543)
This reverts commit c651a4b36e.
2021-07-28 12:15:47 +01:00
Niels Laute
0c02a9acd7 [Settings] Accessibility improvements (#12504)
* Leaving out unicode char from automationproperties.name

* Colorpicker page accesbility fixes

* Fix for toggleswitch

* Remove heading level 1 from navview items

* Fixes for redunant narrator announcements

* Added automationproperties.name to images in oobe

* Fix

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-07-28 12:07:43 +02:00
Niels Laute
6077fa3530 [ColorPicker] Accessibility improvements (#12476)
* Set name to listview

* More fixes

* Narrator improvements

* Tab order

* Color order

* Color label fix

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-07-28 12:04:47 +02:00
csigs
1a4d97ef28 LEGO: check in for master to temporary branch. (#12509) 2021-07-28 10:36:53 +01:00
Seraphima Zykova
88513cf38a [FZEditor] stop event waiter (#12529) 2021-07-28 09:28:01 +01:00
Andrey Nekrasov
7c0cc145eb [FZE] Fix missed dependency dll (#12530) 2021-07-27 21:01:45 +03:00
Jaime Bernardo
398dcc4a44 [Settings] Downgrade Microsoft.UI.Xaml to 2.6.0 (#12523) 2021-07-27 13:37:39 +01:00
Jaime Bernardo
823d641087 [Bug Report Tool] Get Settings event viewer data (#12521)
Adds the event viewer events of PowerToys.Settings.exe to bug reports.
2021-07-27 12:10:23 +01:00
Jaime Bernardo
65618ffa9c [ColorPicker] Close only flyout with escape key (#12441)
When the escape key is pressed in the Color Picker editor, only the
adjust color flyout should be closed instead of the whole window.
2021-07-27 10:31:43 +01:00
Andrey Nekrasov
5e4f50fa45 [Setup] Better prevent FileInUse errors during install (#12512) 2021-07-27 01:23:34 +03:00
Niels Laute
b2a86db6de [Settings/ImageResizer] New UI for sizes listview (#12269)
* Flyout for ImageResizer sizes

* Narrator support

* Improved spaces

* Fixed icons and added a confirmation dialog

* Add updatesourcetrigger

* Spellcheck fix

* Fixed missing strings

* Added messagedialog

* Fixes

* Focus fix

* Accesibility fix

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-07-26 19:00:53 +02:00
Andrey Nekrasov
d2e04d46f4 [FZE] Send close signal to Editor when the main app closes (#12510) 2021-07-26 17:02:44 +03:00
Stefan Markovic
6dfaf6a21c [FZ Editor] Custom button with automation event on click (#12338)
* Custom button with automation event on click

* Rename MyButton to ClickAutomationEventButton

* Rename property to OnClickAutomationValue

* Remove unneeded line
2021-07-26 14:24:15 +02:00
Jaime Bernardo
9af08d9842 [Settings] Fix PowerToys run plugin toggle boxes (#12488) 2021-07-25 18:03:16 +02:00
Andrey Nekrasov
d57773e8ef [VCM] Fix issues on certain systems (#12481)
- Don't depend on System.Windows.Forms in the Settings -> use callback instead
- Fix overlay image setting saving
- Use dynamic DLL loading in Interop
- Load VCM only when mf.dll is available
2021-07-23 16:59:22 +03:00
Tony Xia
24a80de2ec Fixed a minor typo (#12482) 2021-07-23 11:48:12 +01:00
Jaime Bernardo
ec544b0907 [Settings] Fix VCM page converters (#12459)
Convert the uses of ModuleEnabledToForegroundConverter to
ModuleEnabledToOpacityConverter in line with the rest of the settings
pages.
2021-07-21 20:55:24 +03:00
csigs
d87a325529 LEGO: Pull request to master with localized lcls (#12422) 2021-07-21 11:38:06 -05:00
Mykhailo Pylyp
c651a4b36e [PowerToys Run] Update to net5 (#12434)
* [Setup] Add support for installing both dotnet 3 and 5 (#12306)

* [PowerToys Run] Update to net5 (#12286)

* Change targets of projects

* Update Microsoft.Toolkit.Uwp.Notifications,

changed TargetFramework for PowerLauncher project in order to resolve an issue with ModernWpf

* Specify windows version in order to fix build errors

* Fixed suppressed warnings

* Updated sdk

* Removed usage of obsolete GlobalAssemblyCache

* Removed obsolete DesktopNotificationManagerCompat

* Update nuget versions

* Update installer

* [PowerToys Run] Obsolete APIs and warnings introduced in .net5 (#12423)

* Change targets of projects

* Update Microsoft.Toolkit.Uwp.Notifications,

changed TargetFramework for PowerLauncher project in order to resolve an issue with ModernWpf

* Fixed suppressed warnings

* Removed obsolete DesktopNotificationManagerCompat

* Get rid of binary formatter

* Update tests

* Don't include new image cache file to the report

* There's no need to call IsOwner as it doesn't make sense

* Fix different nullability exception

* Exclude extra dlls from tests

Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
2021-07-21 19:02:45 +03:00
Stefan Markovic
37132c91e6 Set Color Picker window AutomatedProperty.Name property (#12379) 2021-07-21 11:09:02 +02:00
csigs
9727d56864 LEGO: Pull request to master with localized lcls (#12334) 2021-07-20 17:10:16 -05:00
csigs
03b5a0f283 LEGO: Pull request to master with localized lcls (#12225) 2021-07-20 16:57:41 -05:00
Mykhailo Pylyp
91797669ee [Bug Report Tool] Report installation folder structure (#12425)
* Report installation folder structure

* Hanlde case when GetModuleFileName fails

* spelling

* PR comments
2021-07-20 10:33:00 +03:00
Niels Laute
e6ffbcf315 Update Resources.resw (#12405)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-07-19 20:52:15 +02:00
Jaime Bernardo
e12e707704 [PowerToys Run] Fix corrupt/outdated plugins load crash (#12424)
* [PowerToys Run] Add type error catch and details

* [PowerToys Run] don't load outdated config plugins

Don't load plugins which don't have the new IcoPathDark and
IcoPathLight fields.
2021-07-19 16:13:05 +01:00
Niels Laute
f4a54b667e [Settings] Accessibility fixes (#12302)
* Added name to image

* Adding a warning sign to warnings

* Revert "Adding a warning sign to warnings"

This reverts commit 283be62bf6.

* Added * for warnings

* Remove obsolete read more button

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-07-16 21:21:06 +02:00
Chris
a084ea24b3 HTTPS by default, HTTP only if specified (#12394)
* HTTPS by default, HTTP only if specified

* Added/Updated unit tests;Added FTPS
2021-07-16 14:38:26 +03:00
Jaime Bernardo
c05e33cae3 [devdocs] webcam reporting tool build instructions (#12395) 2021-07-16 11:56:09 +01:00
Davide Giacometti
55923f2790 [Run] ViewModels Cleanup (#12209)
* view models cleanup

* removed unused commands
2021-07-15 17:34:27 +03:00
Andrey Nekrasov
cdfb566137 [VCM] Tweak toolbar top right vertical offset to allow closing apps (#12372) 2021-07-15 15:52:20 +03:00
Stefan Markovic
39f0db8cb4 Announce automatically corrected HotKey (#12362) 2021-07-15 13:22:23 +02:00
Stefan Markovic
1bd702340b Bump Microsoft.UI.Xaml version (#12377)
* Bump Microsoft.UI.Xaml version

* Use Version1 control resources
2021-07-15 13:20:31 +02:00
Davide Giacometti
3c04111483 improve first PT Run call performance (#12352) 2021-07-15 11:51:41 +03:00
Andrey Nekrasov
e965fcb690 [Color Picker - Editor] Accessibility: Screen Reader announces 'Copied to Clipboard' (#12373) 2021-07-15 10:25:39 +03:00
Andrey Nekrasov
d583b083d1 [ColorPicker] Accessibility: Narrator announces color changes in main… (#12369)
* [ColorPicker] Accessibility: Narrator announces color changes in main view

* fixup: Announce color friendly name instead of numbers
2021-07-14 22:53:42 +03:00
Andrey Nekrasov
25a7bf9ab0 [ColorPicker] Accessibility: announce which color will be copied to clipboard (#12367) 2021-07-14 20:55:55 +03:00
Jaime Bernardo
4d8c18a557 [spell checker] add IObservable term (#12363) 2021-07-14 17:10:56 +03:00
Den Delimarsky
579881002e Fixes for PowerToys Awake (#12215)
* Change how background threads operate
This should reduce CPU usage.

* Well there is just no need for the console here

* Need to keep the full name sanitized

* Update the changes to console handling

* Updating how we handle constants

* Fix process termination logic

* Making some tweaks to the termination logic

* Update how the process is tracked

* Updating how application closing is done for Awake.

* Update with explicit types

* Fix high CPU usage for timed keep awake.

* Logging typo fix.

* Update some of the timer logic.

* Fix variable naming for consistency

* Cleanup the C++ interface

* Cleanup the code a bit
This change introduces support for:

- Proper event handling across the two apps (Awake and runner).
- Removal of unnecessary functions.

* Cleaning up the code even further

* Remove unnecessary functions
2021-07-13 18:39:46 +01:00
Josh Soref
5027a55e7f Upgrade check-spelling to v0.0.19 (#12348)
What is this about:

This updates check-spelling to 0.0.19 for https://github.com/check-spelling/check-spelling/security/advisories/GHSA-g86g-chm8-7r2p

What is included in the PR:

The expect.txt changes are just churn from when the action was disabled.
2021-07-13 11:23:12 -05:00
Niels Laute
d3cd7bec5f [Settings] Saving Excluded Apps on text changed (#12318)
* Updated source trigger property

* Update ShortcutGuidePage.xaml

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-07-12 09:13:37 -07:00
Andrey Nekrasov
323a12a44a [Runner] Place tooltip text for tray icon on a single line (#12308) 2021-07-12 13:36:27 +03:00
Andrey Nekrasov
8c955ce9d6 [Build] Disable compilation warnings for external projects (#12309) 2021-07-12 13:35:57 +03:00
Seraphima Zykova
9d597faabc [FancyZones] Window opening on the last zone (#12284) 2021-07-09 18:18:21 +01:00
Seraphima Zykova
d85c3f8cc9 [FancyZones] Revisit mutexes (#12240)
* [FancyZones] Clean up (#11893)

* [FancyZones] Virtual desktop utils refactoring (#11925)

* [FancyZones] IFancyZonesCallback refactoring (#11932)

* [FancyZones] IZoneWindowHost refactoring (#12091)

* [FancyZones] Rename ZoneWindow -> WorkArea (#12223)

* [FancyZones] Clean up mutexes (#12228)
2021-07-07 13:18:52 +03:00
Davide Giacometti
3f70c8c889 handle numeric input (#11885) 2021-07-05 17:26:31 +03:00
Niels Laute
370e8c8574 [Settings] Aligning XAML across all pages (#12212)
* Updating settings

* OOBE button

* Removed unused namespaces

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-07-05 16:25:23 +02:00
Mykhailo Pylyp
25ab4afe78 [Color Picker] Logs (#12157)
* - Fixed module interface logs

- Added logs to correlate logs between the runner and color picker process

* Fix logs
2021-07-02 19:54:44 +03:00
Niels Laute
6ad6ff7fb6 Changed from brush to opacity (#11843)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-07-02 11:24:49 +01:00
Jaime Bernardo
0d5f97d8bf Fix merged process names in bug report tool (#12123) 2021-07-02 11:11:11 +01:00
Seraphima Zykova
71f2561eb1 [FancyZones] Unit tests fix (#12018) 2021-07-02 10:29:32 +01:00
Mykhailo Pylyp
b42eb08ec6 Start PowerToys Run through the ActionRunner (#12043) 2021-07-01 10:26:58 +01:00
Seraphima Zykova
086394d455 [Hotfix][FancyZones] Unable to start correctly (#12038)
* fix event

* close handle on destroy
2021-07-01 10:26:22 +01:00
Clint Rutkas
03eb9c3f5c checking for NaN, not just zero (#12058) 2021-06-30 17:16:45 -07:00
Clint Rutkas
9c248cdcd2 Update bug_report.yml 2021-06-30 11:20:59 -07:00
Jaime Bernardo
2ddab2549e [Hotfix] PowerToys Awake - Show full name on tray (#12015) 2021-06-30 12:38:02 +01:00
Den Delimarsky
4c323ab71a [Hotfix] PowerToys Awake - fixing CPU usage (#11978)
* Change how background threads operate
This should reduce CPU usage.

* Well there is just no need for the console here

* Need to keep the full name sanitized
2021-06-30 12:04:31 +01:00
Mykhailo Pylyp
a90c738c10 Fix clicking on text (#11968) 2021-06-30 13:05:12 +03:00
Andrey Nekrasov
4e23832d52 Add new VideoConference module for muting mic/cam (#11798)
* add new VideoConference module for muting mic/cam

Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com>
Co-authored-by: Niels Laute <niels.laute@live.nl>
2021-06-29 13:06:12 +03:00
csigs
e450669663 LEGO: check in for master to temporary branch. (#11891) 2021-06-28 14:12:07 -07:00
Clint Rutkas
d8f0f7aca4 Update pipeline.user.windows.yml (#11897) 2021-06-28 13:29:07 -07:00
Deondre Davis
e5cb07729f readme 0.41 release (#11861)
* Update README.md

* Update README.md

* Update README.md

* Create usernames.txt

* Rename usernames.txt to names.txt

* Delete names.txt

* Update expect.txt

* Update README.md

* Update README.md

* Update README.md

Co-authored-by: Clint Rutkas <clint@rutkas.com>
2021-06-28 10:37:54 -07:00
Mykhailo Pylyp
d7e09e83c2 Register the hotkey after PT Run is initialized (#11858) 2021-06-24 17:50:34 +03:00
Seraphima Zykova
0f32e99d88 [FancyZones] Fixed monitor id for unified work areas (#11857) 2021-06-24 14:30:36 +01:00
Andrey Nekrasov
4aa1e43bac [Setup] Fix default log dir path (#11856) 2021-06-24 15:30:19 +03:00
Seraphima Zykova
8fcfcd6790 [FancyZones] "Match not found" fix update for the single layout for all monitors (#11846) 2021-06-23 20:46:02 +03:00
Seraphima Zykova
da1cdd7ca4 [FancyZones] Add an icon to the FZ process (#11841) 2021-06-23 16:48:16 +01:00
Mykhailo Pylyp
f0b94453f2 Log to appdata folder from the bootstrapper and the msi (#11828) 2021-06-23 18:46:17 +03:00
Seraphima Zykova
2dc82f31b3 [FancyZones] "Match not found" error fix (#11840) 2021-06-23 16:28:23 +01:00
Andrey Nekrasov
eeea6b3bae [FancyZones] Do not try to zone minimized windows (#11776) 2021-06-23 17:05:55 +03:00
Seraphima Zykova
c93eb92cd0 [FancyZones] Move FancyZones out of the runner process (#11818)
* rename dll -> FancyZonesModuleInterface (#11488)

* [FancyZones] Rename "fancyzones/tests" -> "fancyzones/FancyZonesTests" (#11492)

* [FancyZones] Rename "fancyzones/lib" -> "fancyzones/FancyZonesLib" (#11489)

* [FancyZones] New FancyZones project. (#11544)

* [FancyZones] Allow single instance of "PowerToys.FancyZones.exe" (#11558)

* [FancyZones] Updated bug reports (#11571)

* [FancyZones] Updated installer (#11572)

* [FancyZones] Update string resources (#11596)

* [FancyZones] Terminate FancyZones with runner (#11696)

* [FancyZones] Drop support for the module interface API to save settings (#11661)

* Settings telemetry for FancyZones (#11766)

* commented out test

* enable dpi awareness for the process
2021-06-23 13:48:54 +01:00
Clint Rutkas
bdf85989fc adding in mod support via % (#11821)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2021-06-22 08:54:28 -07:00
Mykhailo Pylyp
cf9f0ce6a9 [PowerToys Run] Issues with elevation (#11775)
* Delegate creation of non elevated process

* Error handling

* nits

* Fix potential race condition

* Fix spelling

* Fix spelling

* Fix build
2021-06-22 15:24:03 +03:00
Seraphima Zykova
7e79654ee0 [FancyZones] Avoid unnecessary calculations when selecting a zone (#11815) 2021-06-22 11:34:27 +03:00
csigs
4c3fbad9ee LEGO: check in for master to temporary branch. (#11816) 2021-06-21 14:20:07 -07:00
Manuel Serra
5679d48073 Fix CurrentVirtualDesktop fetching from registry (#11760)
* fix(#11125): fallback to canonical regkey session unaware

* chore(#11125): use wil::unique_hkey instead of HKEY for fallback CurrentVirtualDesktop

* refactor: extract new explorer current virtual desktop behavior into a separate method
2021-06-18 07:53:23 -07:00
Mykhailo Pylyp
f662c062d2 [Run-Plugin][Program] Fix null reference exception on Dispose (#11785) 2021-06-18 13:40:10 +03:00
Mykhailo Pylyp
c953f10c21 Don't crash if UserSelectedRecord.json can not be updated (#11789) 2021-06-18 13:38:23 +03:00
Mykhailo Pylyp
735accc1a8 Don't crash if URI can't be parsed (#11788) 2021-06-18 13:01:40 +03:00
Clint Rutkas
70b9c0f879 Dev/crutkas/updating contributing (#11682)
* Update CONTRIBUTING.md

* updating contribute

* Update CONTRIBUTING.md

Co-authored-by: Aaron Junker <vl5ktlnki@relay.firefox.com>

* Update CONTRIBUTING.md

* Update feature_request.yml

* Update feature_request.yml

Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
Co-authored-by: Aaron Junker <vl5ktlnki@relay.firefox.com>
2021-06-17 11:16:27 -07:00
ulazy1
482163daf7 [FanzyZones] Zone activation based on zone center (#11361)
* Started work on algorithm to select the zone with the center closest to the cursor.

* Fixed algorithm to compute center of rectangle

* Revert to taking the smallest area when the centers are too close (75 pixels).
Temporary turned off buffer of window selection to better see how the algorithm is working.

* Remove change to sensitivity radius.

* Changes in response to SeraphimaZ's comments.

* spelling fix

Co-authored-by: ulazy1 <ulazy198@gmail.com>
2021-06-16 07:49:29 -07:00
Clint Rutkas
3f00aa0981 Fix signing of Unit Converter (#11771)
* Update pipeline.user.windows.yml

* Update pipeline.user.windows.yml

* Update Product.wxs

making folders all match including YML
2021-06-16 05:54:44 -07:00
csigs
4e5c85ec03 LEGO: check in for master to temporary branch. (#11749) 2021-06-14 15:16:32 -07:00
Niels Laute
74a1715d6e [Awake] Updated images + settings menu fix (#11728)
* Alphabetical module order in Settings navview menu

* Updated images

* Updated menu order in OOBE

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-06-14 10:34:32 -07:00
Andrey Nekrasov
cdd06d7e98 Dev/yuyoyuppe/autoupdate polishing (#11693)
* [Updating] Create a dedicated executable project for updating procedures

* [Updating] Use PowerToys.Update for update procedures (#11495)

* [Updating] Use PowerToys.Update for update procedures

* [Setup] Remove toast notifications and other dependencies from bootstrapper

* [Installer] Remove Winstore, redundant strings

* [Settings] Remove deprecated 'packaged' setting
2021-06-14 12:55:59 +03:00
Roy
5b804a1ff6 [PT Run] Improve the UWP Program Indexing speed (#11683)
* Improve UWP Indexing speed

* Optimize Linq usage
Added static readonly vars

* Optimzie GetAppsFromManifest

* LogoUriFromManifest uses logoUri which is also an instance variable

* Add IsPackageDotInstallationPathAvailable

* Dispose FileStream

* Fix InstalledPath after testing in build 1903

* Fix typo
2021-06-14 01:19:05 -07:00
Roy
b2cff5cbd3 UpdateUWPIconPath can only be called after all UWP apps are initialzied (#11686) 2021-06-10 06:55:54 -07:00
Roy
9eae6cc6f2 Update mages to V2 (.NET Standard 2.0) (#11681) 2021-06-10 06:40:20 -07:00
Mykhailo Pylyp
8d5f52c718 Don't disable PT Run if it fails to start(running elevated) (#11684) 2021-06-10 14:08:56 +03:00
Clint Rutkas
94a6947cd6 fixing merge oops that doesn't seem to trigger on VS (#11680)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2021-06-09 11:51:14 -07:00
Den Delimarsky
c5e464a704 🧼 PowerToys Awake (#11593)
* Scrubbing name conventions

* Fix naming for projects

* Fix folder naming

* More folder cleanup

* More left-over file changes

* Reverting LCL files, because these will be handled by the loc team

* Remove legacy file that is no longer used.

* Update latest
2021-06-09 09:13:58 -07:00
Mykhailo Pylyp
c9c54b7780 [Run-Plugin] Settings plugin (#11663)
* Current settings plugin state on fresh master

* typo fixes

* Add to YML

* Add to WXS

* Address feedback - highlight the note in the tool-tip a little bit

* Address feedback add extra note for "Manage known networks"

* Address feedback - Show type of settings in sub-line and remove extra ControlPanel prefix in json

* Add "WiFi" as alternative name for each Wi-Fi setting

* Add a few more alternative names

* Make RESX happy

* exclude WindowsSettings.json from spell checker because all entries are placeholders  for the translation

* Translate all alternative names

* Translate all notes

* fix for not find "wifi"

* fix typo

* typo fixes and remove debug

* Address feedback - correct author

* Address feedback - settings entries

* Address feedback - code changes

* Address feedback - RESX changes and tool-tip

* fix typo

* Address feedback - remove superfluous interface

* Address feedback - Update RESX

* Address feedback - simplification

* Address feedback - remove enumeration

* Address feedback - move big function in extra helper classes

* Address feedback - move big function in extra helper class

* Address feedback - correct namespace

* Address feedback - move translation to translation helper and make translation more robust

* fix typo

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.WindowsSettings/Main.cs

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

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.WindowsSettings/Helper/ResultHelper.cs

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

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.WindowsSettings/Main.cs

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

* fix build

* Address feedback

* ups

* Address feedback - Correct windows update settings name

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.WindowsSettings/WindowsSettings.json

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

* adding in dependencies so when you build Launcher, all plugins are included

* Address feedback - add optional updates

* Address feedback - use build numebr instaed of Windows version

* Address feedback - Log difference between registry values + fix wrong ValueType (ushort -> uint)

* Address feebdback - improved warning message on different registry values

* fix typo

* removed not need using

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.WindowsSettings/Helper/UnsupportedSettingsHelper.cs

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

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.WindowsSettings/Helper/UnsupportedSettingsHelper.cs

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

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.WindowsSettings/Helper/UnsupportedSettingsHelper.cs

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

* Addrress feedback, don't copy embed file

* Address feedback - Remove duplicated or not available settings

* Address feedback - Improve scoring

* Address feedback - Add extra filter

* Address feedback - replace the are filter sign with a better one

* Address feedback - fix unwanted behavior

* Address feedback - Change class name

* Address feedback - Rename settings type

* typo fix

* Fix installer

* Comment out localization support

Co-authored-by: Sekan, Tobias <tobias.sekan@startmail.com>
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
Co-authored-by: crutkas <crutkas@microsoft.com>
2021-06-09 18:04:03 +03:00
ThiefZero
fc9d7e4f1b [PT Run][New Plugin] Unit Converter (#9800) (#11406) 2021-06-09 12:30:57 +01:00
Jaime Bernardo
27e609f6eb Revert "[PT Run][New Plugin] Unit Converter (#9800) (#11406)"
This reverts commit 1dabd761e1,
to give proper attribution to the author.
2021-06-09 12:30:57 +01:00
Clint Rutkas
203f8b2eb4 Update pipeline.user.windows.yml (#11669) 2021-06-09 00:50:48 -07:00
Clint Rutkas
80b07f749f Update pipeline.user.windows.yml (#11649) 2021-06-08 13:53:11 -07:00
Mykhailo Pylyp
3e5c757b9b fix internal build (#11668) 2021-06-08 13:50:41 -07:00
Niels Laute
884a313f3c [Run] Highlight search text (#11635)
* Add bolded type

* Inline get set

* Fix

* Update expect.txt

IMulti

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
2021-06-08 11:23:27 -07:00
Mykhailo Pylyp
55b6fb8da6 Fix internal build (#11664) 2021-06-08 11:14:14 -07:00
Niels Laute
f0d68211a3 [Settings] RadioButton header fixes + updated colorpicker GIF for OOBE (#11531) 2021-06-08 10:56:38 -07:00
Clint Rutkas
0f19d675f5 moving apps to 0.9.4 that were not. (#11604)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2021-06-08 10:16:04 -07:00
Enrico Giordani
1dabd761e1 [PT Run][New Plugin] Unit Converter (#9800) (#11406) 2021-06-08 18:53:11 +03:00
Mykhailo Pylyp
a6458823b1 Revert changes to submodule as it doesn't build for 16.10 (#11642) 2021-06-08 17:29:38 +03:00
Clint Rutkas
17f9ee84b3 null checking the callbacks (#11592)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2021-06-04 10:13:56 -07:00
Enrico Giordani
367b3df705 [runner] removed outdated MSIX code (#11450) 2021-06-04 00:20:11 +03:00
Clint Rutkas
e69cd8a057 Update README.md (#11590) 2021-06-03 13:19:18 -07:00
Roy
266aafb700 [PT Run] Improve the Win32 Program Indexing speed (#11364) 2021-06-03 17:11:09 +03:00
csigs
9a1034e122 LEGO: check in for master to temporary branch. (#11539) 2021-06-02 11:21:56 -07:00
Davide Giacometti
a8ff1c856c open minimized settings from oobe (#11546) 2021-06-02 09:51:01 -07:00
Mykhailo Pylyp
3b32116d36 Fix build for VS 16.10 (#11557) 2021-06-01 19:15:16 +03:00
Roy
8e24e07e81 Update Logger library to support VS2019 16.10 (#11549) 2021-06-01 11:56:37 +03:00
Mykhailo Pylyp
cecf6fb089 Save relative path to settings (#11543) 2021-06-01 10:57:53 +03:00
Mykhailo Pylyp
3807673574 [PowerToys Run] Crash on exit, logs (#11509) 2021-05-31 13:00:06 +03:00
Mykhailo Pylyp
338b7b8a29 Program plugin logs (#11497) 2021-05-27 19:15:22 +03:00
Mykhailo Pylyp
36fb2a434f [Bug Report Tool] Fix internal build (#11487) 2021-05-27 11:53:58 +03:00
Chris Davis
3262d6deff CPowerRenameManager::s_fileOpWorkerThread should initialize COM as STA instead of MTA. Also, CPowerRenameManager::_PerformFileOperation should return S_OK instead of 0. (#11476) 2021-05-26 14:12:50 -07:00
Mykhailo Pylyp
aecabc0372 [PowerToys Run] Settings watcher logging (#11469) 2021-05-26 18:07:32 +03:00
Enrico Giordani
fa3567d95d [spell checker] add rule (#11468) 2021-05-26 16:31:12 +02:00
Mykhailo Pylyp
0b13c4d6a5 [Bug Report Tool] Report event viewer logs (#11458) 2021-05-26 16:23:49 +03:00
Clint Rutkas
208e1701d0 Update README.md 2021-05-25 10:17:42 -07:00
Clint Rutkas
894f469de6 Espresso (#11303)
* Update README.md

* Espresso (#11245)

* Revert "Merge branch 'microsoft:master' into master"

This reverts commit b080908712, reversing
changes made to 8463c95a43.

* Fix conversion of settings in the UX

* Update terminology

* Updating logging configuration

* Set up how tray and setting configuration works

* Adding hero images

* Fix how binding works

* Update OOBE string

* Fix spelling error

* fixing dep to include espresso, adding in yml

* Update API components and fix display keep-awake bug

* Adding words that the spell check is yelling about

* tweak wsx

* Change default setting for Espresso

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: crutkas <crutkas@microsoft.com>

* Update Product.wxs

* Update Shortcut.cpp

* Update with more logging (#11332)

* Revert "Merge branch 'microsoft:master' into master"

This reverts commit b080908712, reversing
changes made to 8463c95a43.

* Fix conversion of settings in the UX

* Update terminology

* Updating logging configuration

* Set up how tray and setting configuration works

* Adding hero images

* Fix how binding works

* Update OOBE string

* Fix spelling error

* fixing dep to include espresso, adding in yml

* Update API components and fix display keep-awake bug

* Adding words that the spell check is yelling about

* tweak wsx

* Change default setting for Espresso

* Adding some extra logging

* Update Shortcut.cpp

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: crutkas <crutkas@microsoft.com>

* Fix minor issue in the module branch (#11340)

* Revert "Merge branch 'microsoft:master' into master"

This reverts commit b080908712, reversing
changes made to 8463c95a43.

* Fix conversion of settings in the UX

* Update terminology

* Updating logging configuration

* Set up how tray and setting configuration works

* Adding hero images

* Fix how binding works

* Update OOBE string

* Fix spelling error

* fixing dep to include espresso, adding in yml

* Update API components and fix display keep-awake bug

* Adding words that the spell check is yelling about

* tweak wsx

* Change default setting for Espresso

* Adding some extra logging

* Update Shortcut.cpp

* Fix log location coming from the runner

* More chatty logging for console allocation

* Installer config to add the missing assets

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: crutkas <crutkas@microsoft.com>

* Update Product.wxs

* Update Program.cs

* fixing typo

* removing a unneeded removal

* [Espresso] More minor tweaks to logging (#11341)

* Revert "Merge branch 'microsoft:master' into master"

This reverts commit b080908712, reversing
changes made to 8463c95a43.

* Fix conversion of settings in the UX

* Update terminology

* Updating logging configuration

* Set up how tray and setting configuration works

* Adding hero images

* Fix how binding works

* Update OOBE string

* Fix spelling error

* fixing dep to include espresso, adding in yml

* Update API components and fix display keep-awake bug

* Adding words that the spell check is yelling about

* tweak wsx

* Change default setting for Espresso

* Adding some extra logging

* Update Shortcut.cpp

* Fix log location coming from the runner

* More chatty logging for console allocation

* Installer config to add the missing assets

* Remove unused handle codes

* Update log file name for the Espresso C++ code.

* Update the project configuration to fix build issue

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: crutkas <crutkas@microsoft.com>

* Update patterns.txt

* Fix binding issues (#11368)

* Revert "Merge branch 'microsoft:master' into master"

This reverts commit b080908712, reversing
changes made to 8463c95a43.

* Fix conversion of settings in the UX

* Update terminology

* Updating logging configuration

* Set up how tray and setting configuration works

* Adding hero images

* Fix how binding works

* Update OOBE string

* Fix spelling error

* fixing dep to include espresso, adding in yml

* Update API components and fix display keep-awake bug

* Adding words that the spell check is yelling about

* tweak wsx

* Change default setting for Espresso

* Adding some extra logging

* Update Shortcut.cpp

* Fix log location coming from the runner

* More chatty logging for console allocation

* Installer config to add the missing assets

* Remove unused handle codes

* Update log file name for the Espresso C++ code.

* Update the project configuration to fix build issue

* Fix binding issue with the time settings

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: crutkas <crutkas@microsoft.com>

* Introduce the off mode and fix binding issues (#11385)

* Revert "Merge branch 'microsoft:master' into master"

This reverts commit b080908712, reversing
changes made to 8463c95a43.

* Fix conversion of settings in the UX

* Update terminology

* Updating logging configuration

* Set up how tray and setting configuration works

* Adding hero images

* Fix how binding works

* Update OOBE string

* Fix spelling error

* fixing dep to include espresso, adding in yml

* Update API components and fix display keep-awake bug

* Adding words that the spell check is yelling about

* tweak wsx

* Change default setting for Espresso

* Adding some extra logging

* Update Shortcut.cpp

* Fix log location coming from the runner

* More chatty logging for console allocation

* Installer config to add the missing assets

* Remove unused handle codes

* Update log file name for the Espresso C++ code.

* Update the project configuration to fix build issue

* Fix binding issue with the time settings

* Proper Espresso behavior for binding

* Fix settings UI

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: crutkas <crutkas@microsoft.com>

* Update with missing strings. (#11386)

* Revert "Merge branch 'microsoft:master' into master"

This reverts commit b080908712, reversing
changes made to 8463c95a43.

* Fix conversion of settings in the UX

* Update terminology

* Updating logging configuration

* Set up how tray and setting configuration works

* Adding hero images

* Fix how binding works

* Update OOBE string

* Fix spelling error

* fixing dep to include espresso, adding in yml

* Update API components and fix display keep-awake bug

* Adding words that the spell check is yelling about

* tweak wsx

* Change default setting for Espresso

* Adding some extra logging

* Update Shortcut.cpp

* Fix log location coming from the runner

* More chatty logging for console allocation

* Installer config to add the missing assets

* Remove unused handle codes

* Update log file name for the Espresso C++ code.

* Update the project configuration to fix build issue

* Fix binding issue with the time settings

* Proper Espresso behavior for binding

* Fix settings UI

* Re-add missing strings

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: crutkas <crutkas@microsoft.com>

* Fix whitespace issue (#11387)

* Revert "Merge branch 'microsoft:master' into master"

This reverts commit b080908712, reversing
changes made to 8463c95a43.

* Fix conversion of settings in the UX

* Update terminology

* Updating logging configuration

* Set up how tray and setting configuration works

* Adding hero images

* Fix how binding works

* Update OOBE string

* Fix spelling error

* fixing dep to include espresso, adding in yml

* Update API components and fix display keep-awake bug

* Adding words that the spell check is yelling about

* tweak wsx

* Change default setting for Espresso

* Adding some extra logging

* Update Shortcut.cpp

* Fix log location coming from the runner

* More chatty logging for console allocation

* Installer config to add the missing assets

* Remove unused handle codes

* Update log file name for the Espresso C++ code.

* Update the project configuration to fix build issue

* Fix binding issue with the time settings

* Proper Espresso behavior for binding

* Fix settings UI

* Re-add missing strings

* Fix whitespace issue

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: crutkas <crutkas@microsoft.com>

* Fix default (#11388)

* Revert "Merge branch 'microsoft:master' into master"

This reverts commit b080908712, reversing
changes made to 8463c95a43.

* Fix conversion of settings in the UX

* Update terminology

* Updating logging configuration

* Set up how tray and setting configuration works

* Adding hero images

* Fix how binding works

* Update OOBE string

* Fix spelling error

* fixing dep to include espresso, adding in yml

* Update API components and fix display keep-awake bug

* Adding words that the spell check is yelling about

* tweak wsx

* Change default setting for Espresso

* Adding some extra logging

* Update Shortcut.cpp

* Fix log location coming from the runner

* More chatty logging for console allocation

* Installer config to add the missing assets

* Remove unused handle codes

* Update log file name for the Espresso C++ code.

* Update the project configuration to fix build issue

* Fix binding issue with the time settings

* Proper Espresso behavior for binding

* Fix settings UI

* Re-add missing strings

* Fix whitespace issue

* Fix the default mode of operation

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: crutkas <crutkas@microsoft.com>

* Update Microsoft.PowerToys.Settings.UI.csproj

* Localization improvements

* Replaced a computer with your pc

* Updated Espresso imagery

* Fixed inconsistent string

* Margin fix and updated images

* Removed unused code

Co-authored-by: Den Delimarsky <1389609+dend@users.noreply.github.com>
Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: crutkas <crutkas@microsoft.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-05-25 10:13:04 -07:00
Seraphima Zykova
6821c50ffe [FZ Editor] Switch between zone and dialog with Ctrl + Tab (#11435)
* focus zone by ctrl + tab
* focus back
2021-05-25 07:59:34 +03:00
yuyoyuppe
b79ab9cd5d [Updating] Fix localization path 2021-05-24 19:59:30 +03:00
csigs
516c96a8b7 LEGO: check in for master to temporary branch. (#11432) 2021-05-24 18:40:55 +02:00
Seraphima Zykova
7180278c33 [FZ Editor] Turn off magnetic snapping when moving/resizing a zone with the keyboard (#11430) 2021-05-24 15:04:28 +01:00
Mykhailo Pylyp
9f6e1966ae [Issue-Docs] Update new-plugin-checklist.md (#11428)
* Update new-plugin-checklist.md

* Update doc/devdocs/modules/launcher/new-plugin-checklist.md

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-05-24 12:07:30 +02:00
Mykhailo Pylyp
d537280454 Kill PowerToys Run process if it is already running (#11407) 2021-05-24 12:05:17 +03:00
Enrico Giordani
0be526bd7e [spell checker] add terms (#11404) 2021-05-21 17:19:44 +02:00
Doğan Çelik
17fbe40b40 [PT Run] Fix Program Plugin launching issue in Turkish locale (#10981)
* [Launcher] Fix Program Plugin launching issue in Turkish locale

* [Launcher] Add test for Turkish localized path

* Update expect.txt

* Update .github/actions/spell-check/expect.txt

Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-05-21 16:51:53 +02:00
Mykhailo Pylyp
50c6a1de8a [PowerToys Run] Logging (#11378) 2021-05-21 17:24:33 +03:00
Davide Giacometti
4a65aa3d0e minimum size width and height (#11380) 2021-05-21 15:58:57 +02:00
Niels Laute
b84e9da005 [ColorPicker] Improving keyboard navigation (#11384)
* Fix keyboard navigation

* Fix button

* HIerarchy

* Place flyout at the bottom

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-05-21 15:57:57 +02:00
Andrey Nekrasov
756c9ff935 [Updating] Set dotnet version to 3.1.15 (#11403) 2021-05-21 15:55:16 +02:00
Seraphima Zykova
4026b9e9ae [Auto-update][Settings] Bolden update ready/available info line (#11401) 2021-05-21 14:03:18 +01:00
Seraphima Zykova
2dd079dd51 [Auto-update][Settings] Show error text with error brush (#11397) 2021-05-21 13:15:36 +01:00
Seraphima Zykova
b96b4fcb0f [Auto-update] Auto-update improvements (#11356)
* [Updating] Refactor autoupdate mechanism to use Settings window buttons

* [Updating] Don't use underscores in update_state (#11029)

* [Updating] Rename action_runner to be consisent with accepted format

* [Updating] Make UpdateState values explicit

* [Setup] Set default bootstrapper log severity to debug

* [BugReport] Include all found bootstrapper logs

* [Setup] Use capital letter for ActionRunner

* [Updating] Simple UI to test UpdateState

* [Action Runner]  cleanup and coding style

* [BugReportTool] fix coding convension

* [Auto-update][PT Settings] Updated general page in the Settings (#11227)

* [Auto-update][PT Settings] File watcher monitoring UpdateState.json (#11282)

* Handle button clicks (#11288)

* [Updating] Document ActionRunner cmd flags

* [Auto-update][PT Settings] Updated UI (#11335)

* [Updating] Do not reset update state when msi cancellation detected

* [Updating] Directly launch update_now PT action instead of using custom URI scheme

* Checking for updates UI (#11354)

* [Updating] Fix cannotDownload state in action runner

* [Updating] Reset update state to CannotDownload if action runner encountered an error

* [Updating][PT Settings] downloading label, disable button in error state

* Changed error message

* [Updating rename CannotDownload to ErrorDownloading

* [Updating] Add trace logging for Check for updates callback

* [Updating][PT Settings] simplify downloading checks

* [Updating][PT Settings] Updated text labels

* [Updating][PT Settings] Retry to load settings if failed

* [Updating][PT Settings] Text fix

* [Updating][PT Settings] Installed version links removed

* [Updating][PT Settings] Error text updated

* [Updating][PT Settings] Show label after version checked

* [Updating][PT Settings] Text foreground fix

* [Updating][PT Settings] Clean up

* [Updating] Do not reset releasePageUrl in case of error/cancellation

* [Updating][PT Settings] fixed missing string

* [Updating][PT Settings] checked for updates state fix

Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-05-21 12:32:34 +02:00
Mykhailo Pylyp
d55badf14a [BugReportTool] Report compatibility tabs (#11375) 2021-05-20 18:41:12 +03:00
Mykhailo Pylyp
601da71f15 [Shortcut Guide] Move into separate process (#11359) 2021-05-20 15:07:34 +03:00
Clint Rutkas
c948c1fca8 Change markdown files to treat soft endings as hard (#11271) 2021-05-18 05:07:55 -07:00
Clint Rutkas
f29b8dc50c fx cop for Fz Editor part2 (#11293)
* disposable not being disposed

* CA1305 fixes

Co-authored-by: crutkas <crutkas@microsoft.com>
2021-05-18 13:39:38 +02:00
Josh Soref
58d41d40e5 check-spelling: Remove stray field (#11339)
This feature isn't ready yet and wasn't meant to be included
2021-05-18 13:38:52 +02:00
Clint Rutkas
f86a2f1ed3 Update COMMUNITY.md 2021-05-17 12:51:26 -07:00
Lee Won Jun
de9b7772e1 [PT Run] Implement quick browser open in PT-run (#11260)
* Implement quick broswer open in PT-run

* Update src/modules/launcher/Plugins/Microsoft.Plugin.Uri/Properties/Resources.resx

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

Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
2021-05-14 09:55:57 -07:00
Clint Rutkas
319adcbd62 fx cop & FZ editor part 1 of many (#11241)
* fixing first set of host of bugs

* objects are already set to defaults

* shifting to string.is null / empty

* setters

* fixing stylecop oops

* checking in the FxCop dep but commenting it out for easier coming back
2021-05-14 09:54:34 -07:00
Niels Laute
19952ef634 [FZ Editor] Keyboard support for canvas editor (#11211)
* Canvas zone keyboard accesible

* Keyboard interaction

* Update

* Updated styles

* Update src/modules/fancyzones/editor/FancyZonesEditor/CanvasZone.xaml

* Update src/modules/fancyzones/editor/FancyZonesEditor/CanvasZone.xaml

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-05-12 20:44:26 -07:00
Enrico Giordani
15d49776b3 [CDPx] fix for build break (#11234) 2021-05-12 21:06:26 +02:00
Clint Rutkas
48f2376aaa Revert "Espresso" (#11235) 2021-05-12 11:22:34 -07:00
Clint Rutkas
803522ac7a Merge branch 'master' into master 2021-05-12 10:08:51 -07:00
Mahi Taher
daa775c215 Fix ColourPicker HowToUse Text in Resources.resw (#11212)
Fixes #11199
2021-05-12 09:58:26 -07:00
Enrico Giordani
e1942b8058 [spell checker] add terms (#11224)
* [spell checker] add terms

* [spell checker] more terms
2021-05-12 16:23:23 +02:00
Den Delimarsky
d566d0bdf0 Simplify settings handling to not rely on complex properties 2021-05-11 21:41:07 -07:00
Den Delimarsky
65ecfd2424 Set correct minimum for minutes 2021-05-11 21:12:59 -07:00
Den Delimarsky
fcae21bb5f Code cleanup 2021-05-11 20:57:40 -07:00
Den Delimarsky
a23279f3de Remove redundancy 2021-05-11 20:53:26 -07:00
Den Delimarsky
ff486e5a61 Making sure the app can run well without a console window
Only applicable when a PID is specified.
2021-05-11 20:50:02 -07:00
Den Delimarsky
95bac54c0e Update how tray is handled 2021-05-11 19:40:02 -07:00
Den Delimarsky
3d8ed3905e Proper threading support for all parts of the keep-awake process 2021-05-11 19:10:15 -07:00
Clint Rutkas
2e7ca62291 Update README.md 2021-05-11 16:46:33 -07:00
Clint Rutkas
10c6172a29 Update COMMUNITY.md 2021-05-11 16:32:36 -07:00
Clint Rutkas
e7ecad6c14 Update COMMUNITY.md 2021-05-11 16:28:33 -07:00
Den Delimarsky
a78da90282 Merge remote-tracking branch 'origin/master' 2021-05-11 14:44:52 -07:00
Den Delimarsky
3196de2e29 Update loops 2021-05-11 14:42:42 -07:00
Niels Laute
9c6b96fa37 Added aka.ms link for Espresso 2021-05-11 23:41:04 +02:00
Niels Laute
f3414c16dc Added OOBE 2021-05-11 22:44:36 +02:00
Clint Rutkas
f1b4081257 Create akaLinks.md 2021-05-11 12:52:05 -07:00
Clint Rutkas
4a9797797d Merge branch 'master' of https://github.com/dend/PowerToys 2021-05-11 11:01:55 -07:00
Clint Rutkas
465d850e89 correcting versioning numbering 2021-05-11 10:51:30 -07:00
Clint Rutkas
e195c42f17 StyleCop enabled. 2021-05-11 10:22:29 -07:00
Den Delimarsky
b22e409d91 Add visual assets 2021-05-11 09:21:40 -07:00
Niels Laute
7cf1c64575 Tweaked settings UX 2021-05-11 17:52:58 +02:00
Den Delimarsky
6617444f14 Fixing the margin 2021-05-11 08:22:00 -07:00
Josh Soref
eb106650f6 Upgrade check-spelling to v0.0.18 (#11114)
* spelling: sent

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* Upgrade check-spelling to v0.0.18

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2021-05-11 09:39:14 +02:00
Den Delimarsky
e366e8e878 Fixing how cancellation token is handled. 2021-05-10 22:07:03 -07:00
Den Delimarsky
0931d23fc5 Add contextual comments. 2021-05-10 21:06:03 -07:00
Den Delimarsky
c2f1cbf867 Code cleanup 2021-05-10 20:58:34 -07:00
Clint Rutkas
4a46619857 adding wsx, think this is everything needed 2021-05-10 20:33:19 -07:00
Den Delimarsky
61a787844b Proper use of serialization routines 2021-05-10 18:46:39 -07:00
Den Delimarsky
8013664eef Updating how the tray works 2021-05-10 18:25:40 -07:00
Den Delimarsky
bd8decdfc8 Update the logic for Espresso launches 2021-05-10 17:58:36 -07:00
Den Delimarsky
79c70b3998 Modify how settings are handled by Espresso 2021-05-10 17:55:11 -07:00
Clint Rutkas
f0e5be9982 changing settings order 2021-05-10 14:35:27 -07:00
Clint Rutkas
f20e3fffe4 Adjusting locations 2021-05-10 13:59:17 -07:00
Clint Rutkas
d8762a8ed8 removing AnyCPU 2021-05-10 11:56:01 -07:00
Enrico Giordani
863b2541a0 [build] stop building PowerRenameUWPUI (#11185)
this project was needed when PowerToys supported the MSIX installer
2021-05-10 17:58:58 +02:00
Enrico Giordani
1fa174c184 [Run] remove Python class (#11186)
Run deosn't support Python plugins
2021-05-10 17:48:41 +02:00
csigs
c33bc31c89 LEGO: check in for master to temporary branch. (#11187) 2021-05-10 14:58:21 +02:00
Enrico Giordani
617b7adb09 [KBM] Fix for handle leak (#11182) 2021-05-10 10:39:54 +02:00
Den Delimarsky
af4ec9ad8b Change how settings and tray are handled. 2021-05-09 22:25:52 -07:00
Den Delimarsky
1347223707 Update expected words 2021-05-09 18:55:56 -07:00
Den Delimarsky
64bc9cb771 Fix project issue that prevented the launch of the console window for testing 2021-05-09 18:21:51 -07:00
Den Delimarsky
a4d429c5de Merge remote-tracking branch 'origin/master' 2021-05-09 17:58:00 -07:00
Den Delimarsky
c6c19e3824 Update with reference to missing string 2021-05-09 17:57:04 -07:00
Den Delimarsky
6e16f5c918 Merge branch 'microsoft:master' into master 2021-05-09 17:54:24 -07:00
Den Delimarsky
6b2b066696 Add more words to expected collection 2021-05-09 17:50:15 -07:00
Den Delimarsky
924057cf41 Add expected spelling 2021-05-09 17:23:49 -07:00
Den Delimarsky
f0ea815427 More naming fixes 2021-05-09 17:17:51 -07:00
Den Delimarsky
fd3c55866e Fix naming 2021-05-09 17:14:48 -07:00
Den Delimarsky
7b6762609e Cleanup and set correct assembly name 2021-05-09 16:27:59 -07:00
Den Delimarsky
5cf82d7000 Fix typo and minor resource changes 2021-05-09 15:53:43 -07:00
Enrico Giordani
489ff37bf4 [msi] add localized resources for "System" plugin (#11137)
* [msi] add System plugin localization resources

* [msi] add missing resource folder
2021-05-07 11:26:29 +02:00
Enrico Giordani
f6ed5fd7b3 [devdocs] new plugin localization steps (#11138) 2021-05-07 11:26:08 +02:00
Mykhailo Pylyp
8785fca309 [KBM] decoupling editor and engine (#11133) 2021-05-07 11:16:31 +03:00
DoctorNefario
9461909321 [ColorPicker] Change zoom animation behavior (#11057)
* [ColorPicker] Change zoom animation behavior
Makes the main window large enough to accommodate all zoom levels.

* [ColorPicker] Change zoom window position logic
Use PointFromScreen to calculate mouse position relative to window
This requires a "visible" window, so use opacity to fake-hide window
Window is still fully hidden when color picker closes

* [ColorPicker] Extract and modify resize behavior
Allows easier editing of animation easing/duration

* Update expect.txt

IAnimatable
IEasing

Co-authored-by: Clint Rutkas <clint@rutkas.com>
2021-05-07 09:28:20 +02:00
Andrey Nekrasov
21247c0bb0 [BugReportTool] Add windows settings (user language and locale) (#11129) 2021-05-06 16:17:57 +03:00
yuyoyuppe
b07966ba26 [Setup] Update .net core to 3.1.14 2021-05-06 15:46:42 +03:00
Enrico Giordani
0a232cd3e2 [bootstrapper] Allow msi extraction on 1809 and older (#11117) 2021-05-06 08:17:06 +02:00
Clint Rutkas
0baf2cb9da Update config.yml 2021-05-05 10:58:31 -07:00
Den Delimarsky
3f5f83ae1c Adding the ability to have a tray icon 2021-05-05 07:52:08 -07:00
Chris Davis
bf6dcf40ef Ensure the lifetime of CPowerRenameProcessUI on the worker thread (#11106)
* Ensure the lifetime of CPowerRenameProcessUI on the worker thread to prevent AV during shutdown

* Ensure worker thread progress dialog pointer is valid.  Also add a call to StopProgressDialog from the worker thread as the progress dialog can be particular about thread affinity for that method call.

Co-authored-by: Chris Davis (EDGE) <chrdavis@microsoft.com>
2021-05-05 11:46:13 +02:00
Clint Rutkas
9d59709c6c Update feature_request.yml 2021-05-04 15:55:56 -07:00
Clint Rutkas
3fc864d846 Update feature_request.yml 2021-05-04 15:55:05 -07:00
Clint Rutkas
404f9125ed Update feature_request.yml 2021-05-04 15:54:49 -07:00
DoctorNefario
e53b4346d7 [ColorPicker] Prevent creation of duplicate colors in history (#10705)
If color already exists in history, move it to position 0.
This prevents new duplicate colors, but ignores existing duplicates.
2021-05-04 13:16:32 -07:00
ricardosantos9521
4dab056d28 improve sorting vscodeworkspaces plugin (#10861)
* improve sorting vscodeworkspaces

* String.empty to string.empty. use ToLowerInvariant() instead of ToLower().

* more String.empty to string.empty. use ToLowerInvariant() instead of ToLower().
2021-05-04 08:51:44 -07:00
Den Delimarsky
077f3b79c1 Minor cleanup 2021-05-04 08:28:35 -07:00
Den Delimarsky
40478bee75 Merge remote-tracking branch 'origin/master' 2021-05-04 08:22:26 -07:00
Den Delimarsky
ff1ca4dac1 Working on putting together tray capabilities. 2021-05-04 08:21:58 -07:00
Niels Laute
86e4a9120d Double click to close editor (#11098)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-05-04 16:18:06 +02:00
Niels Laute
4ef667dc83 [FZ Editor] Accessibility fixes (#11097)
* Added tabindex to editor windows

* Hide icons

* Keyboard accesibile dialog

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-05-04 15:36:03 +02:00
Niels Laute
d586814308 [FZ Editor] Replace ItemsControls with GridViews (#11066)
* LayoutItemsControl to GridView

* ContextMenu

* Added contextmenu items

* Context menu keyboard support

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-05-04 13:49:38 +02:00
Den Delimarsky
dda2472487 Merge pull request #6 from microsoft/master
Sync latest changes
2021-05-03 08:08:44 -07:00
Den Delimarsky
33a81416fc Proper handling for PID binding
Now Espresso can be connected directly to the PowerToys PID.
2021-05-03 08:04:53 -07:00
csigs
f4f481c498 LEGO: check in for master to temporary branch. (#11081) 2021-05-03 15:15:08 +02:00
csigs
088b23f09a LEGO: check in for master to temporary branch. (#11039) 2021-05-03 06:28:40 +02:00
Den Delimarsky
31ca8ff2ce Fix binding 2021-05-02 11:14:59 -07:00
Den Delimarsky
15df1a2f1d Update settings config. 2021-05-02 10:29:50 -07:00
Den Delimarsky
485c15e981 Fixing settings issue to make sure configuration can propagate. 2021-05-02 09:30:26 -07:00
Den Delimarsky
9a009d63eb Update binding 2021-05-01 13:15:06 -07:00
Den Delimarsky
a458aba2d3 Update launch settings 2021-05-01 11:25:06 -07:00
Den Delimarsky
7f5558bd8a Update project configuration 2021-05-01 11:04:47 -07:00
Den Delimarsky
75ed9c7b12 Adding code to launch Espresso 2021-05-01 10:32:36 -07:00
Den Delimarsky
a13a5fde84 Fix logging for background thread 2021-05-01 09:41:22 -07:00
Den Delimarsky
45e24a2605 Remove redundant assignment 2021-05-01 09:36:24 -07:00
Enrico Giordani
0c3ce81c94 [KBM Editor] Support WM_DPICHANGED event (#11015)
* [KBM Editor] Support WM_DPICHANGED event

* [spell checker] add term

* [KBM editor] properly cast new DPI value
2021-04-30 16:04:53 +02:00
Enrico Giordani
fa0cfeccb9 [spell checker] add terms (#11016) 2021-04-30 13:35:41 +02:00
Clint Rutkas
6d72c4eff2 Update README.md 2021-04-29 12:26:58 -07:00
Clint Rutkas
ffa4bf50c3 Update README.md 2021-04-29 12:26:07 -07:00
Clint Rutkas
16d5a3efed Update README.md 2021-04-29 12:07:38 -07:00
Enrico Giordani
5efb3d3a61 [KBM] scale editor window size based on DPI (#11006) 2021-04-29 17:39:12 +02:00
Den Delimarsky
d3face8664 Improved logging for better diagnostics 2021-04-29 08:18:35 -07:00
Den Delimarsky
8496b1dc09 Updating how we handle logging.
Instead of using Console.WriteLine for everything, I decided that it's time to switch to a more mature logging platform. This will enable me to better track any kinds of issues, and make sure that there is an actual log file that lives outside the console that I can use for diagnostics.
2021-04-29 08:02:24 -07:00
Den Delimarsky
994af18770 Remove unnecessary using 2021-04-28 20:03:18 -07:00
Den Delimarsky
3651c66d5b Fix project state 2021-04-28 19:43:03 -07:00
Den Delimarsky
1e46c770b2 Merge pull request #5 from dend/microsoft-master
Merge latest changes
2021-04-28 18:41:46 -07:00
Den Delimarsky
b01b878b47 Merge branch 'master' of https://github.com/microsoft/PowerToys into microsoft-master 2021-04-28 18:39:26 -07:00
Den Delimarsky
c2d54b0733 Update how file changes are handled
Instead of relying on MemoryCache, I am using Rx, per a suggestion from Twitter, which enables me to automatically de-dupe things on the fly instead of using a polling method for a temporary cache.
2021-04-28 18:27:42 -07:00
Enrico Giordani
d2ec89a0ca [OOBE] New FZ Editor hotkey (#10988) 2021-04-28 13:09:08 +02:00
Enrico Giordani
4279d6c067 [KBM] supress warning (#10983) 2021-04-27 20:13:30 +02:00
Enrico Giordani
2c2cd3fde2 [msi] missing dlls (#10982) 2021-04-27 19:58:35 +02:00
Mykhailo Pylyp
5426e7bc30 [KBM Engine] Remove global usings (#10976) 2021-04-27 17:56:59 +02:00
Mykhailo Pylyp
4c6191d7c0 [KBM] fix for build error C2872 (#10970) 2021-04-27 15:19:18 +02:00
Enrico Giordani
0aee35df0c [KBM] fix build error C2079 (#10959)
* [KBM] fix build error C2079

* [KBM] one more <sstream> fix
2021-04-27 09:37:44 +02:00
Enrico Giordani
aa51f81bb8 [KBM] move interop methods to dedicated class (#10958) 2021-04-27 01:14:59 +02:00
Mykhailo Pylyp
a8c99e9513 [KBM] Migrate Engine and Editor into separate processes (#10774)
* Move KBM engine into separate process (#10672)

* [KBM] Migrate KBM UI out of the runner (#10709)

* Clean up keyboard hook handles (#10817)

* [C++ common] Unhandled exception handler (#10821)

* [KBM] Use icon in the KeyboardManagerEditor (#10845)

* [KBM] Move resources from the Common project to the Editor. (#10844)

* KBM Editor tests (#10858)

* Rename engine executable (#10868)

* clean up (#10870)

* [KBM] Changed Editor and libraries output folders (#10871)

* [KBM] New logs structure (#10872)

* Add unhandled exception handling to the editor (#10874)

* [KBM] Trace for edit keyboard window

* Logging for XamlBridge message loop

* [KBM] Added Editor and Engine to the installer (#10876)

* Fix spelling

* Interprocess communication logs, remove unnecessary windows message logs

* [KBM] Separated telemetry for the engine and editor. (#10889)

* [KBM] Editor test project (#10891)

* Versions for the engine and the editor (#10897)

* Add the editor's and the engine's executables to signing process (#10900)

* [KBM editor] Run only one instance, exit when parent process exits (#10890)

* [KBM] Force kill editor process to avoid XAML crash (#10907)

* [KBM] Force kill editor process to avoid XAML crash

* Fix event releasing

Co-authored-by: mykhailopylyp <17161067+mykhailopylyp@users.noreply.github.com>

* Make the editor dpi aware (#10908)

* [KBM] KeyboardManagerCommon refactoring (#10909)

* Do not start the process if it is already started (#10910)

* logs

* Update src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditKeyboardWindow.cpp

* Update src/modules/keyboardmanager/KeyboardManagerEditorLibrary/EditKeyboardWindow.cpp

* [KBM] Rename InitUnhandledExceptionHandler
to make it explicit that is for x64 only.
We will fix it properly when adding support for ARM64 and add a header with
the proper conditional building.

* [KBM] rename file/class/variables using camel case

* [KBM] Rename "event_locker" -> "EventLocker"

* [KBM] rename process_waiter
Add a TODO comment

* [KBM] rename methods
Add TODO comment

* [KBM] use uppercase for function names

* [KBM] use uppercase for methos, lowercase for properties

* [KBM] rename method, make methods private, formatting

* [KBM] rename private variables

* [KBM] use uppercase for function names

* [KBM] Added support to run the editor stand-alone when built in debug mode

* Update src/modules/keyboardmanager/KeyboardManagerEditor/KeyboardManagerEditor.cpp

* Check success of event creation, comment (#10947)

* [KBM] code formatting (#10951)

* [KBM] code formatting

* Update src/modules/keyboardmanager/KeyboardManagerEditorLibrary/BufferValidationHelpers.cpp

* [KBM] tracing

* [KBM] Remappings not showing fix. (#10954)

* removed mutex

* retry loop for reading

* retry on reading config once

* log error

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-04-26 21:01:38 +02:00
Seraphima Zykova
e9a0b58796 [FancyZones Editor] Fix FZ Editor crash on opening custom layout for editing (#10911) 2021-04-26 14:32:18 +01:00
csigs
b2f47b9073 LEGO: check in for master to temporary branch. (#10949) 2021-04-26 14:27:29 +02:00
Den Delimarsky
7d71e8828c Cache tweaks 2021-04-24 12:37:28 -07:00
Den Delimarsky
395309c67c Update with proper event caching 2021-04-24 11:06:13 -07:00
Den Delimarsky
798667d0e5 More thread fine-tuning. 2021-04-24 10:07:42 -07:00
Den Delimarsky
f277832188 Updating the threading model for timed keep-awake 2021-04-24 09:59:52 -07:00
Clint Rutkas
6729da3a1b https://grammarist.com/usage/up-to-date/ correcting verbage (#10914) 2021-04-23 11:49:00 -07:00
Clint Rutkas
e098581688 change in user string (#10912) 2021-04-23 10:22:50 -07:00
Den Delimarsky
5e897a546a Update minor details 2021-04-23 08:47:18 -07:00
Den Delimarsky
c0757b74e8 Cleanup the code 2021-04-23 08:11:32 -07:00
Den Delimarsky
3d35f2cb0a Merge pull request #3 from microsoft/master
Sync latest changes
2021-04-23 08:01:23 -07:00
Den Delimarsky
849c376fb8 Update settings configuration 2021-04-23 08:00:22 -07:00
Den Delimarsky
919f7bacfe Update file handling logic 2021-04-22 08:14:07 -07:00
Clint Rutkas
3f3494a3c3 Update feature_request.yml 2021-04-21 17:21:13 -07:00
Clint Rutkas
f561b25d9d Delete feature_request.md 2021-04-21 17:20:06 -07:00
Clint Rutkas
61739453c2 Update feature_request.yml 2021-04-21 17:19:40 -07:00
Clint Rutkas
75d8443e3e Update feature_request.yml 2021-04-21 17:18:44 -07:00
Clint Rutkas
94c2115bf4 Create feature_request.yml 2021-04-21 17:18:05 -07:00
Enrico Giordani
150ffe6013 [File Explorer Add-ons] remove old settings support (#10857) 2021-04-21 12:16:01 +02:00
Den Delimarsky
a0c5f8cc59 File watcher with keep-awake state binding 2021-04-20 08:31:18 -07:00
Den Delimarsky
aa46bf6076 Can currently watch the file system. 2021-04-20 07:54:03 -07:00
Den Delimarsky
c13840b114 Merge pull request #2 from microsoft/master
Update with latest changes
2021-04-20 07:28:00 -07:00
Enrico Giordani
6ec30e2186 [Image Resizer] remove old in app settings (#10837)
* [Image Resizer] Remove old settings

* [Image Resizer] Removed unused code

* [common interop] remove "ShouldNewSettingsBeUsed()"
2021-04-20 15:11:59 +02:00
Niels Laute
0e64071051 [FZ Editor] Edit dialog UX fixes (#10734)
* Updates to UI

* Handle enter key

* Focus visual fix

* Fix

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-04-20 14:56:18 +02:00
Andrey Nekrasov
9b8970fd9c [Setup] Introduce a flag to always start PowerToys after install (#10838) 2021-04-20 14:47:59 +03:00
Clint Rutkas
78943dc19b Delete documentation-issue.md 2021-04-19 20:21:27 -07:00
Clint Rutkas
7aad6d8f95 Update and rename documentation-issue1.md to documentation-issue.md 2021-04-19 20:21:00 -07:00
Clint Rutkas
7bf2114ece Rename documentation-issue.md to documentation-issue1.md 2021-04-19 20:20:42 -07:00
Clint Rutkas
3dd1487a13 Create documentation-issue.yml 2021-04-19 20:19:51 -07:00
Clint Rutkas
04e9635f66 Update bug_report.yml 2021-04-19 20:15:54 -07:00
Clint Rutkas
10b3011757 Update translation_issue.yml 2021-04-19 20:15:12 -07:00
Clint Rutkas
ac3b2bb14d Update translation_issue.yml 2021-04-19 20:14:05 -07:00
Clint Rutkas
9adbfdf270 Update translation_issue.yml 2021-04-19 20:09:14 -07:00
Clint Rutkas
bf05f97cfe Update bug_report.yml 2021-04-19 15:27:53 -07:00
Clint Rutkas
05c083bb54 Update bug_report.yml 2021-04-19 15:26:35 -07:00
Clint Rutkas
5a37991d44 Update bug_report.yml 2021-04-19 15:25:45 -07:00
csigs
34f371aeae LEGO: check in for master to temporary branch. (#10819) 2021-04-19 13:07:20 -07:00
Niels Laute
21d68c7998 [OOBE] Accessibility fixes (#10799)
* Narrator support for all Settings buttons

* Shortened welcome title

* Fixes

* Removed unused string

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

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-04-19 12:42:36 +02:00
Mykhailo Pylyp
a92c18f80c Log a warning if a plugin search takes more than 50 milliseconds (#10772) 2021-04-19 11:43:24 +03:00
Mykhailo Pylyp
6e65f9cbd5 Make delete_other_versions_log_folders more reliable (#10760) 2021-04-16 15:21:21 +03:00
Niels Laute
71cf94b330 [Image Resizer] Visual updates + NumberBox (#10596)
* Input page visual updates + NumberBox

* Update UI

* Update to NumberBoxes

* Update src/modules/imageresizer/ui/Views/InputPage.xaml

* Update src/modules/imageresizer/ui/Views/InputPage.xaml

* Formatting

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-04-16 10:15:50 +02:00
Clint Rutkas
43a73065af Update README.md 2021-04-15 18:32:12 -07:00
Clint Rutkas
e762859d1b Update README.md 2021-04-15 12:56:56 -07:00
Clint Rutkas
501d3b9a35 Update README.md 2021-04-15 12:13:59 -07:00
Clint Rutkas
9ff63b486e updating system.text.json (#10762) 2021-04-15 11:41:11 -07:00
yuyoyuppe
d4e5418f07 [Auto-update] Remove special case logic for autoupdate disabling 2021-04-15 16:17:43 +03:00
yuyoyuppe
3c3859e840 [Setup] Update WIX to require at least build 18362 2021-04-15 16:16:50 +03:00
yuyoyuppe
f3915043dd [VCM] do not cleanup settings during installation 2021-04-15 16:16:28 +03:00
Clint Rutkas
e9ce9ab87a Changing default key for FanzyZones (#10751)
* Changing default key

* Update Settings.h
2021-04-15 11:11:08 +02:00
Niels Laute
b585aef166 [OOBE] Updated GIFs (#10745)
* Updated GIFs

* Updated PowerRename image

* Update PowerRename image

* Updated imageresizer

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-04-14 11:11:55 -07:00
Clint Rutkas
b13388a138 Delete preview-monaco.md
moved to wiki
2021-04-14 10:40:24 -07:00
Aaron Junker
2f5458ab5f monaco preview specification (#10136)
* Create preview-monaco.md

* Update preview-monaco.md

* Update preview-monaco.md

* Update preview-monaco.md

* Update expect.txt

* Update preview-monaco.md

* Update preview-monaco.md

added a bit more information up front. Added in new requirement at the bottom that i think we should discuss.

* Update preview-monaco.md

Co-authored-by: Clint Rutkas <clint@rutkas.com>
2021-04-14 10:32:41 -07:00
Mykhailo Pylyp
0f89acea96 [docs] New plugin checklist (#10511)
* new plugin checklist

* Fix paths

* spellings, paths

* fix pattern

* make checklist items more specific

* Make check boxes, enforce existence of .NET 5 dependency
2021-04-14 09:12:38 -07:00
DoctorNefario
28e9f168d4 Disable forwarding the Escape event (#10697) 2021-04-13 11:16:48 +02:00
Mykhailo Pylyp
04101d23e7 Added missed dlls (#10706) 2021-04-12 19:24:42 +03:00
Clare DuVal
0a6de4561f [PowerRename] Add option for Capitalization (#10213)
* Add camelcase instances + helper translation

* Add camel case testing

* Update Helpers.cpp

* Update PowerRenameUI.cpp

* Update src/modules/powerrename/ui/PowerRenameUI.cpp

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

* Change camel case to capitalized, move ui

* Update PowerRenameManagerTests.cpp

* Update PowerRenameUI.base.rc

* Update PowerRenameUI.base.rc

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-04-09 14:24:06 +02:00
Den Delimarsky
cd647eb352 Adding the option to have timed keep-awake 2021-04-08 16:30:56 -07:00
Den Delimarsky
18f94fc0e6 Adding functionality to not sleep 2021-04-08 16:09:59 -07:00
Den Delimarsky
c141e4eec3 Update Espresso managed application with proper command line parsing 2021-04-08 15:12:09 -07:00
Den Delimarsky
a178ad7524 Settings work properly now 2021-04-08 14:00:07 -07:00
Den Delimarsky
162f7498a4 Update project so that it finally compiles. 2021-04-08 13:39:13 -07:00
Den Delimarsky
d74f2406b7 Setting compiler flag
Without this change, the project is throwing WinRT errors.
2021-04-08 10:56:20 -07:00
Den Delimarsky
afbddfc23b Updating proper references. 2021-04-08 10:47:28 -07:00
Ivan Stošić
c08be14919 Use local mutexes (#10651)
* Update file config mutex code in KeyboardManager

* Update runner instance mutex names and logic

* Update Launcher mutex

* Update a mutex in the Runner

* Restored a mutex used in the installer

* Update src/modules/launcher/PowerLauncher/App.xaml.cs

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-04-08 19:42:46 +02:00
Den Delimarsky
59b4e29be9 Cleanup of old content
The old EspressoUI project was misplaced and is no longer necessary.
2021-04-08 08:22:35 -07:00
Enrico Giordani
aa5ff65b54 [runner, color picker, run] remove os dection (#10648) 2021-04-08 16:10:05 +02:00
Mykhailo Pylyp
97fdf10cea Divide load and initialize of plugins into two stages (#10650) 2021-04-08 16:07:26 +03:00
Den Delimarsky
2afa653eff Latest round of changes
Now that I figured out why the settings were not propagated, I started working on integrating the proper modules in the stack.
2021-04-07 20:58:53 -07:00
Den Delimarsky
9cb333f7b5 Merge branch 'microsoft-master' 2021-04-07 17:13:45 -07:00
Den Delimarsky
4cec34d014 Merge branch 'master' of https://github.com/microsoft/PowerToys into microsoft-master 2021-04-07 17:12:51 -07:00
Den Delimarsky
15677cef4a Update settings 2021-04-07 17:05:45 -07:00
Den Delimarsky
0e0bae0198 Update settings configuration
There is a non-zero amount of settings that I need to set up for Espresso to work properly. This change is all about updating the view model and its binding to the UI.
2021-04-07 10:38:17 -07:00
Seraphima Zykova
55a851e5f2 [FancyZones] Place log files in subfolders with the version number. (#10549) 2021-04-07 14:43:35 +01:00
Ivan Stošić
675ae91c29 [ColorPicker] Ensure that the hotkey always works (#10542)
* Fix multiple instances running

* Make ColorPicker invokable from the runner

* Use a local mutex

* Enable running ColorPicker as standalone as well as a in PT

* Add some logging

* Remove newline

This will happen sooner or later and is not needed in the PR

* Update mutex name

* Update names

* Add logging
2021-04-07 11:59:41 +02:00
Clint Rutkas
353ca842ad Shift to detect nullable (#10627) 2021-04-07 02:54:15 -07:00
Clint Rutkas
304ba8c6bb file explorer comments (#10628) 2021-04-07 02:53:45 -07:00
Ivan Stošić
bb5d4dfbf0 Fixed an issue with zone sizes (#10609) 2021-04-07 09:30:35 +02:00
Aaron Junker
29ed73ba92 Dev/aaron junker/localisation GitHub template (#10443)
* Create translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

* Create test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Delete test.yml

* Delete translation_issue.md

* Update translation_issue.yml

* Update translation_issue.yml

* Update translation_issue.yml

Co-authored-by: Clint Rutkas <clint@rutkas.com>
2021-04-05 16:36:11 -07:00
Clint Rutkas
e36f08db3a More targetted links (#10604) 2021-04-05 12:48:02 -07:00
Clint Rutkas
fc2189fe0a Update bug_report.yml 2021-04-05 10:47:28 -07:00
Clint Rutkas
bb5deffdd4 Update bug_report.yml 2021-04-05 10:45:54 -07:00
Clint Rutkas
68e00ed208 Tweaking bug report template (#10558)
* Tweaking bug report template

Tracking #10450

* Update bug_report.yml

* Update bug_report.yml
2021-04-05 10:44:16 -07:00
Mykhailo Pylyp
1c8b7a5ae5 Do not load plugin when it is disabled (#10515) 2021-04-05 17:57:22 +03:00
Niels Laute
ed21dba8f0 Removed manual cleartype (#10568)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-04-05 16:26:24 +02:00
csigs
8e78892712 LEGO: check in for master to temporary branch. (#10588) 2021-04-05 15:23:18 +02:00
Niels Laute
38bc0bab3d [FZ Editor] Added resolution to monitor (#10567)
* Added resolution

* Added resolution

* Fontsize fix

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-04-05 11:35:33 +02:00
Enrico Giordani
927e947385 [old settings] deprecate old settings (#10548)
* [old settings] deprecate old settings

* removed old settings from the pipeline signing process
2021-04-05 11:32:48 +02:00
Niels Laute
b0465bb500 [OOBE] UX fixes (#10583)
* Updated OOBE

* String fix

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-04-05 11:15:08 +02:00
Niels Laute
0ee034a084 [OOBE] Bolded shortcuts / instructions (#10574)
* Colorpicker keys

* Key visuals added

* Added highlighted text

* Undo comment

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-04-05 10:52:44 +02:00
Enrico Giordani
fa92f2e581 [msi] remove old settings from installer (#10546) 2021-04-02 16:44:12 +02:00
Davide Giacometti
bc28a3f5e3 disable apps for shortcut guide (#10123) 2021-04-02 16:29:48 +02:00
Enrico Giordani
6561290bde [spell checker] Add expected terms (#10544) 2021-04-02 15:58:43 +02:00
ricardosantos9521
2b9ecf75b6 fix workspaces not showing in vscode plugin #10530 (#10533) 2021-04-02 15:06:14 +02:00
Chris Davis
d128939227 Show progress dialog during startup (#9255)
* Show progress dialog during startup for selection enumeration that can take a long time.

* Updated with better code organization and a timer to ensure the progress dialog does not appear in most cases.

* Update based on PR feedback

* Change progress dialog delay from 1500ms to 2500ms

* Move progress dialog invocation off the main UI thread

Co-authored-by: Chris Davis (EDGE) <chrdavis@microsoft.com>
2021-04-02 12:07:12 +02:00
Clint Rutkas
6613522e53 Readme 0.35 (#10504)
* Update README.md

* Update README.md

shifting to WinGet

* Update expect.txt

* Update README.md

* Update README.md

* Update README.md

* Update expect.txt

* Update README.md

* Update README.md

* Update expect.txt

addrum

* Update README.md

* Update README.md

* Update README.md

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

* Update README.md

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

* Update README.md

Co-authored-by: Deondre Davis <dedavis@microsoft.com>
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
2021-04-01 09:52:13 -07:00
Enrico Giordani
5de2c3dc22 [msi] add FancyZonesEditor.deps.json (#10519) 2021-03-31 21:45:23 +02:00
Mykhailo Pylyp
a91f74d648 fix glitch (#10517) 2021-03-31 21:54:10 +03:00
Ivan Stošić
9cf3b9f91d Disable forwarding the scroll event (#10513) 2021-03-31 14:54:32 +02:00
dependabot[bot]
667e38fea0 Bump y18n from 4.0.0 to 4.0.1 in /src/settings-web (#10508)
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-31 09:58:38 +02:00
Enrico Giordani
1728857ca1 [CI build] exclude WebcamReportTool from build (#10510) 2021-03-31 09:37:18 +02:00
Seraphima Zykova
38b9ce3aa2 [FZ Editor] Crash with malformed layout data fix. (#10500)
* check values on json parsing

* comments

* invalidate malformed canvas layouts

* changed error message

* simplify error message

* removed exception message
2021-03-30 20:42:10 +02:00
Clint Rutkas
fba4fd91a1 Updating nugets (#10493)
* Update System.Text.Json and Newtsoft.json

* update newtson.json

* Updating testing only items.
2021-03-30 09:52:00 -07:00
Andrey Nekrasov
ffda6a51bb [Tools] Add DShow webcam report tool (#10502) 2021-03-30 18:27:42 +03:00
csigs
49fb838175 LEGO: check in for master to temporary branch. (#10480) 2021-03-29 15:46:38 +02:00
Ivan Stošić
31fa9475da [FancyZones] Fix deadlocks in ZoneWindowDrawing (#10461)
* Fixed deadlocks in ZoneWindowDrawing

Moved all possibly reentrant or blocking calls to ShowWindow out of critical sections.

* Initialize bools

* Tune flashing visuals

* Address PR comments

* Use  = true; to initialize bools
* Remove tracing from GetAnimationAlpha
* Use member initialization when constructing AnimationInfo

* Refactor rendering

* Whitespace

* Hide window on render failure
2021-03-29 13:39:16 +02:00
Enrico Giordani
ccc380f11c [telemetry][ColorPicker] add event name support (#10476)
Allow to set a custom name for the event instead of just using the
class name.
2021-03-29 11:20:49 +02:00
Mykhailo Pylyp
9a3896f48a logs (#10462) 2021-03-26 19:17:26 +02:00
Ivan Stošić
5baf11dada Fix a vector<bool> subscript out of range crash (#10458) 2021-03-26 14:44:03 +01:00
Mykhailo Pylyp
1c46e6b72b Added more logging (#10445) 2021-03-26 14:21:29 +02:00
Clint Rutkas
ccaa98513c Update bug_report.yml 2021-03-25 13:16:57 -07:00
Andrey Nekrasov
aac479f58c [Log] Remove log_settings.json during installation and set default level to trace (#10438) 2021-03-25 17:28:29 +03:00
Mykhailo Pylyp
718289c115 Settings telemetry for ColorPicker (#10417) 2021-03-25 16:04:56 +02:00
Seraphima Zykova
13c4c188fa [FancyZones Editor] Quick layout switch hotkeys (#10437)
Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2021-03-25 15:44:55 +03:00
Mykhailo Pylyp
7ba03ed24f Add telemetry to ColorPicker (#10413) 2021-03-25 13:11:36 +02:00
Andrey Nekrasov
6229ea4559 [Runner] verify the existence of Launcher assets (#10416) 2021-03-25 12:26:11 +03:00
Seraphima Zykova
fd55026fba [ColorPicker] Order colors with up/down buttons. (#10392) 2021-03-24 19:36:25 +03:00
Clint Rutkas
3ae5135f67 GitHub issue template (#10401)
* Create bug_report.yml

adding in yml version for bug report

* Update bug_report.yml

* Update bug_report.yml

* Delete bug_report.md

* Update .github/ISSUE_TEMPLATE/bug_report.yml

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

* Update .github/ISSUE_TEMPLATE/bug_report.yml

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

* Update .github/ISSUE_TEMPLATE/bug_report.yml

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

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
2021-03-24 09:03:30 -07:00
Den Delimarsky
ee932450df Update to settings logic.
Also making sure that the proper headers are set, and that all extraneous content is removed where not necessary. This should get the foundation going for the initial set of settings, and enables me to connect the view model to the settings UI.
2021-03-24 08:10:37 -07:00
Den Delimarsky
32984dc126 Add property storage capabilities 2021-03-24 07:42:15 -07:00
Mykhailo Pylyp
aba97a419c Don't update view if settings were not changed (#10407) 2021-03-24 16:13:33 +02:00
Andrey Nekrasov
3601492ce1 [PowerLauncher] Immediately releases AppxManifest stream objects (#10394) 2021-03-23 18:32:33 +03:00
Den Delimarsky
2304eff3ca Fiddling with settings to make sure I can connect them to the app 2021-03-23 08:11:49 -07:00
ricardosantos9521
55cfaaf929 add tooltips to vscode workspaces plugin (#10348) 2021-03-23 10:32:55 +01:00
Mykhailo Pylyp
730e5f299f fix null reference exception (#10372) 2021-03-22 17:47:23 +02:00
csigs
2698585018 LEGO: check in for master to temporary branch. (#10374) 2021-03-22 16:45:56 +01:00
Mykhailo Pylyp
acbabbe13d Color picker logs path (#10375) 2021-03-22 17:23:39 +02:00
Ben Constable
77d67f3599 [Color Picker] Use escape key to exit colour editor UI (#10325)
* Use escape key to exit color editor UI

* Logic handling formatting
2021-03-22 10:15:47 +01:00
Mykhailo Pylyp
612e9f8b99 Settings telemetry for PT Run (#10328) 2021-03-19 19:03:12 +02:00
Andrey Nekrasov
057e92afb8 [Old Settings] Warn the user on Windows < 1903 that next version won't be supported (#10313) 2021-03-19 12:39:18 +03:00
Mykhailo Pylyp
3a15276668 "Clear the previous query on launch" has a flicker (#10291) 2021-03-18 20:04:04 +02:00
Mykhailo Pylyp
5e9a31eaa7 fix versions for registry and vscode workspaces plugins (#10314) 2021-03-18 18:19:09 +02:00
Enrico Giordani
69d293790a [msi] add version number in telemetry events (#10312) 2021-03-18 16:55:01 +01:00
Andrey Nekrasov
7c28459673 [Settings] Fix HTML settings build (#10307) 2021-03-18 17:14:37 +03:00
Enrico Giordani
fa5ce634e1 [msi] enable telemetry on build farm (#10309) 2021-03-18 14:24:48 +01:00
Clint Rutkas
cc38d42bf9 Adjustments for editor to make langauge more clear for how to interact with editor. (#10298) 2021-03-17 15:45:12 -07:00
Josh Soref
72d92413a2 Upgrade check-spelling to 0.0.17-alpha (#10173)
* spelling: snapped

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: split

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* ci: update to Spell check to 0.0.17a

In the past, plurals `foo`+`s` and past tenses `foo`+`ed` were
automatically tolerated. This turned out to be a bad design choice on my
part.

The basic example is that `potatos` would sometimes be treated as a
mistake and sometimes not (depending on the presence of `potato`).

You can see in this PR, that this logic resulted in `SNAPED` being
accepted as a word along with `actioned` -- there's nothing
intrinsically wrong w/ the latter, but unfortunately in order to screen
out the former, my shortcut just couldn't stick around. This means that
the `expect` files will grow perhaps by a tiny bit, but as
you can see, not really by much.

When GitHub initially introduced GitHub Actions, the event for
`pull_request` was created without enough permission for a tool like
this to work properly. I worked around that by using the `schedule`
event. In 2020, they introduced a replacement event
`pull_request_target` which has enough permission. This means that I can
stop relying on the `schedule` event.
2021-03-17 19:27:30 +01:00
Andrey Nekrasov
535cd1f9ac [Auto-update] Turn off on Windows < 1903 (#10240) 2021-03-17 16:49:07 +03:00
Andrey Nekrasov
7c8ed9e2bb [MSI installer] fix WIX build warnings (#10241) 2021-03-17 12:16:47 +03:00
Clint Rutkas
013be4bbb8 adding vsconfig to main solution (#10169)
* adding vsconfig

* Update readme.md

Tweaking instructions to remove script

* docs tweak

docs tweak

* Update .vsconfig

My machine was in a weird state because of this

Co-authored-by: Deondre Davis <dedavis@microsoft.com>
2021-03-16 14:28:55 -07:00
Andrey Nekrasov
81c19b4749 [MSI] Do not use advertised icon (#10246) 2021-03-16 19:40:57 +03:00
Mykhailo Pylyp
1d2aeaf147 Tests on pipeline (#10244) 2021-03-16 17:29:20 +02:00
Niels Laute
0413fe944f Updated accent color (#10257)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-03-16 15:32:43 +01:00
Niels Laute
79eafee59a [Docs] Remove unused images (#10251)
* Removed images

* Added aka.ms redirect

* Revert "Added aka.ms redirect"

This reverts commit f176d6ffa5.

* Added image and updated readme

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-03-16 15:18:27 +01:00
Niels Laute
6e14e86e4b [ColorPicker] UX fixes (#10220)
* Added tooltip

* Added edit icon

* NumberBoxes

* [spelling] add terms

* Update ColorPickerControl.xaml

* use variable to reduce casting

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-03-15 21:32:54 +01:00
csigs
885c7c4e50 LEGO: check in for master to temporary branch. (#10252) 2021-03-15 18:49:55 +01:00
Ivan Stošić
7377ef5606 [FancyZones] Trace various function calls (#10183)
* Implement CallTracer

* Add CallTracer to various places

* Newline

* Fix unit tests not compiling for some reason

* Add macro
remove some trace calls

* Add indentation

* Add semicolon

* Update src/modules/fancyzones/lib/CallTracer.cpp

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

* Actually indent/unindent output

* Fix initial indent level

Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-03-15 13:58:25 +01:00
Mykhailo Pylyp
9a061d74b3 Update PowerToys Run page on settings.json change (#10204) 2021-03-15 14:52:03 +02:00
Andrey Nekrasov
d872be4310 [Updating] Install dotnet 3.1.13 and bump min required version (#10180) 2021-03-11 14:43:26 +03:00
Ivan Stošić
acb8595a50 [FancyZones] Fix taskbar size issues (#9856)
* Fix taskbar size issues

* Fix issue with DPI unaware apps
2021-03-11 12:31:29 +01:00
Ivan Stošić
488ee19f93 [FancyZones editor] Fix CanvasRect not being initialized (#10163)
* Fix CanvasRect not being initialized

* No need to use workArea height if it's set in CanvasLayoutModel
2021-03-11 10:50:53 +01:00
Den Delimarsky
b4b4b3f95f Fix icon 2021-03-10 08:30:02 -08:00
Den Delimarsky
1840cc9b62 Getting the settings UI to show Espresso. 2021-03-10 08:16:34 -08:00
Ivan Stošić
72da703f0e [FancyZones] Use a window pool for zone windows (#9625)
* Implemented and tested WindowPool

* Added mutex

* Add logs to WindowPool

* Fix a potential thread safety bug
2021-03-10 14:50:40 +01:00
Ivan Stošić
e586a7ad64 [FancyZones] Rework grid editor (#10116)
* Started rewriting

* Making progress

* Fix resizers not moving around

* Implemented splitting, fixed some bugs

* Removed more code, renamed methods

* Merging zones works

* Fix Shift key behavior

* Added spacing (has bugs)

* Implement minimum size restriction

* Match preview and editor visuals

* Snapping works

* Show when splitting is not possible

* Fix spell checker complaining

* Tweak FZ Lib function computing grid zones

* Fix potential crash when loading old zone layouts

* Fix dead objects talking

* Fix splitters being shown when they shouldn't be

* Fix index numbering

* Fix small glitch with the shift key

* Do not snap to borders outside the zone
2021-03-10 13:22:19 +01:00
Enrico Giordani
9a2c195f5f [chore] cleanup 'using' statements (#10144)
fix typo in comment
2021-03-10 13:16:46 +01:00
Mykhailo Pylyp
b9397157ab initialize logger (#10152) 2021-03-10 13:57:06 +02:00
Enrico Giordani
2e3473bbfd [FZ Editor] Light & Dark colors adjustments (#10115)
* [FZ Editor] Light & Dark colors adjustments

* Reduce dark theme background transparency
2021-03-09 19:39:01 +01:00
Adam Short
5c45f2c7b8 [PT Run] Run dialog now has monitor positioning options (#9492)
* Run dialog now has monitor positioning options

* add monitor index validation in window position calculation

* correct path in page

* change how radio buttons are declared to resolve them not being set based on setting

* Change "follow mouse" wording

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

* PowerLauncher -> PowerToysRun for new variables/resources

* correct header label id and update wording to PowerToys Run

* only enable custom index if BOTH custom position radio checked and Run is enabled

* retrieve list count of detected monitors to limit selection of MonitorToDisplayOn

* add a link to Windows Display settings

* fix display settings link

* change how we get the number of connected monitors so we're not relying on presentation core, windowsbase etc which seem to fail the build

* combine position and appearance headers

* change references for custom position to "focus"

* restore accidentally removed files

* remove unused directives

* hook up "active window" position with the launcher window

* remove left overs

* remove uneeded itemgroup

* make resource prefixes consistent; using "Run_"

* add etcoreapp to spell check

* undo change to file not modified in the end

* remove unused checkbox post rebase

* remove change to reduce diff size

* changes according to review

* revert whitespace changes post rebase

* revert resources

* add changes back

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

Add comment

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

* remove unneeded resource string

Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-03-09 18:20:49 +01:00
Mykhailo Pylyp
964286ab99 Makes AllPlugins single tone thread safe (#10121) 2021-03-09 18:31:30 +02:00
Den Delimarsky
d9a29e1da5 Initial changes to enable Espresso 2021-03-09 08:13:52 -08:00
csigs
38eb6ad062 LEGO: check in for master to temporary branch. (#10125) 2021-03-09 10:06:21 +01:00
Mykhailo Pylyp
34882073c9 change directory name to the name used in build farm (#10117) 2021-03-08 18:03:50 +01:00
Mykhailo Pylyp
c36b202fe7 VSCode to full name, disable Visual Studio Code plugin by default (#10071) 2021-03-08 13:57:32 +02:00
Niels Laute
5214df42a6 FZ disabled fix (#10100)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-03-08 12:34:31 +01:00
Mykhailo Pylyp
0c3f8af4d9 update plugins settings with changes (#10064) 2021-03-05 15:43:08 +02:00
Mykhailo Pylyp
e66db5cc10 fix path to resources.resx file (#10059) 2021-03-05 14:51:44 +02:00
Niels Laute
f09b3e2dae [Run] Add Fluent icon for PT Run (#9962)
* Add run ico

* Updated ico

* Add icon as resource and also as asset

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-03-05 12:01:36 +01:00
Seraphima Zykova
11c622afca PowerToys Settings and OOBE title localization (#10054) 2021-03-05 13:51:34 +03:00
Enrico Giordani
22429b2407 [chore] remove unused functions (#10051) 2021-03-05 11:48:19 +01:00
Enrico Giordani
026630df74 [chore] remove reference to non existant file (#10029) 2021-03-04 20:31:51 +01:00
Enrico Giordani
4ce0c91ea7 [chore] remove unused telemetry events (#10030) 2021-03-04 20:31:23 +01:00
Seraphima Zykova
0dfc9b540f [PT Settings] Rename the OOBE opening button and 'File Explorer' section (#10023) 2021-03-04 21:33:14 +03:00
Clint Rutkas
28bbc8089e Readme 0.33 (#9979)
* Update README.md

* Update README.md

* Update README.md

* Update expect.txt

* Update README.md

adding in HTC and jay for helping out a ton as well, gotta figure out a better way to scan on top of just who opened something

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-03-04 09:31:05 -08:00
ricardosantos9521
7e5fb876bb [Run][New Plugin] VSCode Workspaces/Remote machines (#9050)
* vscode workspaces plugin for Powertoys Run

* reduce score

* make vscode workspaces dynamic instead of string to prevent exceptions

* change icons again

* remove unused images and PreserveNewest during build

* code refactoring

* show vscode ssh remote machines

* update score workspaces

* vscode workspaces plugin for Powertoys Run

* remove unused images and PreserveNewest during build

* code refactoring

* remove unused packages

* get ExecutablePath from AppData and use shell to vscode process

* ' instead of \"

* try using ((char)34) instead of '

* add comments

* translate windows paths

* remove unused code

* add vscodeworkspace to installer

* use the new naming convention for plugins

* sign VSCodeWorkspaces.dll

* reimplement ssh-config parser

* update spell-check

* use the new naming convention for community plugins

* minor adjustments

* add actionKeyword {

* prevent copyright

* add localization

* add github link

* bug fix after localization

* --new-window --enable-proposed-api ms-vscode-remote.remote-ssh

* change order by

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/Properties/Resources.Designer.cs

* Update src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.VSCodeWorkspaces/Properties/Resources.resx

* Update src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.VSCodeWorkspaces/Properties/Resources.resx

* Update src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.VSCodeWorkspaces/Properties/Resources.resx

* Update src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.VSCodeWorkspaces/Properties/Resources.resx

* Update src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.VSCodeWorkspaces/Properties/Resources.resx

* fix powertoys run settings not working

* update plugin description

Co-authored-by: ricar <ricar@ASUS>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-03-04 18:15:49 +01:00
Sean Lin
f648ac44b2 Save raw command instead of resolved command in shell history (#10000) 2021-03-04 18:04:31 +01:00
Enrico Giordani
8f3e0517ca [Settings, OOBE] set location to center screen (#10022)
and ensure the window is inside the screen work area
2021-03-04 17:58:01 +01:00
Enrico Giordani
f7e2fa5263 [FZ Editor] hide tool windows from alt-tab (#10011) 2021-03-04 13:49:29 +01:00
Seraphima Zykova
b5ca691e69 [OOBE] Changed modules order (#10020) 2021-03-04 15:33:50 +03:00
Enrico Giordani
283d0a352e [OOBE] add PT hero image (#10016)
* [OOBE] add PT hero image

* spell checker
2021-03-03 22:48:36 +01:00
Clint Rutkas
0446c27df1 making the image not be based on a URL but on actual local image for instant loading (#10014) 2021-03-03 21:44:49 +01:00
Seraphima Zykova
de7f8c4a3a [PT Settings] Crash on restart with OOBE window opened fix (#10005) 2021-03-03 14:03:37 +03:00
Andrey Nekrasov
571e7f2c2c [ShortcutGuide] make SCG launching behavior a bit more deterministic (#10007) 2021-03-03 13:53:41 +03:00
Niels Laute
a2fcc14e8b Updated assets and margins (#9998)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-03-02 16:24:05 -08:00
Seraphima Zykova
078aa3d89b [OOBE] Out of box experience window (#9973) 2021-03-02 20:56:37 +03:00
Clint Rutkas
a12350274b Goign t from OOBE to this, this Additional Options was null and crashed. (#9975) 2021-03-02 08:04:08 -08:00
csigs
b9ee317ab9 LEGO: check in for master to temporary branch. (#9965) 2021-03-01 14:59:05 +01:00
Niels Laute
bb228c73ab [Settings] UI fixes (#9949)
* Adding period to warnings

* Increased font size to default

* Fixes

* PowerLauncher display setting fix

* Added the correct brush

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-03-01 14:56:30 +01:00
Mykhailo Pylyp
4a9e920a1c [PowerToys Run] Plugin manager (#9872) 2021-02-26 13:21:58 +02:00
Ivan Stošić
f839a408de [FancyZones] Overlapping zones selection algorithm - settings (#9874)
* Started work

* Removed bools in favor of an enum, renamed some

* Done something but it still doesn't work

* Settings are now correctly saved

* I'm getting a crash, I need to rebuild from scratch

* Settings page looks alright

* Completed work. Unit tests?

* Use ComboBox instead

* Add telemetry

* Update text
2021-02-25 16:23:05 +01:00
Clint Rutkas
889360b5e4 Update README.md 2021-02-24 14:29:52 -08:00
Davide Giacometti
571bceb386 common helper for execute shell process from run plugins (#9538) 2021-02-23 09:53:08 +01:00
Enrico Giordani
20a922ce21 [KBM] Rewording for completion dialog warning (#9851) 2021-02-23 09:38:41 +01:00
Enrico Giordani
060fff6d2f [FZ Editor] Update description for 'merge zones' (#9850) 2021-02-23 09:37:55 +01:00
Clint Rutkas
e27d892d74 remove highlight keyword (#9845) 2021-02-23 06:15:04 +01:00
Drakula44
2b0e32916d Svg image preview is displayed unscaled and uncentered (#8996)
* Fixed screen centering and scaling problem with SVG files

* Little shorter code.

* Improved exception caching

* typo

* fixed upscaling problem

* add CSS that IE6 can support it

* typo

* adding in spelling

Co-authored-by: Clint Rutkas <clint@rutkas.com>
2021-02-22 09:35:41 -08:00
csigs
a786fd308a LEGO: check in for master to temporary branch. (#9835) 2021-02-22 18:20:25 +01:00
Niels Laute
ed25ae64e5 [FZ Editor] Updated (preview) zone colors (#9799)
* Updated colors

* Updated border colors

* Updated borderbrush

* Updated background colors

* Added DropShadow
2021-02-22 10:50:33 +01:00
Niels Laute
072638ab73 [Docs] Adding file explorer preview icon to docs (#9812)
* Added FEP icon

* Removed image

* Added new image
2021-02-21 00:11:05 +01:00
Aaron Junker
6580eb4bef Updated link for .calng-format (#9816) 2021-02-21 00:09:02 +01:00
Davide Giacometti
ff4a78a7f9 PT Run Service notification improvements (#9772) 2021-02-19 18:17:52 +01:00
Niels Laute
a29b3aa500 [FZ editor] UX update for edit dialog (#9709)
* Layout title label fix

* Updated formatting for resolution textlabel

* Updated UX

* Added tooltip to layout title textblock

* Updated icon button styles

* Moved buttons around

* Updated margin

* Updated strings

* Revert "Updated strings"

This reverts commit cc4e1764b7.

* [spell checker] add terms

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-02-19 14:17:13 +01:00
Niels Laute
5dae51e12e Adding icons (#9785)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-02-19 14:12:35 +01:00
Seraphima Zykova
7fcf2bbdb3 [Settings] Settings window arguments revision (#9760) 2021-02-18 16:11:57 +03:00
csigs
7f15755edc LEGO: check in for master to temporary branch. (#9773) 2021-02-18 12:46:20 +01:00
csigs
bb1681e40c LEGO: check in for master to temporary branch. (#9751) 2021-02-18 12:45:47 +01:00
Andrey Nekrasov
5e75c0fc6e [Bootstrapper] improve logging (#9765) 2021-02-18 09:54:24 +03:00
Ivan Stošić
ee45c39d65 Fix Runner stealing shortcuts on older Win10 (#9744) 2021-02-17 11:36:39 +01:00
csigs
666b4e5964 LEGO: check in for master to temporary branch. (#9701) 2021-02-16 20:07:53 +01:00
Niels Laute
df5f5ba1b5 [Run] Fix context menu (#9712)
* Added modern context menu

* Context menu fix

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-02-15 20:27:39 +01:00
csigs
2d39bb8cd2 LEGO: check in for master to temporary branch. (#9697) 2021-02-13 09:43:23 +01:00
csigs
d740ac57c7 LEGO: Pull request from lego/hb_a13bbffa-1136-4930-9ebe-33895240f846_20210212115256196 to master (#9682)
* LEGO: check in for master to temporary branch.

* [spell checker] add new terms

Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-02-12 22:48:15 +01:00
csigs
204beaca11 LEGO: Pull request from lego/hb_a13bbffa-1136-4930-9ebe-33895240f846_20210211235251698 to master (#9666)
* LEGO: check in for master to temporary branch.

* [spell checker] add new terms

Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-02-12 18:38:11 +01:00
Enrico Giordani
8fcb9e2b63 [bootstrapper] change newer version detected action (#9679)
* [bootstrapper] change new version detected action
when a new version is detected, don't run the new version MSI
instead show an error dialog and exit
improve the error dialog logic
add more logging

* [spell checker] add new terms
2021-02-12 16:56:15 +01:00
Ivan Stošić
419a143bf2 [Installer] Remove NGen step for ImageResizer (#9651)
* Removed NGen step in installer for ImageResizer

* Removed unused extension
2021-02-12 13:59:29 +01:00
Mykhailo Pylyp
916ff4a3ad documented changes to PT Run (#9683) 2021-02-12 14:49:54 +02:00
Seraphima Zykova
15dab02e75 [PT Settings] Rename "Microsoft.PowerToys.Setting.UI.Runner" to "PowerToys.Settings" (#9637) 2021-02-11 19:29:56 +03:00
Enrico Giordani
687b281b47 [bootstrapper] progress bar UI polishing (#9644)
* Formatting, coding style, variable & function name

* Progress dialog: label position and background
2021-02-11 17:18:19 +01:00
Enrico Giordani
d190e33313 [msi] PowerToysSetupCustomActions intermediate dir (#9641) 2021-02-11 17:12:31 +01:00
Davide Giacometti
3715b8c5f2 [Runner] Open settings when restarted as admin (#9463)
* open settings from runner

* Update src/runner/main.cpp

* Update src/runner/main.cpp

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-02-10 14:48:43 +01:00
Mykhailo Pylyp
d92ff6d45d tweak plugin settings (#9522) 2021-02-10 15:12:42 +02:00
Davide Giacometti
ec6b9acad9 [FanzyZones] Common ThemeManager (#9576)
* common ThemeManager in FancyZones editor

* fix high contrast theme
2021-02-10 14:10:42 +01:00
Davide Giacometti
d2902440d2 PT Run tile as user home (#9579) 2021-02-10 14:02:29 +01:00
Niels Laute
6793f74b3b Updated FZ images for docs (#9593)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-02-10 13:50:05 +01:00
Niels Laute
34e2a86f1a Updated FZ image (#9596)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-02-10 09:58:52 +01:00
Clint Rutkas
068027e23b Update pipeline.user.windows.yml (#9616) 2021-02-10 00:55:37 -08:00
csigs
c20f501175 LEGO: check in for master to temporary branch. (#9611) 2021-02-10 09:35:41 +01:00
Ivan Stošić
c8f0492353 [PT Run] Improve logs (#9518)
* Improved some aspects, more work left

* Fix Log being called instead of building a string

* Address PR comments

* Okay, spell checker
2021-02-09 14:54:39 +01:00
csigs
9c6dfd493c LEGO: check in for master to temporary branch. (#9594) 2021-02-09 13:20:02 +01:00
Seraphima Zykova
21abb6fd09 [PT Settings] Opening windows color settings from inside PT (#9589) 2021-02-09 14:11:51 +03:00
Devagya Awasthi
6213e0a116 Update runner.md (#9586)
remove broken link, general_settings.cpp already defined on line 22
2021-02-09 10:39:59 +01:00
csigs
006ba60071 LEGO: check in for master to temporary branch. (#9581) 2021-02-09 10:32:19 +01:00
csigs
531a502c53 LEGO: check in for master to temporary branch. (#9562) 2021-02-09 10:31:43 +01:00
Ivan Stošić
47e288da4c [FancyZones] Improve zone selection (#9447)
* Improve zone selection algorithm

* Thanks, spell checker

* Fix failing test case

* Add error logging

* Added support for different zone selection algorithms

* Revert "Fix failing test case"

This reverts commit 9f31a8a7e6.
2021-02-08 10:48:11 +01:00
csigs
1899d017dc LEGO: check in for master to temporary branch. (#9555) 2021-02-08 09:40:55 +01:00
csigs
1be227b07b LEGO: check in for master to temporary branch. (#9546) 2021-02-08 09:40:07 +01:00
csigs
4195fa481b LEGO: check in for master to temporary branch. (#9542) 2021-02-07 10:41:45 +01:00
csigs
2e3345d2ce LEGO: check in for master to temporary branch. (#9528) 2021-02-07 10:40:50 +01:00
Clint Rutkas
8f14226ab4 Update README.md
tweaking installer version
2021-02-05 09:32:19 -08:00
Enrico Giordani
77d84982c2 [FanzyZones] app history and zone settings granular saving (#9489) (#9494)
move DeleteFancyZonesRegistryData to proper place
add logging
2021-02-04 21:02:24 +01:00
Enrico Giordani
e0e53fcf69 [FZ Editor][loc] remove duplicated id(s) (#9498) 2021-02-04 20:32:01 +01:00
Clint Rutkas
fffb26f558 small tweak but helps boost build time locally. https://github.com/mrlacey/DontCopyAlways/blob/main/explanation.md (#9475) 2021-02-04 04:18:50 -08:00
Clint Rutkas
2b449e0850 Consolidate nuget packages (#9458)
* TestFramework to 2.1.2

* TestAdapter to 2.1.2

* ModernUI to 0.9.3 which is used by FancyZones
2021-02-04 04:18:24 -08:00
Clint Rutkas
2caee2a0dc Update README.md 2021-02-03 13:32:14 -08:00
Deondre Davis
75116b43b4 Moving OOBE to wiki (#9459) 2021-02-03 11:08:16 -08:00
Deondre Davis
f0e887ca33 Adding OOBE Dialog spec for review (#9225)
* Adding OOBE Dialog spec for review

* Typo

* Update OOBE-Dialog.md

* Updating OOBE spec

* Update OOBE-Dialog.md

* Update expect.txt

* Update OOBE spec

* Update OOBE-Dialog.md

Co-authored-by: Clint Rutkas <clint@rutkas.com>
2021-02-03 10:22:58 -08:00
Seraphima Zykova
c7b6e51eba [FZ Editor] Show zone size below the zone index (#9449) 2021-02-03 20:15:16 +03:00
Seraphima Zykova
4bba8bc173 [FZEditor] Create new custom layout with one zone by default (#9440) 2021-02-03 15:56:08 +03:00
csigs
f4f12b7dcb LEGO: check in for master to temporary branch. (#9424) 2021-02-03 12:20:48 +01:00
Seraphima Zykova
32d164a786 [FZ Settings] replaced checkbox with radiobuttons (#9438) 2021-02-03 14:12:53 +03:00
Clint Rutkas
4cffc825c8 0.31 release notes (#9306)
* Update README.md

* Update expect.txt

* Update README.md

* adding EOF

adding EOF

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Apply suggestions from code review

Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
Co-authored-by: Deondre Davis <dedavis@microsoft.com>

* Apply suggestions from code review

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

* Update README.md

* Update README.md

Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
Co-authored-by: Deondre Davis <dedavis@microsoft.com>
2021-02-02 09:40:01 -08:00
Mykhailo Pylyp
700e1a1c6f Deleted unused resources (#9392) 2021-02-02 17:20:28 +02:00
csigs
3f6bc35ec6 LEGO: check in for master to temporary branch. (#9411) 2021-02-02 13:35:36 +01:00
Seraphima Zykova
e4963d65ff [FZ Editor] Editor window size overflow (#9389) 2021-02-02 11:16:03 +03:00
Seraphima Zykova
612f3e20ac [FZ Editor] Update the small layout preview after canceling zone editing. (#9391) 2021-02-02 11:15:05 +03:00
Enrico Giordani
f309f48ae2 LEGO: check in for master to temporary branch. (#9401) (#9405)
Co-authored-by: csigs <csigs@users.noreply.github.com>
2021-02-02 08:54:43 +01:00
csigs
d5764fd387 LEGO: check in for master to temporary branch. (#9374) 2021-02-02 08:20:06 +01:00
Enrico Giordani
6fe36c9d1c Revert "LEGO: check in for master to temporary branch. (#9401)" (#9402)
This reverts commit 245bd302d7.
2021-02-02 08:18:55 +01:00
csigs
245bd302d7 LEGO: check in for master to temporary branch. (#9401) 2021-02-02 06:38:30 +01:00
Enrico Giordani
3d35aed95b [FZ Editor] Hack to workaround crash (#9398) 2021-02-01 20:54:29 +01:00
Andrey Nekrasov
8556ccb810 [Setup] require dotnet >= 3.1.11 (#9386) 2021-02-01 15:05:13 +03:00
csigs
0273fbffb9 LEGO: check in for master to temporary branch. (#9384) 2021-01-31 14:09:59 +01:00
csigs
6d0677f84f LEGO: check in for master to temporary branch. (#9370) 2021-01-30 07:36:46 +01:00
Clint Rutkas
8f22c142b7 Update readme.md (#9369)
Removing current modules, heavily out of date
2021-01-29 11:32:54 -08:00
csigs
a56141e0e8 LEGO: check in for master to temporary branch. (#9367) 2021-01-29 14:10:44 +01:00
Seraphima Zykova
53c239f052 [FZ Editor] Limit zones number for custom layouts. (#9364)
* disable add zone button

* unify zone adding
2021-01-29 15:10:37 +03:00
csigs
b38da96933 LEGO: check in for master to temporary branch. (#9362) 2021-01-29 05:53:55 +01:00
Clint Rutkas
067ea274bd removing plugin spec (#9358) 2021-01-28 16:15:55 -08:00
csigs
ffa660832f LEGO: check in for master to temporary branch. (#9350) 2021-01-28 15:23:32 +01:00
csigs
399812b40e LEGO: check in for master to temporary branch. (#9349) 2021-01-28 13:19:25 +01:00
csigs
f109a6e544 LEGO: check in for master to temporary branch. (#9340) 2021-01-28 13:17:48 +01:00
Clint Rutkas
6c149b47a3 Fix installer pipeline (#9342)
* Update pipeline.user.windows.yml

* Update pipeline.user.windows.yml

* Update pipeline.user.windows.yml

* Update pipeline.user.windows.yml

* Update pipeline.user.windows.yml

* Update expect.txt
2021-01-27 17:02:34 -08:00
Seraphima Zykova
646d61bd4d [FancyZones Editor] New UX for the FZ editor. (#9325)
* Removed MetroWindow, added theming support and modernWPF

* Rmoved MahApps refs

* Removed MahApps

* Updated canvas zones

* Updated GridEditor

* Fixes

* UI updates

* New layout type selection dialog

* New editor UI

* Updates

* Fix

* UI enhancements

* Updated UI

* Added styles to layoutpreview

* Accesibility improvements

* Accesibility and styling improvements

* Fix

* Cleaned up brushes

* Updated UX

* Updated UI

* Added no layouts description

* Fix

* UI fixes

* [FZ Editor] Serialize/deserialize settings (#8615)

* conflicts fix

* [FZ Editor] Parse json file instead of command line args (#8649)

* [FZ Editor] Serialize/deserialize settings fix (#8707)

* [FZ Editor] Hide unsupported settings in custom layouts flyouts (#8716)

* [FZ Editor] Duplicate custom layouts (#8718)

* [FZ Editor] Duplicate layout behavior (#8720)

* New UX proposal

* Updated spacing

* Switching to toggleswitches

* Revert toggleswitch

* Updated colorbrush

* Updated string for saving label

* Updated UI

* Dark theme color fixes

* Removed space

* [FZ Editor] Bind dialog properties (#9199)

* Resize editor window to fit the content in single-monitor mode (#9203)

* Editor opening fix (#9207)

* Disable "Create" button if the Name textbox is empty (#9212)

* [FZ Editor] Changed edit dialog for template layouts. (#9233)

* [FZ Editor] Small fixes and refactoring. (#9236)

* new layout creation refactoring
* "Save and apply" applies the layout
* number of zones header hide

* [FZ Editor] Empty layout template. (#9237)

* [FZ Editor] Move "Duplicate" and "Delete" buttons to the Edit dialog. (#9272)

* [FZ Editor] Preview the applied layout after editing another layout. (#9278)

* Fixed "Save and apply" button behavior (#9286)

* [FZ Editor] Save template layouts in the settings. (#9283)

* Added default custom layout name (#9291)

* close dialog before opening zones editor (#9302)

* Pressing Esc closes dialogs (#9301)

* [FZ Editor] Reset applied layout to "No layout" if it was deleted. (#9315)

* [FZ Editor] Dark theme colors (#9317)

* "Number of zones" buttons colors. (#9321)

* rebase fix

* added ModernWpf.dll

* address PR comments: updated colors

* added comments, replaced magic numbers

* refactoring

* merge zones crash fix

* removed redundant using directive

Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Niels Laute <niels.laute@live.nl>
2021-01-27 19:33:52 +01:00
csigs
eb15cdde1b LEGO: check in for master to temporary branch. (#9319) 2021-01-27 13:16:18 +01:00
Andrey Nekrasov
661a4adac6 [Setup] install dotnet 3.1.11 (#9312) 2021-01-27 13:17:49 +03:00
csigs
da4e74ba2a LEGO: check in for master to temporary branch. (#9308) 2021-01-27 09:16:31 +01:00
csigs
cbf529bff2 LEGO: check in for master to temporary branch. (#9299) 2021-01-26 13:39:56 +01:00
Enrico Giordani
74f831fb2e [build] add configuration to localize new plugins (#9295) 2021-01-26 11:37:24 +01:00
Niels Laute
2e961d1d70 Colorpicker fixes (#9277)
Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-01-25 14:21:49 +01:00
csigs
5713230c6d LEGO: check in for master to temporary branch. (#9275) 2021-01-25 14:17:29 +01:00
Pavel Zwerschke
be02ee1a25 [Run][Calculator Plugin] Add number formatting for different Locales (#9074)
* Add number formatting for different locales

* Remove conversionRequired check

* Add NumberTranslatorTests
2021-01-25 10:51:32 +01:00
Clint Rutkas
a24ea2f3be PT run plugin spec (#9121)
* first pass for plugin spec

* adding image

* adding in spelling

* fix image

* adjusted based on feedback from enrico

* fix spelling mistake

* tweaked telem, updated screenshot and added desc

* adjusted based on feedback.  removing weighting from a v1

* adding in author
2021-01-22 13:15:04 -08:00
Mykhailo Pylyp
016656f5e7 init launcher start shortcut with default if it does not exsist in th… (#9231) 2021-01-22 18:13:57 +02:00
Niels Laute
2b42fb8a38 [Settings] ColorPicker spacing issue (#9215)
* Added additional text header

* Margin fix

* Margin fix

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-01-22 15:03:16 +01:00
Davide Giacometti
eed89eff45 improved shortcuts for service plugin (#9220) 2021-01-22 15:02:20 +01:00
Davide Giacometti
c8e43cb77d PT Run Service resources (#9222) 2021-01-22 15:00:50 +01:00
Ivan Stošić
bdd9452465 Add Registry plugin to installer (#9211) 2021-01-21 17:02:40 +01:00
Ivan Stošić
0b12798922 Bug report tool for registry (#9213)
* wip

* Improved registry bug reporting

* Don't use macros

* Ignore spelling of NLSTEXT in macro

* Various improvements

* Move functions to separate files
* Rename result file to registry-report-info.txt
* Rename a poorly named function in ReportMonitorInfo.cpp
* Restrict scope of symbols in these .cpp files

Co-authored-by: Davide <davide.giacometti@outlook.it>
2021-01-21 17:01:28 +01:00
Enrico Giordani
b74afd3a80 Fix "Converting null literal.." warning (#9205) 2021-01-21 11:02:18 +01:00
Enrico Giordani
a1910b4914 [Calculator Plugin] fix localization (#9200) 2021-01-21 09:57:41 +01:00
Andrey Nekrasov
da6fc54d1c [runner] bug report could be created from tray (#9191) 2021-01-21 11:55:58 +03:00
csigs
a0faf4c8d1 LEGO: check in for master to temporary branch. (#9196) 2021-01-21 08:57:37 +01:00
Clint Rutkas
1c80b49990 Update NOTICE.md (#9193)
This was removed in #4878
2021-01-20 12:16:10 -08:00
Clint Rutkas
e8ca77395a Default add triage to issues (#9175)
* Update translation_issue.md

* Update bug_report.md

* Update feature_request.md

* Update documentation-issue.md
2021-01-20 11:09:25 -08:00
Ivan Stošić
5eb95f836e Run Settings on same elevation as PowerToys.exe (#9184)
* Run Settings on same elevation as PowerToys.exe

* Only apply the fix when running the new Settings
2021-01-20 19:28:14 +01:00
Tobias Sekan
a434d6047f [PT Run] Registry plugin (#7951) 2021-01-20 19:15:45 +01:00
dziadkiewicz
da33d22c85 [Run][Plugin] Rename Calculator plugin to follow the required schema (#9026) 2021-01-20 11:38:52 +01:00
Mykhailo Pylyp
433e2e57ed Delete Fody and PropertyChanged.Fody (#9120) 2021-01-20 11:23:56 +02:00
csigs
d2a1ac9c3f LEGO: check in for master to temporary branch. (#9177) 2021-01-20 10:17:49 +01:00
Pavel Zwerschke
6835855c66 Add e to calculator (#9124)
* Add support for e

* Add tests for e

* Fix compiler complaints
2021-01-19 18:04:15 +01:00
Mykhailo Pylyp
2311c3fc18 Save QueryHistory, UserSelectedRecord after each update (#9165) 2021-01-19 18:43:28 +02:00
Enrico Giordani
8c1cfba5d8 [Run] remove KillPowerLauncher pre-build event (#9167) 2021-01-19 17:35:57 +01:00
csigs
84b84c91c2 LEGO: check in for master to temporary branch. (#9157) 2021-01-19 10:13:40 +01:00
Mykhailo Pylyp
98a6e27957 Added logging to keyboard manager (#9155) 2021-01-18 19:38:42 +02:00
Ben Constable
3e59fe6877 Update CONTRIBUTING.md (#9131)
Fixing broken link to Help Wanted
2021-01-18 15:55:53 +01:00
csigs
9ae48fcb21 LEGO: check in for master to temporary branch. (#9126) 2021-01-18 15:54:06 +01:00
csigs
0d9594b220 LEGO: check in for master to temporary branch. (#9132) 2021-01-18 15:53:41 +01:00
csigs
6031d9ec6e LEGO: check in for master to temporary branch. (#9154) 2021-01-18 15:53:05 +01:00
Pavel Zwerschke
7514758b8c [Run][Calculator Plugin] Add hyperbolic functions (#9104)
* Add hyperbolic functions as valid input

* Add test cases for hyperbolic functions

* Update expect.txt

Adding in spelling

Co-authored-by: Clint Rutkas <clint@rutkas.com>
2021-01-15 16:05:56 +01:00
csigs
ea21a11259 LEGO: check in for master to temporary branch. (#9116) 2021-01-15 15:29:23 +01:00
Davide Giacometti
990c27718a black icons with light windows theme (#9091) 2021-01-15 13:19:52 +02:00
Mykhailo Pylyp
8aad873a26 explain meaning of labels (#9101) 2021-01-14 19:03:52 +02:00
Ivan Stošić
655a86694d [Runner/common] Fixed two potential issues with CreateProcess (#9063)
* Fixed two potential issues with CreateProcess

* Remove comment
2021-01-14 15:29:12 +01:00
Mykhailo Pylyp
11a569b113 Added localization to default sizes (#8928) 2021-01-14 14:14:29 +02:00
Mykhailo Pylyp
b1a6964e18 [Run] Fix exception (#9068) 2021-01-14 13:17:32 +02:00
Andrey Nekrasov
6ecf8b60b6 updating: require dotnet >=3.1.10 (#9060) 2021-01-12 21:52:17 +03:00
Mykhailo Pylyp
9073ce8884 Report dotnet runtime installation info (#9069) 2021-01-12 20:48:55 +02:00
Andrey Nekrasov
7a562950b0 interop: fix issues in IPC message construction (#9035)
* interop: fix issues in IPC message construction

- simplify logic
- handle exceptions to prevent crashes
- log errors

* Update src/runner/settings_window.cpp

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

* Update src/runner/settings_window.cpp

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

* fixup

* comments + fix build

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2021-01-12 20:42:16 +03:00
Andrey Nekrasov
1364f78b30 updating: do not update update_check date when we couldn't do it (#9038)
* updating: do not update update_check date when we couldn't do it

- improve general settings page "Last Checked" feature
2021-01-12 18:34:02 +03:00
Enrico Giordani
7bcf4b7894 Dev docs update (#8984) 2021-01-12 14:40:25 +01:00
Mykhailo Pylyp
3503ac27a8 added logging to action-runner project (#9034) 2021-01-11 12:51:13 +02:00
Enrico Giordani
dbda4d50bd [runner] rename 'module' variables (#8999)
rename all occurrences of 'module' to 'pt_module' to prevent intellisense error
2021-01-08 19:26:38 +01:00
Niels Laute
cccd2c0139 [Image Resizer] UI fixes (#9001)
* Color fix

* Accesibility fix
2021-01-08 16:23:21 +01:00
Davide Giacometti
abf9287a99 PT Run sys plugin added to setup (#8974)
sys plugin renamed to system
2021-01-08 16:11:30 +01:00
Niels Laute
17b40aa10a [Run] Fixing UI issues (#8681)
* UI fixes

* Added dlls to installer

* Accent color tweaks + sync

* Added cornerradius to selection highlight border

* Increase icon's radius

Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2021-01-06 19:00:36 +01:00
Davide Giacometti
3a87c4909c [PT Run] Service Plugin (#8076)
* PT Run service plugin

* icon, localization and fixes

* basic toast notification

* service start mode

* improved keys

* fixed setup

* improvements

* added _ keyword
* better shortcuts
* action for open services.msc

* pt run service plugin dll signing

* renamed Microsoft.Plugin.Service

* changed output dir

* set ! action keyword

* launcher dll

Co-authored-by: Clint Rutkas <clint@rutkas.com>
2021-01-06 11:40:07 +01:00
Niels Laute
f0600f1725 [Settings] Various UX fixes (#8739)
* Change accent color to secondary grey for better contrast on colorpicker page

* Fix textwrapping issue for shortcut tooltips

* Fix image resizer scroll issue

* Fix colorpicker page textblock/listview not disabled when module is disabled

* Added MaxWidth and sidebar margin

* Typo fix
2021-01-05 17:24:14 +01:00
Davide Giacometti
4958f6c158 reset scrollviewer on page change (#8742) 2021-01-05 16:01:42 +01:00
Davide Giacometti
b590437ca1 Moved ThemeManager in common project (#8835)
* moved theme manager in common project

* added analyzers

* renamed CommonUI project
2021-01-05 06:54:32 -08:00
Enrico Giordani
dda3dce34b [localization] move file to its correct location (#8914) 2021-01-05 15:08:22 +01:00
Ivan Stošić
485d278b8c [FancyZones] Refactor/improve saving JSON files (#8947)
* Divide SaveFancyZonesData into two functions

* Removed unused function, continued refactoring

* Use SaveAppZoneHistory in some places

* Revert "Use SaveAppZoneHistory in some places"

This reverts commit 74a4a1e467.

* Only save files if the contents are about to be changed

* Restore FileWatcher
2021-01-05 14:00:39 +01:00
Ivan Stošić
d4a4203f95 [File Explorer] OneDrive SVG fix (#8926)
* Move SVG file reading out of the UI thread

* Also move Blocked-check out of the UI thread
2021-01-05 10:16:00 +01:00
Alan Ninan Thomas
93bdb819ca [Settings] Make images clickable and fix issue with Power Preview settings image (#8710)
* Hopefully I have got this right

* Add a more descriptive Uid
2021-01-04 10:51:05 -08:00
Chris Davis
d82c083076 Ensure SVGs are scaled correctly when viewbox is provided (#8872)
* Ensure SVGs with hard coded width and height as well as viewbox values are scaled correctly.

* Fix misspelling
2021-01-04 15:59:53 +01:00
Davide Giacometti
197af8853f fix svg thumbnail not working (#8879) 2021-01-04 15:27:01 +01:00
Enrico Giordani
a493043085 [CI] tests grouping (#8918) 2021-01-04 15:25:41 +01:00
Enrico Giordani
e456521b94 [FancyZones] fix for secondary mouse button (#8901)
primary mouse button switch is transparent to the application
the system still returns the same values as for the default case
2021-01-04 12:09:58 +01:00
Clint Rutkas
68a86a86ce Updated NUnit, Microsoft.Net.Test.SDK, FxCop, MSTest.TestAdapter, MSTest.Framework to match all other projects in PowerToys (#8865) 2021-01-02 10:33:14 -08:00
Clint Rutkas
e84158b486 Update README.md 2020-12-31 10:24:32 -08:00
Clint Rutkas
843d077da0 Updating PR template (#8843)
* Updating PR template

due to a few recent misses, going to be a bit more rigorous

* Update .github/pull_request_template.md

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

* Update pull_request_template.md

Didn't update one instance of wxs

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2020-12-31 10:00:26 -08:00
2244 changed files with 252884 additions and 73438 deletions

View File

@@ -1,38 +0,0 @@
---
name: 🐛 Bug report
about: Report errors or unexpected behavior
title: ''
labels: Issue-Bug
assignees: ''
---
<!--
**Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**.
Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue.
-->
## Computer information
- PowerToys version:
- PowerToy Utility:
- Running PowerToys as Admin:
- Windows build number: [run "winver"]
## 📝 Provide detailed reproduction steps (if any)
1.
2.
3.
### ✔️ Expected result
_What is the expected result of the above steps?_
### ❌ Actual result
_What is the actual result of the above steps?_
## 📷 Screenshots
_Are there any useful screenshots? WinKey+Shift+S and then just paste them directly into the form_

89
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,89 @@
name: "🐛 Bug report"
description: Report errors or unexpected behavior
labels:
- Issue-Bug
- Triage-Needed
body:
- type: markdown
attributes:
value: |
Please make sure to [search for existing issues](https://github.com/microsoft/PowerToys/issues) before filing a new one!
- type: input
attributes:
label: Microsoft PowerToys version
placeholder: |
"0.33.1"
description: |
Hover over system tray icon or look at Settings
validations:
required: true
- type: checkboxes
attributes:
label: Running as admin
description: Are you running PowerToys as Admin?
options:
- label: "Yes"
- type: dropdown
attributes:
label: Area(s) with issue?
description: What things had an issue? Check all that apply.
multiple: true
options:
- General
- Awake
- ColorPicker
- FancyZones
- FancyZones Editor
- Image Resizer
- Keyboard Manager
- MD Preview
- Mouse Utilities
- PDF Preview
- PDF Thumbnail
- PowerRename
- PowerToys Run
- Shortcut Guide
- SVG Preview
- SVG Thumbnail
- Settings
- Video Conference Mute
- Welcome / PowerToys Tour window
- System tray interaction
- Installer
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: We highly suggest including a screenshots and a bug report log (System tray->Report bug).
placeholder: Tell us the steps required to trigger your bug.
validations:
required: true
- type: textarea
attributes:
label: ✔️ Expected Behavior
placeholder: What were you expecting?
validations:
required: false
- type: textarea
attributes:
label: ❌ Actual Behavior
placeholder: What happened instead?
validations:
required: true
- type: textarea
attributes:
label: Other Software
description: If you're reporting a bug about our interaction with other software, what software? What versions?
placeholder: |
vim 8.2 (inside WSL)
OpenSSH_for_Windows_8.1p1
My Cool Application v0.3 (include a code snippet if it would help!)
validations:
required: false

View File

@@ -1,8 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: "\U0001F4F7 Video Conference Mute Issue"
url: https://github.com/microsoft/PowerToys/issues/6246
about: Report Bug for the Video Conference Mute utility
- name: "\U0001F6A8 Microsoft Security Response Center (MSRC)"
url: https://msrc.microsoft.com/create-report
about: Report security bugs
@@ -10,6 +7,6 @@ contact_links:
url: https://github.com/microsoft/PowerToys/wiki
about: Documentation for users of PowerToys utilities
- name: "\U0001F4DA PowerToys dev documentation"
url: https://github.com/microsoft/PowerToys/tree/master/doc/devdocs
url: https://github.com/microsoft/PowerToys/tree/main/doc/devdocs
about: Documentation for people interested in developing and contributing for PowerToys

View File

@@ -1,14 +0,0 @@
---
name: "\U0001F4DA Documentation Issue"
about: Report issues in our documentation
title: ''
labels: Issue-Docs
assignees: ''
---
<!-- Briefly describe which document needs to be corrected and why. -->
## 📝 Provide a description of requested docs changes
_What is the purpose and what should be changed?_

View File

@@ -0,0 +1,12 @@
name: "📚 Documentation Issue"
description: Report issues in our documentation
labels:
- Issue-Docs
- Triage-Needed
body:
- type: textarea
attributes:
label: Provide a description of requested docs changes
placeholder: Briefly describe which document needs to be corrected and why.
validations:
required: true

View File

@@ -1,16 +0,0 @@
---
name: "⭐ Feature request"
about: Propose something new.
title: ''
labels: ''
assignees: ''
---
## 📝 Provide a description of the new feature
_What is the expected behavior of the proposed feature? What is the scenario this would be used?_
---
If you'd like to see this feature implemented, add a 👍 reaction to this post.

View File

@@ -0,0 +1,30 @@
name: "⭐ Feature / enhancement request"
description: Propose something new.
labels:
- Triage-Needed
body:
- type: textarea
attributes:
label: Description of the new feature / enhancement
placeholder: |
What is the expected behavior of the proposed feature?
validations:
required: true
- type: textarea
attributes:
label: Scenario when this would be used?
placeholder: |
What is the scenario this would be used? Why is this important to your workflow as a power user?
validations:
required: true
- type: textarea
attributes:
label: Supporting information
placeholder: |
Having additional evidence, data, tweets, blog posts, research, ... anything is extremely helpful. This information provides context to the scenario that may otherwise be lost.
validations:
required: false
- type: markdown
attributes:
value: |
Please limit one request per issue.

View File

@@ -1,30 +0,0 @@
---
name: 📖 Localization/Translation issue
about: Report incorrect translations.
title: ''
labels: Issue-Bug,Area-Localization,Issue-Translation
assignees: ''
---
## Computer information
- PowerToys version:
- PowerToy utility:
- Language:
## 📝 Provide where the issue is / 📷 Screenshots
_Are there any useful screenshots? WinKey+Shift+S and then just paste them directly into the form_
### ❌ Actual phrase(s)
_What is there?_
### ✔️ Expected phrase(s)
_What do you expect?_
### Why is the current translation wrong
_If it is opinion based issue, why do you feel this is incorrect? Example: term is outdated_

View File

@@ -0,0 +1,67 @@
name: "🌐 Localization/Translation issue"
description: Report incorrect translations.
labels:
- Issue-Bug
- Area-Localization
- Issue-Translation
- Triage-Needed
body:
- type: markdown
attributes:
value: |
Please make sure to [search for existing issues](https://github.com/microsoft/PowerToys/issues) before filing a new one!
- type: input
attributes:
label: Microsoft PowerToys version
placeholder: "0.35.0"
description: |
Hover over system tray icon or look at Settings
validations:
required: true
- type: dropdown
attributes:
label: Utility with translation issue
options:
- General
- PowerToys Awake
- ColorPicker
- FancyZones
- FancyZones Editor
- Image Resizer
- Keyboard Manager
- MD Preview
- PowerRename
- PowerToys Run
- Shortcut Guide
- SVG Preview
- SVG Thumbnail
- Settings
- Welcome / PowerToys Tour window
- System tray interaction
- Installer
validations:
required: true
- type: input
attributes:
label: 🌐 Language affected
placeholder: "German"
validations:
required: true
- type: textarea
attributes:
label: ❌ Actual phrase(s)
placeholder: What is there? Please include a screenshot as that is extremely helpful.
validations:
required: true
- type: textarea
attributes:
label: ✔️ Expected phrase(s)
placeholder: What was expected?
validations:
required: true
- type: textarea
attributes:
label: Why is the current translation wrong
placeholder: Why do you feel this is incorrect?
validations:
required: true

27
.github/actions/spell-check/advice.md vendored Normal file
View File

@@ -0,0 +1,27 @@
<!-- See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice --> <!-- markdownlint-disable MD033 MD041 -->
<details><summary>If you see a bunch of garbage</summary>
If it relates to a ...
<details><summary>well-formed pattern</summary>
See if there's a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it.
If not, try writing one and adding it to the `patterns.txt` file.
Patterns are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines.
Note that patterns can't match multiline strings.
</details>
<details><summary>binary-ish string</summary>
Please add a file path to the `excludes.txt` file instead of just accepting the garbage.
File paths are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files.
`^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md](
../tree/HEAD/README.md) (on whichever branch you're using).
</details>
</details>

View File

@@ -1,3 +1,13 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
(?:^|/)(?i)COPYRIGHT
(?:^|/)(?i)LICEN[CS]E
(?:^|/)package(?:-lock)\.json$
(?:^|/)vendor/
/package(?:-lock|)\.json$
/pinyindb/
/settings-html/
ignore$
[/.][a-z]{2}(?:-[a-zA-Z]{2}|)\.
\.ai$
\.bmp$
\.dat$
@@ -7,13 +17,28 @@
\.ico$
\.jpg$
\.lcl$
\.lock$
\.min\.
\.mod$
\.pdf$
\.png$
\.PNG$
\.png$
\.woff$
\.zip$
^doc/devdocs/akaLinks\.md$
^src/common/logger/logger\.vcxproj\.filters$
^src/common/notifications/BackgroundActivatorDLL/BackgroundActivator\.vcxproj\.filters$
^src/common/notifications/BackgroundActivatorDLL/cpp\.hint$
^src/modules/colorPicker/ColorPickerUI/Resources/colorPicker\.cur$
^src/modules/fancyzones/lib/FancyZonesWinHookEventIDs\.h$
^src/modules/imageresizer/dll/ContextMenuHandler\.rgs$
^src/modules/imageresizer/dll/ImageResizerExt\.rgs$
^src/modules/powerrename/testapp/PowerRenameTest\.vcxproj\.filters$
^src/modules/powerrename/UWPui/pch\.h$
^src/modules/powerrename/UWPui/PowerRenameUWPUI\.vcxproj\.filters$
^src/modules/previewpane/PreviewPaneUnitTests/HelperFiles/MarkdownWithHTMLImageTag\.txt$
^tools/CleanUp_tool/CleanUp_tool\.vcxproj\.filters$
^\.github/
^\.github/actions/spell-check/
/package(?:-lock|)\.json$
/pinyindb/
/settings-html/
[/.][a-z]{2}(?:-[a-zA-Z]{2}|)\.
^\.gitmodules$
(?:^|/)WindowsSettings\.json$

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,25 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
https?://(?:(?:www\.|)youtube\.com|youtu.be)/[-a-zA-Z0-9?&=]*
# GitHub SHAs
\bapi.github\.com/repos/[^/]+/[^/]+/[^/]+/[0-9a-f]+\b
://github\.(?:com|blog)/[^\w")]+
(?:\[[0-9a-f]+\]\(https:/|)/github\.com/[^/]+/[^/]+/[^/]+/[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b
# githubusercontent
://githubusercontent\.com/[^\w")]+
# gist github
/gist\.github\.com/[^/]+/[0-9a-f]+
# msdn
\b(?:download\.visualstudio|docs|msdn)\.microsoft\.com/[-_a-zA-Z0-9()=./]*
data:[a-zA-Z=;,/0-9+-]+
0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP]
(?:0[Xx]|U\+|#)[a-f0-9A-FGgRr]{2,}[Uu]?[Ll]{0,2}\b
[{"][0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}"]
\b([A-Za-z])\1{3,}\b
# uuid:
[-<({"'>][0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[<'"})>]
# ignore long runs of a single character:
\b([A-Za-z])\g{-1}{3,}\b
(?:L"[abAB]+", ){3}L"[abAB]+"
"Lorem[^"]+?\."
TestCase\("[^"]+"
@@ -17,6 +31,8 @@ TestCase\("[^"]+"
# Windows paths
\\native
\\netcoreapp
\\netstandard
\\notifications
\\recyclebin
\\reinstall
@@ -27,8 +43,27 @@ TestCase\("[^"]+"
\\restore
\\result
\\runner
\\runtimes
\\Telemetry
\\telemetry
\\testapp
\\tests
\\tools
# plugin.json
^ "ID": "[0-9A-F]{32}",$
# UnitTests
\[DataRow\(.*\)\]
# Id info inside markdown file (registry.md)
^\|\s+ID\s+\|\s*\`[0-9A-F]{32}\`
# TestCase strings intentionally have non dictionary items
\[TestCase\(new string.*\]
# marker for ignoring a comment to the end of the line
^.*/\* #no-spell-check-line \*/.*$
// #no-spell-check.*$
http://tes/

View File

@@ -1,18 +1,23 @@
## Summary of the Pull Request
_What is this about?_
**What is this about:**
## PR Checklist
* [ ] Applies to #xxx
* [ ] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/PowerToys) and sign the CLA
* [ ] Tests added/passed
* [ ] Requires documentation to be updated
* [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx
**What is include in the PR:**
## Info on Pull Request
**How does someone test / validate:**
_What does this include?_
## Quality Checklist
## Validation Steps Performed
- [ ] **Linked issue:** #xxx
- [ ] **Communication:** I've discussed this with core contributors in the issue.
- [ ] **Tests:** Added/updated and all pass
- [ ] **Installer:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Docs:** Added/ updated
- [ ] **Binaries:** Any new files are added to WXS / YML
- [ ] No new binaries
- [ ] [YML for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/pipeline.user.windows.yml#L68) for new binaries
- [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries
_How does someone test & validate?_
## Contributor License Agreement (CLA)
A CLA must be signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/PowerToys) and sign the CLA.

View File

@@ -1,20 +0,0 @@
name: Spell checking
on:
push:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '15 * * * *'
jobs:
build:
name: Spell checking
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.0.0
with:
fetch-depth: 5
- uses: check-spelling/check-spelling@0.0.16-alpha
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
bucket: .github/actions
project: spell-check

22
.github/workflows/spelling2.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
# spelling.yml is blocked per https://github.com/check-spelling/check-spelling/security/advisories/GHSA-g86g-chm8-7r2p
name: Spell checking
on:
pull_request_target:
push:
jobs:
spelling:
name: Spell checking
runs-on: ubuntu-latest
steps:
- name: checkout-merge
if: "contains(github.event_name, 'pull_request')"
uses: actions/checkout@v2
with:
ref: refs/pull/${{github.event.pull_request.number}}/merge
- name: checkout
if: "!contains(github.event_name, 'pull_request')"
uses: actions/checkout@v2
- uses: check-spelling/check-spelling@v0.0.19
with:
config: .github/actions/spell-check

2
.gitignore vendored
View File

@@ -342,3 +342,5 @@ src/common/Telemetry/*.etl
!**/MergeModules/Release/
!**/MergeModules/Debug/
/src/modules/previewpane/SvgThumbnailProvider/$(SolutionDir)$(Platform)/$(Configuration)/modules/FileExplorerPreview/SvgThumbnailProvider.xml
/src/modules/powerrename/ui/RCa24464
/src/modules/powerrename/ui/RCb24464

View File

@@ -0,0 +1,5 @@
cd /D "%~dp0"
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 -winsdk=10.0.18362.0
SET IsPipeline=1
call msbuild ../installer/PowerToysSetup.sln /target:PowerToysSetupCustomActions /p:Configuration=Release /p:Platform=x64 /p:CIBuild=true || exit /b 1

View File

@@ -7,4 +7,5 @@ set SolutionDir=%cd%
popd
SET IsPipeline=1
call msbuild ../tools/BugReportTool/BugReportTool.sln /p:Configuration=Release /p:Platform=x64 /p:CIBuild=true || exit /b 1
call msbuild ../tools/WebcamReportTool/WebcamReportTool.sln /p:Configuration=Release /p:Platform=x64 /p:CIBuild=true || exit /b 1

View File

@@ -2,7 +2,7 @@ trigger:
batch: true
branches:
include:
- master
- main
- stable
paths:
exclude:
@@ -13,7 +13,7 @@ trigger:
pr:
branches:
include:
- master
- main
- stable
# 0.0.yyMM.dd##

View File

@@ -9,7 +9,11 @@ jobs:
variables:
BuildConfiguration: ${{ parameters.configuration }}
BuildPlatform: ${{ parameters.platform }}
pool: "windevbuildagents"
pool:
${{ if eq(variables['System.CollectionUri'], 'https://dev.azure.com/ms/') }}:
name: WinDevPoolOSS-L
${{ if ne(variables['System.CollectionUri'], 'https://dev.azure.com/ms/') }}:
name: WinDevPool-L
timeoutInMinutes: 120
strategy:
maxParallel: 10

View File

@@ -55,6 +55,25 @@ steps:
msbuildArgs: ${{ parameters.additionalBuildArguments }}
maximumCpuCount: true
- task: NuGetCommand@2
displayName: Restore NuGet packages for WebcamReportTool.sln
inputs:
command: restore
feedsToUse: config
configPath: NuGet.config
restoreSolution: tools\WebcamReportTool\WebcamReportTool.sln
restoreDirectory: '$(Build.SourcesDirectory)\tools\WebcamReportTool\packages'
- task: VSBuild@1
displayName: 'Build WebcamReportTool.sln'
inputs:
solution: '**\WebcamReportTool.sln'
vsVersion: 16.0
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
msbuildArgs: ${{ parameters.additionalBuildArguments }}
maximumCpuCount: true
- task: NuGetCommand@2
displayName: Restore NuGet packages for PowerToysSetup.sln
inputs:
@@ -93,38 +112,47 @@ steps:
msbuildArgs: ${{ parameters.additionalBuildArguments }}
maximumCpuCount: true
# directly not doing WinAppDriver testing
- task: VSTest@2
displayName: 'Run .Net Core Tests'
displayName: 'MS Tests'
inputs:
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\Microsoft.Plugin.Folder.UnitTest.dll
**\Microsoft.Plugin.Program.UnitTests.dll
**\Microsoft.Plugin.Calculator.UnitTest.dll
**\Microsoft.Plugin.Uri.UnitTests.dll
**\Wox.Test.dll
**\*Microsoft.PowerToys.Settings.UI.UnitTests.dll
**\UnitTests-SvgThumbnailProvider.dll
**\UnitTests-PdfThumbnailProvider.dll
**\Microsoft.PowerToys.Settings.UI.UnitTests.dll
**\UnitTests-MarkdownPreviewHandler.dll
**\UnitTests-PdfPreviewHandler.dll
**\UnitTests-SvgPreviewHandler.dll
**\UnitTests-PreviewHandlerCommon.dll
**\PreviewPaneUnitTests.dll
**\Microsoft.PowerToys.Run.Plugin.Registry.UnitTests.dll
**\UnitTest-ColorPickerUI.dll
**\Microsoft.Interop.Tests.dll
**\ImageResizer.Test.dll
**\Community.PowerToys.Run.Plugin.UnitConverter.UnitTest.dll
**\Microsoft.Plugin.Folder.UnitTests.dll
**\Microsoft.Plugin.Program.UnitTests.dll
**\Microsoft.PowerToys.Run.Plugin.Calculator.UnitTest.dll
**\Microsoft.Plugin.Uri.UnitTests.dll
**\Wox.Test.dll
**\Microsoft.PowerToys.Run.Plugin.System.UnitTests.dll
**\Microsoft.PowerToys.Run.Plugin.WindowsTerminal.UnitTests.dll
!**\obj\**
# .NetFramework assemblies
# Native dlls
- task: VSTest@2
displayName: 'Run .Net Framework Tests'
displayName: 'Native Tests'
inputs:
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
testSelector: 'testAssemblies'
testAssemblyVer2: |
**\ImageResizer.Test.dll
**\KeyboardManagerTest.dll
**\KeyboardManagerEngineTest.dll
**\KeyboardManagerEditorTest.dll
**\UnitTests-CommonLib.dll
**\PreviewPaneUnitTests.dll #this is the markdown tests
**\UnitTests-PreviewHandlerCommon.dll
**\UnitTests-SvgPreviewHandler.dll
**\powerpreviewTest.dll
**\PowerRenameUnitTests.dll
**\powerpreviewTest.dll
!**\obj\**

View File

@@ -5,7 +5,8 @@ environment:
version: '2019'
runtime:
provider: 'appcontainer'
image: 'cdpxwin1809.azurecr.io/global/vse2019:latest'
# we will want to shift this to latest in the near future but this unblocks us
image: 'cdpxwin1809.azurecr.io/global/vse2019@sha256:44a8af0de5efa68829dbdfc3ecef3864d9770f1fc426b897fc37888032c9f60c'
source_mode: 'map'
version:
@@ -19,21 +20,21 @@ signing_options:
package_sources:
nuget:
feeds:
'Nuget': 'https://api.nuget.org/v3/index.json'
'Toolset': 'https://msazure.pkgs.visualstudio.com/_packaging/Toolset/nuget/v3/index.json'
'PipelineBuildSupplement': 'https://msazure.pkgs.visualstudio.com/_packaging/PipelineBuildSupplement/nuget/v3/index.json'
'PowerToysCDPX_Feed': 'https://github-private.pkgs.visualstudio.com/microsoft/_packaging/PowerToysCDPX_Feed/nuget/v3/index.json'
restore:
commands:
- !!defaultcommand
name: 'Restore Power Toys Telemetry'
command: '.pipelines\restore-telemetry.cmd'
command: '.pipelines\restore-telemetry.cmd'
- !!defaultcommand
name: 'Restore Power Toys'
command: '.pipelines\restore.cmd'
- !!defaultcommand
name: 'Restore Installer'
command: '.pipelines\restore-installer.cmd'
- !!defaultcommand
name: 'Restore Installer BootStrapper'
command: '.pipelines\restore-bootstrapper.cmd'
- !!defaultcommand
name: 'Restore Localization packages'
command: '.pipelines\restore-localization.cmd'
@@ -41,8 +42,6 @@ restore:
name: 'Restore Tools packages'
command: '.pipelines\restore-tools.cmd'
build:
commands:
# Localize the files before the Build PowerToys step to generate translated resx files from the lcl files
@@ -63,68 +62,105 @@ build:
- 'x64/**/*.pdb'
exclude:
- 'x64/Release/obj/**/*.pdb'
- from: 'x86/Release'
to: 'Build_Output'
include:
- 'modules\VideoConference\VideoConferenceProxyFilter_x86.dll'
signing_options:
sign_inline: true # This does signing as soon as this command completes
- from: 'x64/Release'
to: 'Build_Output'
include:
- 'action_runner.exe'
- 'PowerToys.ActionRunner.exe'
- 'PowerToys.Update.exe'
- 'BackgroundActivatorDLL.dll'
- 'Notifications.dll'
- 'os-detection.dll'
- 'PowerToys.exe'
- 'PowerToysInterop.dll'
- 'BugReportTool\BugReportTool.exe'
- '**\*.resources.dll'
- 'modules\ColorPicker\ColorPicker.dll'
- 'modules\ColorPicker\ColorPickerUI.dll'
- 'modules\ColorPicker\ColorPickerUI.exe'
- 'modules\ColorPicker\ManagedCommon.dll'
- 'modules\ColorPicker\ManagedTelemetry.dll'
- 'modules\ColorPicker\Microsoft.PowerToys.Common.UI.dll'
- 'modules\ColorPicker\Microsoft.PowerToys.Settings.UI.Lib.dll'
- 'modules\ColorPicker\PowerToysInterop.dll'
- 'modules\ColorPicker\Telemetry.dll'
- '**\*.resources.dll'
- 'modules\Awake\AwakeModuleInterface.dll'
- 'modules\Awake\ManagedCommon.dll'
- 'modules\Awake\ManagedTelemetry.dll'
- 'modules\Awake\Microsoft.PowerToys.Settings.UI.Lib.dll'
- 'modules\Awake\PowerToys.Awake.exe'
- 'modules\Awake\PowerToys.Awake.dll'
- 'modules\Awake\PowerToysInterop.dll'
- 'modules\FancyZones\fancyzones.dll'
- 'modules\FancyZones\FancyZonesEditor.exe'
- 'modules\FancyZones\FancyZonesEditor.dll'
- 'modules\FancyZones\FancyZonesModuleInterface.dll'
- 'modules\FancyZones\ManagedCommon.dll'
- 'modules\FancyZones\ManagedTelemetry.dll'
- 'modules\FancyZones\PowerToys.FancyZones.exe'
- 'modules\FancyZones\PowerToysInterop.dll'
- 'modules\FancyZones\Telemetry.dll'
- 'modules\FancyZones\Microsoft.PowerToys.Common.UI.dll'
- 'modules\FileExplorerPreview\ManagedTelemetry.dll'
- 'modules\FileExplorerPreview\MarkdownPreviewHandler.dll'
- 'modules\FileExplorerPreview\MarkdownPreviewHandler.comhost.dll'
- 'modules\FileExplorerPreview\PdfPreviewHandler.dll'
- 'modules\FileExplorerPreview\PdfPreviewHandler.comhost.dll'
- 'modules\FileExplorerPreview\PdfThumbnailProvider.dll'
- 'modules\FileExplorerPreview\PdfThumbnailProvider.comhost.dll'
- 'modules\FileExplorerPreview\powerpreview.dll'
- 'modules\FileExplorerPreview\PreviewHandlerCommon.dll'
- 'modules\FileExplorerPreview\SvgPreviewHandler.dll'
- 'modules\FileExplorerPreview\SvgPreviewHandler.comhost.dll'
- 'modules\FileExplorerPreview\SVGThumbnailProvider.dll'
- 'modules\FileExplorerPreview\SVGThumbnailProvider.comhost.dll'
- 'modules\FileExplorerPreview\SvgThumbnailProvider.dll'
- 'modules\FileExplorerPreview\SvgThumbnailProvider.comhost.dll'
- 'modules\FileExplorerPreview\Telemetry.dll'
- 'modules\ImageResizer\ImageResizer.exe'
- 'modules\ImageResizer\ImageResizer.dll'
- 'modules\ImageResizer\ImageResizerExt.dll'
- 'modules\ImageResizer\PowerToysInterop.dll'
- 'modules\ImageResizer\ManagedCommon.dll'
- 'modules\ImageResizer\ManagedTelemetry.dll'
- 'modules\ImageResizer\Microsoft.PowerToys.Common.UI.dll'
- 'modules\KeyboardManager\KeyboardManager.dll'
- 'modules\KeyboardManager\KeyboardManagerEditor\PowerToys.KeyboardManagerEditor.exe'
- 'modules\KeyboardManager\KeyboardManagerEngine\PowerToys.KeyboardManagerEngine.exe'
- 'modules\launcher\Microsoft.PowerToys.Settings.UI.Lib.dll'
- 'modules\launcher\ManagedCommon.dll'
- 'modules\launcher\ManagedTelemetry.dll'
- 'modules\launcher\Microsoft.PowerToys.Common.UI.dll'
- 'modules\launcher\Microsoft.Launcher.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Calculator\Microsoft.Plugin.Calculator.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Calculator\Wox.Infrastructure.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Calculator\Wox.Plugin.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Calculator\Telemetry.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Folder\Microsoft.Plugin.Folder.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Folder\Wox.Infrastructure.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Folder\Wox.Plugin.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Folder\Telemetry.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Indexer\Microsoft.Plugin.Indexer.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Indexer\Wox.Infrastructure.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Indexer\Telemetry.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Program\Microsoft.Plugin.Program.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Program\Wox.Infrastructure.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Program\Wox.Plugin.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Program\Telemetry.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Shell\Microsoft.Plugin.Shell.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Shell\Wox.Infrastructure.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Shell\Wox.Plugin.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Shell\Telemetry.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Uri\Microsoft.Plugin.Uri.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Uri\Wox.Infrastructure.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Uri\Wox.Plugin.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.Uri\Telemetry.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Microsoft.Plugin.WindowWalker.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Wox.Infrastructure.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Wox.Plugin.dll'
- 'modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Telemetry.dll'
- 'modules\launcher\Plugins\Calculator\Microsoft.PowerToys.Run.Plugin.Calculator.dll'
- 'modules\launcher\Plugins\Calculator\ManagedTelemetry.dll'
- 'modules\launcher\Plugins\Folder\Microsoft.Plugin.Folder.dll'
- 'modules\launcher\Plugins\Folder\ManagedTelemetry.dll'
- 'modules\launcher\Plugins\Indexer\Microsoft.Plugin.Indexer.dll'
- 'modules\launcher\Plugins\Indexer\ManagedTelemetry.dll'
- 'modules\launcher\Plugins\Program\Microsoft.Plugin.Program.dll'
- 'modules\launcher\Plugins\Program\ManagedTelemetry.dll'
- 'modules\launcher\Plugins\Registry\Microsoft.PowerToys.Run.Plugin.Registry.dll'
- 'modules\launcher\Plugins\Registry\ManagedTelemetry.dll'
- 'modules\launcher\Plugins\WindowsSettings\ManagedTelemetry.dll'
- 'modules\launcher\Plugins\WindowsSettings\Microsoft.PowerToys.Run.Plugin.WindowsSettings.dll'
- 'modules\launcher\Plugins\WindowsSettings\WindowsSettings.json'
- 'modules\launcher\Plugins\Shell\Microsoft.Plugin.Shell.dll'
- 'modules\launcher\Plugins\Shell\ManagedTelemetry.dll'
- 'modules\launcher\Plugins\Uri\Microsoft.Plugin.Uri.dll'
- 'modules\launcher\Plugins\Uri\ManagedTelemetry.dll'
- 'modules\launcher\Plugins\WindowWalker\Microsoft.Plugin.WindowWalker.dll'
- 'modules\launcher\Plugins\WindowWalker\ManagedTelemetry.dll'
- 'modules\launcher\Plugins\UnitConverter\Community.PowerToys.Run.Plugin.UnitConverter.dll'
- 'modules\launcher\Plugins\VSCodeWorkspaces\Community.PowerToys.Run.Plugin.VSCodeWorkspaces.dll'
- 'modules\launcher\Plugins\Service\Microsoft.PowerToys.Run.Plugin.Service.dll'
- 'modules\launcher\Plugins\System\Microsoft.PowerToys.Run.Plugin.System.dll'
- 'modules\launcher\Plugins\WindowsTerminal\Microsoft.PowerToys.Run.Plugin.WindowsTerminal.dll'
- 'modules\launcher\Plugins\WindowsTerminal\ManagedTelemetry.dll'
- 'modules\launcher\PowerLauncher.dll'
- 'modules\launcher\PowerLauncher.exe'
- 'modules\launcher\PowerLauncher.Telemetry.dll'
@@ -134,23 +170,25 @@ build:
- 'modules\launcher\Wox.dll'
- 'modules\launcher\Wox.Infrastructure.dll'
- 'modules\launcher\Wox.Plugin.dll'
- 'modules\Microsoft.Launcher.dll'
- 'modules\MouseUtils\FindMyMouse.dll'
- 'modules\MouseUtils\MouseHighlighter.dll'
- 'modules\PowerRename\PowerRenameExt.dll'
- 'modules\ShortcutGuide\ShortcutGuide.dll'
- 'Notifications.dll'
- 'os-detection.dll'
- 'PowerToys.exe'
- 'PowerToysInterop.dll'
- 'PowerToysSettings.exe'
- 'SettingsUIRunner\Microsoft.PowerToys.Settings.UI.exe'
- 'SettingsUIRunner\Microsoft.PowerToys.Settings.UI.Lib.dll'
- 'SettingsUIRunner\Microsoft.PowerToys.Settings.UI.Runner.dll'
- 'SettingsUIRunner\Microsoft.PowerToys.Settings.UI.Runner.exe'
- 'SettingsUIRunner\PowerToysInterop.dll'
- 'SettingsUIRunner\Telemetry.dll'
- 'SettingsUIRunner\ManagedCommon.dll'
- 'modules\PowerRename\PowerRenameUILib.dll'
- 'modules\PowerRename\PowerRename.exe'
- 'modules\ShortcutGuide\ShortcutGuide\PowerToys.ShortcutGuide.exe'
- 'modules\ShortcutGuide\ShortcutGuideModuleInterface\ShortcutGuideModuleInterface.dll'
- 'modules\VideoConference\VideoConferenceModule.dll'
- 'modules\VideoConference\VideoConferenceProxyFilter_x64.dll'
- 'Settings\ManagedTelemetry.dll'
- 'Settings\Microsoft.PowerToys.Settings.UI.exe'
- 'Settings\Microsoft.PowerToys.Settings.UI.Lib.dll'
- 'Settings\PowerToys.Settings.dll'
- 'Settings\PowerToys.Settings.exe'
- 'Settings\PowerToysInterop.dll'
- 'Settings\Telemetry.dll'
- 'Settings\ManagedCommon.dll'
signing_options:
sign_inline: true # This does signing a soon as this command completes
sign_inline: true # This does signing as soon as this command completes
- !!buildcommand
name: 'Build Power Toys Tools'
command: '.pipelines\build-tools.cmd'
@@ -159,8 +197,19 @@ build:
to: 'Build_Output'
include:
- 'BugReportTool\BugReportTool.exe'
- 'WebcamReportTool\WebcamReportTool.exe'
signing_options:
sign_inline: true # This does signing a soon as this command completes
sign_inline: true # This does signing as soon as this command completes
- !!buildcommand
name: 'Build Power Toys Installer Custom Action' # Need to do separately to sign dll before building installer
command: '.pipelines\build-installer-PTCustomActions.cmd'
artifacts:
- from: 'installer\PowerToysSetupCustomActions\x64\Release'
to: 'Build_Output'
include:
- 'PowerToysSetupCustomActions.dll'
signing_options:
sign_inline: true # This does signing as soon as this command completes
- !!buildcommand
name: 'Build Power Toys Installer'
command: '.pipelines\build-installer.cmd'
@@ -170,7 +219,7 @@ build:
include:
- 'PowerToysSetup-*.msi'
signing_options:
sign_inline: true # This does signing a soon as this command completes
sign_inline: true # This does signing as soon as this command completes
- !!buildcommand
name: 'Build Power Toys Bootstrapper'
command: '.pipelines\build-bootstrapper.cmd'
@@ -183,8 +232,7 @@ build:
include:
- 'PowerToysSetup-*.exe'
signing_options:
sign_inline: true # This does signing a soon as this command completes
sign_inline: true # This does signing as soon as this command completes
#package:
# commands:
@@ -200,23 +248,23 @@ build:
# signing_options:
# profile: '400'
static_analysis_options:
binskim_options:
static_analysis_options:
binskim_options:
files_to_scan:
- from: 'installer/packages'
exclude:
- 'WiX.*/**/*.dll'
- 'Wix.*/**/*.exe'
moderncop_options:
- 'Microsoft.Windows.CppWinRT.*/**/*.exe'
moderncop_options:
files_to_scan:
- from: 'src'
exclude:
- from: 'src'
exclude:
- '**/just.config.js'
- '**/webpack.config.js'
- '**/webpack.serve.config.js'
- '**/dist/bundle.js'
- '**/dist/bundle.js'
policheck_options:
files_to_scan:
- exclude:
- exclude:
- '**/*.lcl'

View File

@@ -0,0 +1,3 @@
cd /D "%~dp0"
nuget restore ../installer/PowerToysBootstrapper/PowerToysBootstrapper.sln || exit /b 1

View File

@@ -1,6 +1,6 @@
# not using this but keeping around in case we need it in the future.
# good use case here could be to set up a new machine, we just point people at it.
# https://github.com/microsoft/PowerToys/tree/master/doc/devdocs#prerequisites-for-compiling-powertoys
# https://github.com/microsoft/PowerToys/tree/main/doc/devdocs#prerequisites-for-compiling-powertoys
# improvements if this script is used to replace the snippet
# Add in a param for passive versus quiet. Could be a IsSettingUpDevComputer true/false flag

View File

@@ -1,3 +1,4 @@
cd /D "%~dp0"
nuget restore ../tools/BugReportTool/BugReportTool.sln || exit /b 1
nuget restore ../tools/WebcamReportTool/WebcamReportTool.sln || exit /b 1

View File

@@ -1,3 +1,12 @@
cd /D "%~dp0"
nuget restore ../PowerToys.sln || exit /b 1
powershell.exe -Command "Invoke-WebRequest -OutFile %tmp%\wdksetup.exe https://go.microsoft.com/fwlink/p/?linkid=2085767"
%tmp%\wdksetup.exe /q
copy "C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix" %tmp%\wdkvsix.zip
powershell Expand-Archive %tmp%\wdkvsix.zip -DestinationPath %tmp%\wdkvsix -Force
robocopy /e %tmp%\wdkvsix\$MSBuild\Microsoft\VC\v160 "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160" || IF %ERRORLEVEL% LEQ 7 EXIT 0
robocopy /e %tmp%\wdkvsix\$VCTargets "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VC\VCTargets" || IF %ERRORLEVEL% LEQ 7 EXIT 0

15
.vsconfig Normal file
View File

@@ -0,0 +1,15 @@
{
"version": "1.0",
"components": [
"Microsoft.VisualStudio.Component.CoreEditor",
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.Universal",
"Microsoft.VisualStudio.Component.Windows10SDK.17134",
"Microsoft.VisualStudio.Component.Windows10SDK.18362",
"Microsoft.VisualStudio.ComponentGroup.UWP.VC",
"Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre",
"Microsoft.VisualStudio.Component.VC.ATL.Spectre"
]
}

View File

@@ -9,6 +9,12 @@ Names are in alphabetical order based on first name.
### [@davidegiacometti](https://github.com/davidegiacometti) - [Davide Giacometti](https://www.linkedin.com/in/davidegiacometti/)
Davide has helped fix multiple bugs, added new features, as well as help us with the ARM64 effort by porting applications to .NET Core.
### [@htcfreek](https://github.com/htcfreek) - Heiko
Heiko has helped triaging, discussing, and creating a substantial number of issues and contributed features/fixes to PowerToys Run.
### [@jsoref](https://github.com/jsoref) - [Josh Soref](https://check-spelling.dev/)
Helping keep our spelling correct :)
### [@Niels9001](https://github.com/niels9001/) - [Niels Laute](https://nielslaute.com/)
Niels has helped drive large sums of our update toward a new [consistent and modern UX](https://github.com/microsoft/PowerToys/issues/891). This includes the [launcher work](https://github.com/microsoft/PowerToys/issues/44), color picker UX update and [icon design](https://github.com/microsoft/PowerToys/issues/1118).
@@ -18,7 +24,13 @@ Niels has helped drive large sums of our update toward a new [consistent and mod
Rafael has helped do the [upgrade from CppWinRT 1.x to 2.0](https://github.com/microsoft/PowerToys/issues/1907). He directly provided feedback to the CppWinRT team for bugs from this migration as well.
### [@royvou](https://github.com/royvou)
Roy has helped out contributing a features to PowerToys Run
Roy has helped out contributing multiple features to PowerToys Run
### [@TobiasSekan](https://github.com/TobiasSekan) - Tobias Sekan
Tobias Sekan has helped out contributing features to PowerToys Run such as Settings plugin, Registry plugin
### [@ThiefZero](https://github.com/ThiefZero)
ThiefZero has helped out contributing a features to PowerToys Run such as the unit converter plugin
## Open source projects
@@ -52,10 +64,18 @@ Image Resizer is from Brice.
PowerRename is from Chris's SmartRename and icon rendering for SVGs in File Explorer
### [@dend](https://github.com/dend/) - Den Delimarsky
PowerToys Awake is a tool to keep your computer awake.
### [@martinchrzan](https://github.com/martinchrzan/) - Martin Chrzan
Color Picker is from Martin.
### [@oldnewthing](https://github.com/oldnewthing) - Raymond Chen
Find My Mouse is based on Raymond Chen's SuperSonar.
### Microsoft InVEST team
This amazing team helped PowerToys develop PowerToys Run and Keyboard manager as well as update our Settings to v2. @alekhyareddy28, @arjunbalgovind, @jyuwono @laviusmotileng-ms, @ryanbodrug-microsoft, @saahmedm, @somil55, @traies, @udit3333

View File

@@ -1,20 +1,18 @@
# Power Toys Contributor's Guide
# PowerToys Contributor's Guide
Below is our guidance for how to report issues, propose new features, and submit contributions via Pull Requests (PRs).
Below is our guidance for how to report issues, propose new features, and submit contributions via Pull Requests (PRs). Our philosophy is heavily based around understanding the problem and scenarios first, this is why we follow this pattern before work has started.
## Before you start, file an issue
1. There is an issue
2. There has been a conversation
3. There is agreement on the problem, the fit for PowerToys, and the solution to the problem (implementation)
## Filing an issue
Please follow this simple rule to help us eliminate any unnecessary wasted effort & frustration, and ensure an efficient and effective use of everyone's time - yours, ours, and other community members':
> 👉 If you have a question, think you've discovered an issue, would like to propose a new feature, etc., then find/file an issue **BEFORE** starting work to fix/implement it.
### Search existing issues first
Before filing a new issue, search existing open and closed issues first: It is likely someone else has found the problem you're seeing, and someone may be working on or have already contributed a fix!
If no existing item describes your issue/feature, great - please file a new issue:
### File a new Issue
When requesting new features / enhancements, understanding problem and scenario around it is extremely important. Having additional evidence, data, tweets, blog posts, research, ... anything is extremely helpful. This information provides context to the scenario that may otherwise be lost.
* Don't know whether you're reporting an issue or requesting a feature? File an issue
* Have a question that you don't see answered in docs, videos, etc.? File an issue
@@ -23,105 +21,41 @@ If no existing item describes your issue/feature, great - please file a new issu
* Don't understand how to do something? File an issue/Community Guidance Request
* Found an existing issue that describes yours? Great - upvote and add additional commentary / info / repro-steps / etc.
### Complete the template
A quick search before filing an issue also could be helpful. It is likely someone else has found the problem you're seeing, and someone may be working on or have already contributed a fix!
**Please include as much information as possible in your issue**. The more information you provide, the more likely your issue/ask will be understood and implemented. Helpful information includes:
### How to tell the PowerToys team this is an interesting thing to focus on
* What device you're running (inc. CPU type, memory, disk, etc.)
* What build of Windows your device is running
👉 Tip: Run the following in PowerShell Core
```powershell
C:\> $PSVersionTable.OS
Microsoft Windows 10.0.18909
```
... or in Windows PowerShell
```powershell
C:\> $PSVersionTable.BuildVersion
Major Minor Build Revision
----- ----- ----- --------
10 0 18912 1001
```
... or Cmd:
```cmd
C:\> ver
Microsoft Windows [Version 10.0.18900.1001]
```
* What tools and apps you're using (e.g. VS 2019, VSCode, etc.)
* Don't assume we're experts in setting up YOUR environment and don't assume we are experts in YOUR workflow. Teach us to help you!
* **We LOVE detailed repro steps!** What steps do we need to take to reproduce the issue? Assume we love to read repro steps. As much detail as you can stand is probably _barely_ enough detail for us!
* Prefer error message text where possible or screenshots of errors if text cannot be captured
* **If you intend to implement the fix/feature yourself then say so!** If you do not indicate otherwise we will assume that the issue is ours to solve, or may label the issue as `Help-Wanted`.
### DO NOT post "+1" comments
> ⚠ DO NOT post "+1", "me too", or similar comments - they just add noise to an issue.
If you don't have any additional info/context to add but would like to indicate that you're affected by the issue, upvote the original issue by clicking its [+😊] button and hitting 👍 (+1) icon. This way we can actually measure how impactful an issue is.
Upvote the original issue by clicking its [+😊] button and hitting 👍 (+1) icon or a different one. This way allows us to measure how impactful different issues are compared to others. The issue with comments like "+1", "me too", or similar is they actually make it harder to have a conversation and harder to quickly determine trending important requests.
---
## Contributing fixes / features
For those able & willing to help fix issues and/or implement features ...
Please comment on an issue to let us know you're interested in working on something before you start the work. Not only does this avoid multiple people unexpectedly working on the same thing at the same time but it enables us to make sure everyone is clear on what should be done to implement any new functionality. It's less work for everyone, in the long run, to establish this up front.
### To Spec or not to Spec
Some issues/features may be quick and simple to describe and understand. For such scenarios, once a team member has agreed with your approach, skip ahead to the section headed "Fork, Branch, and Create your PR", below.
A key point is for everyone to understand the approach that will be taken. We want to be sure if anyone does work, we will accept it in. Items that are larger in scope we'll want some type of spec to understand what is being planned and have a discussion. Specs help collaborators discuss different approaches to solve a problem, describe how the feature will behave, how the feature will impact the user, what happens if something goes wrong, etc. Driving towards agreement in a spec, before any code is written, often results in simpler code, and less wasted effort in the long run.
Small issues that do not require a spec will be labelled Issue-Bug or Issue-Task.
However, some issues/features will require careful thought & formal design before implementation. For these scenarios, we'll request that a spec is written and the associated issue will be labeled Issue-Feature.
Specs help collaborators discuss different approaches to solve a problem, describe how the feature will behave, how the feature will impact the user, what happens if something goes wrong, etc. Driving towards agreement in a spec, before any code is written, often results in simpler code, and less wasted effort in the long run.
Specs will be managed in a very similar manner as code contributions so please follow the "Fork, Branch and Create your PR" below.
### Writing / Contributing-to a Spec
To write/contribute to a spec: fork, branch and commit via PRs, as you would with any code changes.
Specs are written in markdown, stored under the `doc/specs` folder and named `[issue id] - [spec description].md`.
👉 **It is important to follow the spec templates and complete the requested information**. The available spec templates will help ensure that specs contain the minimum information & decisions necessary to permit development to begin. In particular, specs require you to confirm that you've already discussed the issue/idea with the team in an issue and that you provide the issue ID for reference.
For such scenarios, once a team member has agreed with your approach, skip ahead to the section headed "Development" section below.
Team members will be happy to help review specs and guide them to completion.
### Help Wanted
Once the team have approved an issue/spec, development can proceed. If no developers are immediately available, the spec can be parked ready for a developer to get started. Parked specs' issues will be labeled "Help Wanted". To find a list of development opportunities waiting for developer involvement, visit the Issues and filter on [the Help-Wanted label](https://github.com/microsoft/PowerToys/labels/Help-Wanted).
Once the team has approved an issue/spec approach to solving, development can proceed. If no developers are immediately available, the spec can be parked ready for a developer to get started. Parked specs' issues will be labeled "Help Wanted". To find a list of development opportunities waiting for developer involvement, visit the Issues and filter on [the Help-Wanted label](https://github.com/microsoft/PowerToys/labels/Help%20Wanted).
---
## Development
### Fork, Clone, Branch and Create your PR
Follow the [development guidelines](https://github.com/microsoft/PowerToys/blob/main/doc/devdocs/readme.md).
Once you've discussed your proposed feature/fix/etc. with a team member, and you've agreed an approach or a spec has been written and approved, it's time to start development:
### Naming of features and functionality
1. Fork the repo if you haven't already
1. Clone your fork locally
1. Create & push a feature branch
1. Create a [Draft Pull Request (PR)](https://github.blog/2019-02-14-introducing-draft-pull-requests/)
1. Work on your changes
Naming should be descriptive and straight forward. We want names to be clear about functionality and usefulness moving forward.
### Code Review
When you'd like the team to take a look, (even if the work is not yet fully-complete), mark the PR as 'Ready For Review' so that the team can review your work and provide comments, suggestions, and request changes. It may take several cycles, but the end result will be solid, testable, conformant code that is safe for us to merge.
### Merge
Once your code has been reviewed and approved by the requisite number of team members, it will be merged into the master branch. Once merged, your PR will be automatically closed.
### How can I become a collaborateur on the PowerToys team
### How can I become a collaborator on the PowerToys team
Be a great community member. Just help out a lot and make useful additions, filing bugs/suggestions, help develop fixes and features, code reviews, and always, docs. Lets continue to make the PowerToys repository a great spot to learn and make a great set of utilities.

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Project configurations -->
<ItemGroup Label="ProjectConfigurations">
@@ -12,7 +13,7 @@
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<!-- Props that should be disabled while building on CI server -->
<ItemDefinitionGroup Condition="'$(CIBuild)'!='true'">
<ClCompile>
@@ -22,10 +23,15 @@
</ItemDefinitionGroup>
<!-- C++ source compile-specific things for all configurations -->
<PropertyGroup>
<ExternalIncludePath>$(MSBuildThisFileFullPath)\..\deps\;$(ExternalIncludePath)</ExternalIncludePath>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<DisableAnalyzeExternal >true</DisableAnalyzeExternal>
<ExternalWarningLevel>TurnOffAllWarnings</ExternalWarningLevel>
<ConformanceMode>false</ConformanceMode>
<TreatWarningAsError>true</TreatWarningAsError>
<LanguageStandard>stdcpplatest</LanguageStandard>
@@ -34,10 +40,10 @@
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</Link>
<Lib>
<TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
</Lib>
</Lib>
</ItemDefinitionGroup>
<!-- C++ source compile-specific things for Debug/Release configurations -->
@@ -50,7 +56,7 @@
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
@@ -60,36 +66,35 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</Link>
</ItemDefinitionGroup>
<!-- Global props -->
<PropertyGroup Label="Globals" Condition="'$(OverrideWindowsTargetPlatformVersion)'!='True'">
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<!-- Props that are constant for both Debug and Release configurations -->
<PropertyGroup Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset Condition="'$(OverridePlatformToolset)'!='True'">v142</PlatformToolset>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\obj\$(ProjectName)\</IntDir>
<CharacterSet>Unicode</CharacterSet>
<SpectreMitigation>Spectre</SpectreMitigation>
</PropertyGroup>
<!-- Debug/Release props -->
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<UseDebugLibraries>true</UseDebugLibraries>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
</Project>

View File

@@ -99,32 +99,6 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
### Squirrel.Windows License
**Source**: https://github.com/Squirrel/Squirrel.Windows/
The MIT License (MIT)
Copyright (c) 2012 GitHub, Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
## PowerToy: PowerRename
### Chris Davis's SmartRename License

File diff suppressed because it is too large Load Diff

139
README.md
View File

@@ -1,48 +1,50 @@
# Welcome to the Microsoft PowerToys repo
# Microsoft PowerToys
<img src="./doc/images/overview/PT%20hero%20image.png"/>
[Downloads & Release notes][github-release-link] | [Contributing to PowerToys](#contributing) | [What's Happening](#whats-happening) | [Roadmap](#powertoys-roadmap) | [Known issues](#known-issues)
[How to use PowerToys][usingPowerToys-docs-link] | [Downloads & Release notes][github-release-link] | [Contributing to PowerToys](#contributing) | [What's Happening](#whats-happening) | [Roadmap](#powertoys-roadmap)
## Build status
| Architecture | Master | Stable | Installer |
|--------------|--------|--------|-----------|
| x64 | [![Build Status for Master](https://dev.azure.com/ms/PowerToys/_apis/build/status/microsoft.PowerToys?branchName=master)](https://dev.azure.com/ms/PowerToys/_build/latest?definitionId=219&branchName=master) | [![Build Status for Stable](https://dev.azure.com/ms/PowerToys/_apis/build/status/microsoft.PowerToys?branchName=stable)](https://dev.azure.com/ms/PowerToys/_build/latest?definitionId=219&branchName=stable) | [![Build Status for Installer](https://github-private.visualstudio.com/microsoft/_apis/build/status/CDPX/powertoys/powertoys-Windows-Official-master-Test?branchName=master)](https://github-private.visualstudio.com/microsoft/_build/latest?definitionId=61&branchName=master) |
| Architecture | Main | Stable | Installer |
|--------------|------|--------|-----------|
| x64 | [![Build Status for Main](https://dev.azure.com/ms/PowerToys/_apis/build/status/microsoft.PowerToys?branchName=main)](https://dev.azure.com/ms/PowerToys/_build/latest?definitionId=219&branchName=main) | [![Build Status for Stable](https://dev.azure.com/ms/PowerToys/_apis/build/status/microsoft.PowerToys?branchName=stable)](https://dev.azure.com/ms/PowerToys/_build/latest?definitionId=219&branchName=stable) | [![Build Status for Installer](https://github-private.visualstudio.com/microsoft/_apis/build/status/CDPX/powertoys/powertoys-Windows-Official-master-Test?branchName=main)](https://github-private.visualstudio.com/microsoft/_build/latest?definitionId=61&branchName=main) |
## About
Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows 10 experience for greater productivity. For more info on [PowerToys overviews and guides][usingPowerToys-docs-link], or any other tools and resources for [Windows development environments](https://docs.microsoft.com/windows/dev-environment/overview), head over to [docs.microsoft.com][usingPowerToys-docs-link]!
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][usingPowerToys-docs-link], or any other tools and resources for [Windows development environments](https://docs.microsoft.com/windows/dev-environment/overview), head over to [docs.microsoft.com][usingPowerToys-docs-link]!
| | Current utilities: | |
|--------------|--------|--------|
| [Color Picker](https://aka.ms/PowerToysOverview_ColorPicker) | [FancyZones](https://aka.ms/PowerToysOverview_FancyZones) | [File Explorer Add-ons](https://aka.ms/PowerToysOverview_FileExplorerAddOns) |
| [Image Resizer](https://aka.ms/PowerToysOverview_ImageResizer) | [Keyboard Manager](https://aka.ms/PowerToysOverview_KeyboardManager) | [PowerRename](https://aka.ms/PowerToysOverview_PowerRename) |
| [PowerToys Run](https://aka.ms/PowerToysOverview_PowerToysRun) | [Shortcut Guide](https://aka.ms/PowerToysOverview_ShortcutGuide) | [Video Conference Mute (Experimental)](https://aka.ms/PowerToysOverview_VideoConference) |
| | Current utilities: | |
|--------------|--------------------|--------------|
| [PowerToys Awake](https://aka.ms/PowerToysOverview_Awake) | [Color Picker](https://aka.ms/PowerToysOverview_ColorPicker) | [FancyZones](https://aka.ms/PowerToysOverview_FancyZones) |
| [File Explorer Add-ons](https://aka.ms/PowerToysOverview_FileExplorerAddOns) | [Image Resizer](https://aka.ms/PowerToysOverview_ImageResizer) | [Keyboard Manager](https://aka.ms/PowerToysOverview_KeyboardManager) |
| [Mouse utilities](https://aka.ms/PowerToysOverview_MouseUtilities) | [PowerRename](https://aka.ms/PowerToysOverview_PowerRename) | [PowerToys Run](https://aka.ms/PowerToysOverview_PowerToysRun) |
| [Shortcut Guide](https://aka.ms/PowerToysOverview_ShortcutGuide) | [Video Conference Mute](https://aka.ms/PowerToysOverview_VideoConference) | |
## Installing and running Microsoft PowerToys
### Requirements
- Windows 10 v1903 (build 18362) or better preferred, Windows 10 v1803 (build 17134) minimum.
- Have [.NET Core 3.1 Desktop Runtime](https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-desktop-3.1.10-windows-x64-installer). The installer should handle this but we want to directly make people aware.
- Windows 11 or Windows 10 v1903 (18362) or newer.
- [.NET Core 3.1.20 Desktop Runtime](https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-desktop-3.1.20-windows-x64-installer) or a newer 3.1.x runtime. The installer will handle this if not present.
### Via GitHub with EXE [Recommended]
#### Stable version
Install from the [Microsoft PowerToys GitHub releases page][github-release-link]. Click on `Assets` to show the files available in the release and then click on `PowerToysSetup-0.29.0-x64.exe` to download the PowerToys installer.
[Microsoft PowerToys GitHub releases page][github-release-link], click on `Assets` at the bottom to show the files available in the release and then click on `PowerToysSetup-0.49.0-x64.exe` to download the PowerToys installer.
This is our preferred method.
#### Experimental version
To install the Video Conference mute, please use the [v0.28 pre-release experimental version of PowerToys][github-prerelease-link] to try out this version. It includes all improvements from v0.27 in addition to the Video conference utility. Click on `Assets` to show the files available in the release and then download the .exe installer.
### Via Microsoft Store
Install from the [Microsoft Store's PowerToys page][microsoft-store-link]. You must be using the [new Microsoft Store](https://blogs.windows.com/windowsExperience/2021/06/24/building-a-new-open-microsoft-store-on-windows-11/) which will be available for both Windows 11 and Windows 10.
### Via WinGet (Preview)
Download PowerToys from [WinGet](https://github.com/microsoft/winget-cli/releases). To install PowerToys, run the following command from the command line / PowerShell:
Download PowerToys from [WinGet](https://github.com/microsoft/winget-cli#installing-the-client). To install PowerToys, run the following command from the command line / PowerShell:
```powershell
WinGet install powertoys
winget install Microsoft.PowerToys -s winget
```
### Other install methods
@@ -73,65 +75,74 @@ For guidance on developing for PowerToys, please read the [developer docs](/doc/
Our [prioritized roadmap][roadmap] of features and utilities that the core team is focusing on.
### 0.29 - December 2020 Update
### 0.49 - October 2021 Update
Our goals for [v0.29 release cycle][github-release-link] were to focus on adding on end-user experience, stability, accessibility, localization and quality of life improvements for both the development team and our end users. Due to the short dev cycle due to the holidays this month, larger work items will show up next release such as FZ editor improvements and three new plug-ins for PowerToys Run (service, regkey, system commands).
The [v0.49 release cycle](https://github.com/microsoft/PowerToys/issues?q=is%3Aopen+is%3Aissue+project%3Amicrosoft%2FPowerToys%2F25) introduces exciting new updates primarily centered around modernizing PowerRename's UI, adding a brand new mouse utility, and merging Video Conference Mute into the stable releases!
Our [prioritized roadmap][roadmap] of features and utilities that the core team is focusing on for the near future. We fixed a lot of localization issues from our initial release but we may not still be perfect. If you find an issue, please file a [localization bug][loc-bug].
PowerRename's new UI brings a refreshed experience that reflects the modern UI theming of Windows 11, along with helpful regular expression guidance and file formatting tips.
#### Highlights from v0.29
With the new mouse utility, PowerToys introduces functionality to quickly find your mouse position by double pressing the left <kbd>ctrl</kbd> key. This is ideal for large, high-resolution displays and low-vision users, with additional features and enhancements planned for future releases. Special thanks to [Raymond Chen](https://github.com/oldnewthing) for providing the base code PowerToys used to develop this feature. To learn more, check out our [Mouse Utilities documentation](https://aka.ms/PowerToysOverview_MouseUtilities) on Microsoft Docs!
As Video Conference Mute becomes available in the stable releases, there are still known quirks that we are actively working to address. These bugs are [tracked on our GitHub](https://github.com/microsoft/PowerToys/issues?q=is%3Aopen+is%3Aissue+label%3A%22Product-Video+Conference+Mute%22), and we welcome any and all feedback as we work to isolate and resolve the cause.
Color Picker's HEX format will no longer have the `#` character. This addresses issues with various color inputs that only accept six characters cutting off the last value. We apologize for any inconvenience this causes as we understand it impacts users who may prefer having `#` included. However, we believe this is the best solution while the custom string functionality ([#8305](https://github.com/microsoft/PowerToys/issues/8305)) is in development.
Additional work in this release include stability updates and optimizations, installer updates, general bug fixes, and accessibility improvements.
#### Highlights from v0.49
**General**
- Bug report tool and improved logging.
- Various localization improvements.
- CodeQL added. Triggered via a cron timer twice a day.
- "How to use" docs moved to https://docs.microsoft.com/windows/powertoys/
- This will allow the community to do direct PRs against those documents
- **Change of Behavior:** Color Picker's HEX format will no longer have the `#` character. Custom string functionality for color picker ([#8305](https://github.com/microsoft/PowerToys/issues/8305)) is in development and will allow someone to use this again.
- Find My Mouse utility added! Utilize the functionality to quickly locate the cursor on your displays! Learn more on our [Mouse Utility docs](https://aka.ms/PowerToysOverview_MouseUtilities).
- Accessibility and minor UI improvements to the settings page. Thanks [@niels9001](https://github.com/niels9001)!
- Added deep links to the Settings menus for various utilities within their respective editors. Thanks [@niels9001](https://github.com/niels9001)!
- Settings improvements to improve clarity for various options. Thanks [@niels9001](https://github.com/niels9001)!
- Improved settings window to adjust size and position as needed when multi-monitor conditions change. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
**ARM64 Progress**
- .NET Core upgrade for code bases the PowerToys team controls is complete. We still have two external dependencies that are .NET Framework that need to be updated.
**PowerToys Awake**
- Screen reader improvements for accessibility.
**Color Picker**
- General bug fixes
- Added ability to provide the name of the color at parity with Office and WinUI Color Picker.
**Color Picker**
- Color Picker's HEX format was changed to remove the `#` character. Thanks [@niels9001](https://github.com/niels9001)!
- Accessibility improvements for screen reader and UI to distinguish colors from the border when matching. Thanks [@niels9001](https://github.com/niels9001)!
**FancyZones**
- Allows to use Windows Snap on desktops that don't have a layout applied and for apps that are in the excluded list.
- Bug fixes
- Fixed Color Picker and OOBE windows from being snapped by FancyZones. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- Fixed regression with layouts not being changed via shortcuts.
- Fixed crashing issue with FancyZones editor.
- Fixed zone layouts resetting after screen locking.
- Accessibility improvements for screen reader in editor.
**Keyboard Manager**
- Fixed crashing issue when the editor is opened at high zoom on 4k monitors.
**PowerRename**
- New UI update! We hope you enjoy the modern experience and take advantage of new tool-tips to describe common regular expressions and text/file formatting. Thanks to [@niels9001](https://github.com/niels9001) for all the support on this redesign!
**PowerToys Run**
- Improved performance
- PT Run now supports accented characters.
- Windows Terminal Plugin added. Open shells through Windows Terminal via `_` activation command by default. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- Added environment variables to Folder plugin search. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- Fixed certain schemas that were overwritten with HTTPS. Thanks [@franky920920](https://github.com/franky920920)!
- Fixed issue with program plugin getting caught in infinite loops as certain file paths are recursively searched.
**Installer**
- Option to extract the MSI from the .exe for enterprise scenarios and more options to do unattended installations.
- Removed toast notifications during installation.
**Video Conference Mute**
- VCM added to stable releases of PowerToys!
We'd like to directly mention (in alphabetical order) for their continued community support this month and helping directly make PowerToys a better piece of software.
## Community contributions
[@Aaron-Junker](https://github.com/Aaron-Junker),
[@benjamhooper](https://github.com/benjamhooper),
[@davidegiacometti](https://github.com/davidegiacometti),
[@eriawan](https://github.com/eriawan),
[@htcfreek](https://github.com/htcfreek),
[@jay-o-way](https://github.com/jay-o-way),
[@jhutchings1](https://github.com/jhutchings1),
[@jsoref](https://github.com/jsoref),
[@martinchrzan](https://github.com/martinchrzan),
[@niels9001](https://github.com/niels9001),
[@riverar](https://github.com/riverar),
[@snickler](https://github.com/snickler),
and
[@TobiasSekan](https://github.com/TobiasSekan)
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.
#### What is being planned for v0.31 - January 2021
[@Aaron-Junker](https://github.com/Aaron-Junker), [@davidegiacometti](https://github.com/davidegiacometti), [@franky920920](https://github.com/franky920920), [@htcfreek](https://github.com/htcfreek), [@Jay-o-Way](https://github.com/Jay-o-Way), [@martinchrzan](https://github.com/martinchrzan), [@niels9001](https://github.com/niels9001), [@pritudev](https://github.com/pritudev), and [@TobiasSekan](https://github.com/TobiasSekan)
For [v0.31][github-next-release-work], we are proactively working on:
#### What is being planned for v0.51
- Stability
- ARM64 work
- Video conference mute investigation toward a DirectShow filter versus a driver
- OOBE work
For [v0.51][github-next-release-work], we are planning to work on:
- Initial development of Always on Top utility to allow users to persist desired windows in the foreground of their displays
- 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](https://github.com/microsoft/PowerToys/issues/10126)
- UI/UX investigations to adopt WinUI and improve accessibility
- Stability and bug fixes
- Update the PowerToys Build Pipeline to allow .NET 5 integration
## PowerToys Community
@@ -148,13 +159,13 @@ The application logs basic telemetry. Our Telemetry Data page (Coming Soon) has
[oss-CLA]: https://cla.opensource.microsoft.com
[oss-conduct-code]: CODE_OF_CONDUCT.md
[community-link]: COMMUNITY.md
[github-release-link]: https://github.com/microsoft/PowerToys/releases/
[github-release-link]: https://aka.ms/installPowerToys
[microsoft-store-link]: https://aka.ms/getPowertoys
[roadmap]: https://github.com/microsoft/PowerToys/wiki/Roadmap
[privacy-link]: http://go.microsoft.com/fwlink/?LinkId=521839
[vidConfOverview]: https://aka.ms/PowerToysOverview_VideoConference
[loc-bug]: https://github.com/microsoft/PowerToys/issues/new?assignees=&labels=&template=translation_issue.md&title=
[usingPowerToys-docs-link]: https://docs.microsoft.com/windows/powertoys/
[usingPowerToys-docs-link]: https://aka.ms/powertoys-docs
<!-- items that need to be updated release to release -->
[github-next-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aopen+is%3Aissue+project%3Amicrosoft%2FPowerToys%2F16
[github-prerelease-link]: https://github.com/microsoft/PowerToys/releases/tag/v0.28.0
[github-next-release-work]: https://github.com/microsoft/PowerToys/issues?q=is%3Aopen+is%3Aissue+project%3Amicrosoft%2FPowerToys%2F26

View File

@@ -1,5 +1,10 @@
# Support
## How to use Microsoft PowerToys
For more info on [PowerToys overviews and how to use the utilities][usingPowerToys-docs-link], or any other tools and resources for [Windows development environments](https://docs.microsoft.com/windows/dev-environment/overview), head over to [docs.microsoft.com][usingPowerToys-docs-link]!
## How to file issues and get help
This project uses [GitHub Issues][gh-issue] to [track bugs][gh-bug] and [feature requests][gh-feature]. Please search the existing issues before filing new issues to avoid duplicates. For new issues, file your bug or
@@ -15,4 +20,5 @@ Support for PowerToys is limited to the resources listed above.
[gh-bug]: https://github.com/microsoft/PowerToys/issues/new?assignees=&labels=Issue-Bug&template=bug_report.md&title=
[gh-feature]: https://github.com/microsoft/PowerToys/issues/new?assignees=&labels=&template=feature_request.md&title=
[wiki]: https://github.com/microsoft/PowerToys/wiki
[contributor]: https://github.com/microsoft/PowerToys/blob/master/CONTRIBUTING.md
[contributor]: https://github.com/microsoft/PowerToys/blob/main/CONTRIBUTING.md
[usingPowerToys-docs-link]: https://aka.ms/powertoys-docs

6
Solution.props Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<GeneratedFilesDir>$(IntDir)Generated Files\</GeneratedFilesDir>
</PropertyGroup>
</Project>

2
deps/cziplib vendored

2
deps/spdlog vendored

47
doc/devdocs/akaLinks.md Normal file
View File

@@ -0,0 +1,47 @@
# Full list of aka links
| ShortUrl | TargetUrl |
|----------|----------|
| getpowertoys | ms-windows-store://pdp/?productid=XP89DCGQ3K6VLD |
| installpowertoys | https://github.com/microsoft/PowerToys/releases/latest |
| powertoys-license | https://github.com/microsoft/PowerToys/blob/main/LICENSE |
| powertoys | https://github.com/microsoft/PowerToys |
| PowerToysAppCompat | https://github.com/microsoft/PowerToys/wiki/Application-Compatibility |
| powerToysCannotRemapKeys | https://docs.microsoft.com/windows/powertoys/keyboard-manager#keys-that-cannot-be-remapped |
| powerToysColorPickerImageSmall | https://github.com/microsoft/PowerToys/wiki/images/overview/ColorPicker_small.png |
| powerToysColorPickerSettingImage | https://raw.githubusercontent.com/microsoft/PowerToys/main/doc/images/overview/ColorPicker_large.png |
| powertoysDetectedElevatedHelp | https://docs.microsoft.com/windows/powertoys/administrator |
| powertoys-docs | https://docs.microsoft.com/windows/powertoys/?WT.mc_id=twitter-0000-docsmsft |
| powerToysFancyZoneImageSmall | https://github.com/microsoft/PowerToys/wiki/images/overview/FancyZones_small.png |
| powerToysFancyZoneSettingImage | https://raw.githubusercontent.com/microsoft/PowerToys/main/doc/images/overview/FancyZones_large.png |
| powerToysGiveFeedback | https://github.com/microsoft/PowerToys/issues |
| powerToysImageResizerImageSmall | https://github.com/microsoft/PowerToys/wiki/images/overview/ImageResizer_small.png |
| powerToysImageResizerSettingImage | https://raw.githubusercontent.com/microsoft/PowerToys/main/doc/images/overview/ImageResizer_large.png |
| powerToysKBMImageSmall | https://github.com/microsoft/PowerToys/wiki/images/overview/KBM_small.png |
| powerToysKBMSettingImage | https://raw.githubusercontent.com/microsoft/PowerToys/main/doc/images/overview/KBM_large.png |
| PowerToysOverview | https://docs.microsoft.com/windows/powertoys/ |
| PowerToysOverview_ColorPicker | https://docs.microsoft.com/windows/powertoys/color-picker |
| PowerToysOverview_FancyZones | https://docs.microsoft.com/windows/powertoys/fancyzones |
| PowerToysOverview_FileExplorerAddOns | https://docs.microsoft.com/windows/powertoys/file-explorer |
| PowerToysOverview_ImageResizer | https://docs.microsoft.com/windows/powertoys/image-resizer |
| PowerToysOverview_KeyboardManager | https://docs.microsoft.com/windows/powertoys/keyboard-manager |
| PowerToysOverview_MouseUtilities | https://docs.microsoft.com/windows/powertoys/mouse-utilities |
| PowerToysOverview_PowerRename | https://docs.microsoft.com/windows/powertoys/powerrename |
| PowerToysOverview_PowerToysRun | https://docs.microsoft.com/windows/powertoys/run |
| PowerToysOverview_ShortcutGuide | https://docs.microsoft.com/windows/powertoys/shortcut-guide |
| PowerToysOverview_VideoConference | https://docs.microsoft.com/windows/powertoys/video-conference-mute |
| powerToysPowerLauncherImageSmall | https://github.com/microsoft/PowerToys/wiki/images/overview/PowerLauncher_small.png |
| powerToysPowerLauncherSettingImage | https://raw.githubusercontent.com/microsoft/PowerToys/main/doc/images/overview/PowerLauncher_large.png |
| powerToysPowerPreviewImageSmall | https://github.com/microsoft/PowerToys/wiki/images/overview/PowerPreview_small.png |
| powerToysPowerPreviewSettingImage | https://raw.githubusercontent.com/microsoft/PowerToys/main/doc/images/overview/PowerPreview_large.png |
| powerToysPowerRenameImageSmall | https://github.com/microsoft/PowerToys/wiki/images/overview/PowerRename_small.png |
| powerToysPowerRenameSettingImage | https://raw.githubusercontent.com/microsoft/PowerToys/main/doc/images/overview/PowerRename_large.png |
| powerToysPTImageSmall | https://github.com/microsoft/PowerToys/wiki/images/overview/PT_small.png |
| powerToysPTSettingImage | https://raw.githubusercontent.com/microsoft/PowerToys/main/doc/images/overview/PT_large.png |
| powerToysReportBug | https://github.com/microsoft/PowerToys/issues/new?assignees=&labels=Issue-Bug%2CTriage-Needed&template=bug_report.yml&title= |
| powerToysRequestFeature | https://github.com/microsoft/PowerToys/issues/new?assignees=&labels=&template=feature_request.md&title= |
| powerToysShortcutGuideImageSmall | https://github.com/microsoft/PowerToys/wiki/images/overview/ShortcutGuide_small.png |
| powerToysShortcutGuideSettingImage | https://raw.githubusercontent.com/microsoft/PowerToys/main/doc/images/overview/ShortcutGuide_large.png |
| powerToysVideoConferenceImageSmall | https://github.com/microsoft/PowerToys/wiki/images/overview/VideoConference_small.png |
| powerToysVideoConferenceSettingImage | https://github.com/microsoft/PowerToys/wiki/images/overview/VideoConference_large.png |
| powertoyswiki | https://github.com/microsoft/PowerToys/wiki |

View File

@@ -0,0 +1,30 @@
# How to integrate new MSIX module with PowerToys Settings and WiX installer
[`issue_11705_with_example` branch](https://github.com/microsoft/PowerToys/tree/issue_11705_with_example) contains HelloWorld UWP C# MSIX application which reads its module settings and is installed along PowerToys.
## Steps
- uncomment everything near "TODO: Use to activate embedded MSIX" comments
- build PowerToys solution
- deploy HelloModule module and sign it with a self-signed certificate (don't forget to put it into a trusted store)
- build PowerToysSetup solution and install it
Type HelloModule into start search and observe that it was installed:
<img src="../images/msix/hello-module-start.png">
Open PowerToys settings and change the stub setting to something:
<img src="../images/msix/hello-module-settings-page.png">
Open HelloModule:
<img src="../images/msix/hello-module-screen.png">
First time you press "Load Settings", it'll detect that it doesn't have permissions to access local file system and open its system settings window, toggle it there:
<img src="../images/msix/hello-module-app-permissions.png">
(it's a known uwp limitation, see https://stackoverflow.com/a/53533414/657390)
HelloModule will close then, restart it, press "Load Settings" and you should see that the application was able to load the setting string which was set by the settings app:
<img src="../images/msix/hello-module-loaded-settings.png">

View File

@@ -12,11 +12,11 @@
5. [Enabling localized MSI for a new project](#enabling-localized-msi-for-a-new-project)
## Localization on the pipeline (CDPX)
[The localization step](https://github.com/microsoft/PowerToys/blob/86d77103e9c69686c297490acb04775d43ef8b76/.pipelines/pipeline.user.windows.yml#L45-L52) is run on the pipeline before the solution is built. This step runs the [build-localization](https://github.com/microsoft/PowerToys/blob/master/.pipelines/build-localization.cmd) script, which generates resx files for all the projects with localization enabled using the `Localization.XLoc` package.
[The localization step](https://github.com/microsoft/PowerToys/blob/86d77103e9c69686c297490acb04775d43ef8b76/.pipelines/pipeline.user.windows.yml#L45-L52) is run on the pipeline before the solution is built. This step runs the [build-localization](https://github.com/microsoft/PowerToys/blob/main/.pipelines/build-localization.cmd) script, which generates resx files for all the projects with localization enabled using the `Localization.XLoc` package.
The [`Localization.XLoc`](https://github.com/microsoft/PowerToys/blob/86d77103e9c69686c297490acb04775d43ef8b76/.pipelines/build-localization.cmd#L24-L25) tool is run on the repo root, and it checks for all occurrences of `LocProject.json`. Each localized project has a `LocProject.json` file in the project root, which contains the location of the English resx file, list of languages for localization, and the output path where the localized resx files are to be copied to. In addition to this, some other parameters can be set, such as whether the language ID should be added as a folder in the file path or in the file name. When the CDPX pipeline is run, the localization team is notified of changes in the English resx files. For each project with localization enabled, a `loc` folder (see [this](https://github.com/microsoft/PowerToys/tree/master/src/modules/launcher/Microsoft.Launcher/loc) for example) is created in the same directory as the `LocProject.json` file. The folder contains language specific folders which in turn have a nested folder path equivalent to `OutputPath` in the `LocProject.json`. Each of these folders contain one `lcl` file. The `lcl` files contain the English resources along with their translation for that language. These are described in more detail [here](#lcl-files). Once the `.resx` files are generated, they will be used during the `Build PowerToys` step for localized versions of the modules.
The [`Localization.XLoc`](https://github.com/microsoft/PowerToys/blob/86d77103e9c69686c297490acb04775d43ef8b76/.pipelines/build-localization.cmd#L24-L25) tool is run on the repo root, and it checks for all occurrences of `LocProject.json`. Each localized project has a `LocProject.json` file in the project root, which contains the location of the English resx file, list of languages for localization, and the output path where the localized resx files are to be copied to. In addition to this, some other parameters can be set, such as whether the language ID should be added as a folder in the file path or in the file name. When the CDPX pipeline is run, the localization team is notified of changes in the English resx files. For each project with localization enabled, a `loc` folder (see [this](https://github.com/microsoft/PowerToys/tree/main/src/modules/launcher/Microsoft.Launcher/loc) for example) is created in the same directory as the `LocProject.json` file. The folder contains language specific folders which in turn have a nested folder path equivalent to `OutputPath` in the `LocProject.json`. Each of these folders contain one `lcl` file. The `lcl` files contain the English resources along with their translation for that language. These are described in more detail [here](#lcl-files). Once the `.resx` files are generated, they will be used during the `Build PowerToys` step for localized versions of the modules.
Since the localization script requires certain nuget packages, the [`restore-localization`](https://github.com/microsoft/PowerToys/blob/master/.pipelines/restore-localization.cmd) script is run before running `build-localization` to install all the required packages. This script must [run in the `restore` step](https://github.com/microsoft/PowerToys/blob/86d77103e9c69686c297490acb04775d43ef8b76/.pipelines/pipeline.user.windows.yml#L37-L39) of pipeline because [the host is network isolated](https://onebranch.visualstudio.com/Pipeline/_wiki/wikis/Pipeline.wiki/2066/Consuming-Packages-in-a-CDPx-Pipelinhttps://onebranch.visualstudio.com/Pipeline/_wiki/wikis/Pipeline.wiki/2066/Consuming-Packages-in-a-CDPx-Pipeline?anchor=overview) at the `build` step. The [Toolset package source](https://github.com/microsoft/PowerToys/blob/86d77103e9c69686c297490acb04775d43ef8b76/.pipelines/pipeline.user.windows.yml#L23) is used for this.
Since the localization script requires certain nuget packages, the [`restore-localization`](https://github.com/microsoft/PowerToys/blob/main/.pipelines/restore-localization.cmd) script is run before running `build-localization` to install all the required packages. This script must [run in the `restore` step](https://github.com/microsoft/PowerToys/blob/86d77103e9c69686c297490acb04775d43ef8b76/.pipelines/pipeline.user.windows.yml#L37-L39) of pipeline because [the host is network isolated](https://onebranch.visualstudio.com/Pipeline/_wiki/wikis/Pipeline.wiki/2066/Consuming-Packages-in-a-CDPx-Pipelinhttps://onebranch.visualstudio.com/Pipeline/_wiki/wikis/Pipeline.wiki/2066/Consuming-Packages-in-a-CDPx-Pipeline?anchor=overview) at the `build` step. The [Toolset package source](https://github.com/microsoft/PowerToys/blob/86d77103e9c69686c297490acb04775d43ef8b76/.pipelines/pipeline.user.windows.yml#L23) is used for this.
The process and variables that can be tweaked on the pipeline are described in more detail [here](https://onebranch.visualstudio.com/Pipeline/_wiki/wikis/Pipeline.wiki/290/Localization).
@@ -31,7 +31,7 @@ UWP differs from this as it expects the resources to have the same Resources.res
For example, `path\en-us\Resources.resw` for English and `path\fr-fr\Resources.resw` for French.
Since the pipeline generates it in this format, [a script is run](https://github.com/microsoft/PowerToys/blob/86d77103e9c69686c297490acb04775d43ef8b76/.pipelines/build-localization.cmd#L29-L31) to move these resw files to the correct format expected by all UWP projects. Currently the only UWP project is [Microsoft.PowerToys.Settings.UI](https://github.com/microsoft/PowerToys/tree/master/src/core/Microsoft.PowerToys.Settings.UI). The script used for moving the resources can be [found here](https://github.com/microsoft/PowerToys/blob/master/tools/localization/move_uwp_resources.ps1). The equivalent full language IDs for each shortened language ID obtained from the pipeline has been hardcoded in the script.
Since the pipeline generates it in this format, [a script is run](https://github.com/microsoft/PowerToys/blob/86d77103e9c69686c297490acb04775d43ef8b76/.pipelines/build-localization.cmd#L29-L31) to move these resw files to the correct format expected by all UWP projects. Currently the only UWP project is [Microsoft.PowerToys.Settings.UI](https://github.com/microsoft/PowerToys/tree/main/src/core/Microsoft.PowerToys.Settings.UI). The script used for moving the resources can be [found here](https://github.com/microsoft/PowerToys/blob/main/tools/localization/move_uwp_resources.ps1). The equivalent full language IDs for each shortened language ID obtained from the pipeline has been hardcoded in the script.
## Enabling localization on a new project
To enable localization on a new project, the first step is to create a file `LocProject.json` in the project root.
@@ -58,7 +58,7 @@ The rest of the steps depend on the project type and are covered in the sections
### C++
C++ projects do not support `resx` files, and instead use `rc` files along with `resource.h` files. The CDPX pipeline however doesn't support localizing `rc` files and the other alternative they support is directly translating the resources from the binary which makes it harder to maintain resources. To avoid this, a custom script has been added which expects a resx file and converts the entries to an rc file with a string table and adds resource declarations to a resource.h file so that the resources can be compiled with the C++ project.
If you already have a .rc file, copy the string table to a separate txt file and run the [convert-stringtable-to-resx.ps1](https://github.com/microsoft/PowerToys/blob/master/tools/build/convert-stringtable-to-resx.ps1) script on it. This script is not very robust to input, and requires the data in a specific format, where `IDS_ResName L"ResourceValue"` and any number of spaces can be present in between. The script converts this file to the format expected by [`resgen`](https://docs.microsoft.com/en-us/dotnet/framework/tools/resgen-exe-resource-file-generator#Convert), which will convert it to resx. The resource names are changed from all uppercase to title case, and the `IDS_` prefix is removed. Escape characters might have to be manually replaced, for example .rc files would have escaped double quotes as `""`, so this should be replaced with just `"` before converting to the resx files.
If you already have a .rc file, copy the string table to a separate txt file and run the [convert-stringtable-to-resx.ps1](https://github.com/microsoft/PowerToys/blob/main/tools/build/convert-stringtable-to-resx.ps1) script on it. This script is not very robust to input, and requires the data in a specific format, where `IDS_ResName L"ResourceValue"` and any number of spaces can be present in between. The script converts this file to the format expected by [`resgen`](https://docs.microsoft.com/en-us/dotnet/framework/tools/resgen-exe-resource-file-generator#Convert), which will convert it to resx. The resource names are changed from all uppercase to title case, and the `IDS_` prefix is removed. Escape characters might have to be manually replaced, for example .rc files would have escaped double quotes as `""`, so this should be replaced with just `"` before converting to the resx files.
After generating the resx file, rename the existing rc and h files to ProjName.base.rc and resource.base.h. In the rc file remove the string table which is to be localized and in the .h file remove all `#define`s corresponding to localized resources. In the vcxproj of the C++ project, add the following build event:
```
@@ -67,7 +67,7 @@ After generating the resx file, rename the existing rc and h files to ProjName.b
</Target>
```
This event runs a script which generates a resource.h and ProjName.rc in the `Generated Files` folder using the strings in all the resx files along with the existing information in resource.base.h and ProjName.base.rc. The script can be found [here](https://github.com/microsoft/PowerToys/blob/master/tools/build/convert-resx-to-rc.ps1). The script uses [`resgen`](https://docs.microsoft.com/en-us/dotnet/framework/tools/resgen-exe-resource-file-generator#Convert) to convert the resx file to a string table expected in the .rc file format. When the resources are added to the rc file the `IDS_` prefix is added and resource names are in upper case (as it was originally). Any occurrences of `"` in the string resource is escaped as `""` to prevent build errors. The string tables are added to the rc file in the following format:
This event runs a script which generates a resource.h and ProjName.rc in the `Generated Files` folder using the strings in all the resx files along with the existing information in resource.base.h and ProjName.base.rc. The script can be found [here](https://github.com/microsoft/PowerToys/blob/main/tools/build/convert-resx-to-rc.ps1). The script uses [`resgen`](https://docs.microsoft.com/en-us/dotnet/framework/tools/resgen-exe-resource-file-generator#Convert) to convert the resx file to a string table expected in the .rc file format. When the resources are added to the rc file the `IDS_` prefix is added and resource names are in upper case (as it was originally). Any occurrences of `"` in the string resource is escaped as `""` to prevent build errors. The string tables are added to the rc file in the following format:
```
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
@@ -84,7 +84,7 @@ Since there is no API to identify the `AFX_TARG_*`, `LANG_*` or `SUBLANG_*` valu
<None Include="Resources.resx" />
```
Some rc/resource.h files might be used in multiple projects (for example, KBM). To ensure the projects build for these cases, the build event can be added to the entire directory so that the rc files are generated before any project is built. See [Directory.Build.targets](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/Directory.Build.targets) for an example.
Some rc/resource.h files might be used in multiple projects (for example, KBM). To ensure the projects build for these cases, the build event can be added to the entire directory so that the rc files are generated before any project is built. See [Directory.Build.targets](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/Directory.Build.targets) for an example.
Check [this PR](https://github.com/microsoft/PowerToys/pull/6104) for an example for making these changes for a C++ project.

View File

@@ -66,10 +66,10 @@ This file contains documentation for all the methods involved in key/shortcut re
[This method](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/dll/KeyboardEventHandlers.cpp#L126-L176) was added to support a feature for converting the behavior of a key from behaving like a toggle (like Caps Lock/Num Lock) to a modifier (like Ctrl), such that when you hold Caps Lock it would behave as if Caps Lock was active, and when it was not pressed Caps Lock would be off. For Caps Lock this would be similar to behaving like Shift, but for Num Lock there is no existing key which can substitute for this. This was added while testing out remapping for the KBM PoC, but wasn't added as a feature since it wasn't a priority.
## Tests
In order to test the remapping logic, a mocked keyboard input handler had to be created because otherwise the tests would process and send actual key events. For this the [`InputInterface`](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/common/InputInterface.h) was made, and in production code the methods are implemented using [`SendInput`](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendinput) and [`GetAsyncKeyState`](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getasynckeystate). In addition to this, [`GetCurrentApplication`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/Helpers.cpp#L226-L268) had to be mocked so that app-specific remapping can be tested.
In order to test the remapping logic, a mocked keyboard input handler had to be created because otherwise the tests would process and send actual key events. For this the [`InputInterface`](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/common/InputInterface.h) was made, and in production code the methods are implemented using [`SendInput`](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendinput) and [`GetAsyncKeyState`](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getasynckeystate). In addition to this, [`GetCurrentApplication`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/Helpers.cpp#L226-L268) had to be mocked so that app-specific remapping can be tested.
### MockedInput
The [`MockedInput`](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/test/MockedInput.h) class uses a 256 size `bool` vector to store the key state for each key code. Identifying the foreground process is mocked by simply setting and getting a string value for the name of the current process.
The [`MockedInput`](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/test/MockedInput.h) class uses a 256 size `bool` vector to store the key state for each key code. Identifying the foreground process is mocked by simply setting and getting a string value for the name of the current process.
[To mock the `SendInput` method](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/test/MockedInput.cpp#L10-L110), the steps for processing the input are as follows. This implementation is based on public documentation for SendInput and the behavior of key messages and keyboard hooks:
- Iterate over all the inputs in the INPUT array argument
@@ -81,4 +81,4 @@ The [`MockedInput`](https://github.com/microsoft/PowerToys/blob/master/src/modul
- For modifiers the behavior is slightly different as if the key state of the L/R version is modified, it should also modify the common version, and if a common version is released, it should release both the L and R versions.
### Tests for single key remaps and shortcut remaps
Using the MockedInput handler, all the expected (and known) key scenarios that can occur for while pressing a [remapped key](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/test/SingleKeyRemappingTests.cpp) or [remapped shortcut](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/test/OSLevelShortcutRemappingTests.cpp) are tested. The foreground app behavior which is specific to app-specific shortcuts is tested [here](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/test/AppSpecificShortcutRemappingTests.cpp).
Using the MockedInput handler, all the expected (and known) key scenarios that can occur for while pressing a [remapped key](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/test/SingleKeyRemappingTests.cpp) or [remapped shortcut](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/test/OSLevelShortcutRemappingTests.cpp) are tested. The foreground app behavior which is specific to app-specific shortcuts is tested [here](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/test/AppSpecificShortcutRemappingTests.cpp).

View File

@@ -185,7 +185,7 @@ This method is used by [SharpKeys](https://github.com/randyrants/sharpkeys) and
Using a driver approach has the benefit of not depending on precedence orders as KBM could always run before low level hooks, and it also has the benefit of differentiating between different keyboards, allowing [multi keyboard-specific remaps](https://github.com/microsoft/PowerToys/issues/1460). The disadvantages are however that any bug or crash could have system level consequences. [Interception](https://github.com/oblitum/Interception) is an open source driver that could be used for implementing this. The approach was deprioritized due to the potential side effects.
## Telemetry
Keyboard Manager emits the following telemetry events (implemented in [trace.h](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/common/trace.h) and [trace.cpp](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/common/trace.cpp)):
Keyboard Manager emits the following telemetry events (implemented in [trace.h](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/common/trace.h) and [trace.cpp](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/common/trace.cpp)):
- **`KeyboardManager_EnableKeyboardManager`:** Logs a `boolean` value storing the KBM toggle state. It is logged whenever KBM is enabled or disabled (emitted [here](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/dll/dllmain.cpp#L305-L316)).
- **`KeyboardManager_KeyRemapCount`:** Logs the number of key to key and key to shortcut remaps (i.e. all the remaps on the Remap a key window). This gets logged on saving new settings in the Remap a key window (emitted [here](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/LoadingAndSavingRemappingHelper.cpp#L159-L163)).
- **`KeyboardManager_OSLevelShortcutRemapCount`:** Logs the number of global shortcut to shortcut and shortcut to key remaps. This gets logged on saving new settings in the Remap a shortcut window (emitted [here](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/LoadingAndSavingRemappingHelper.cpp#L220)).

View File

@@ -17,7 +17,7 @@ This project contains any code that is to be shared between the backend and UI p
1. [Foreground App Detection](#Foreground-App-Detection)
## KeyboardManagerState
[This class](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/common/KeyboardManagerState.cpp) stores all the data related to remappings and is also used in the sense of a View Model as it used to communicate common data that is shared between the KBM UI and the backend. They are accessed on the UI controls using static class members of `SingleKeyRemapControl` and `ShortcutControl`.
[This class](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/common/KeyboardManagerState.cpp) stores all the data related to remappings and is also used in the sense of a View Model as it used to communicate common data that is shared between the KBM UI and the backend. They are accessed on the UI controls using static class members of `SingleKeyRemapControl` and `ShortcutControl`.
### UI States
[UI states](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyboardManagerState.h#L27-L42) are used to keep track in which step of the UI flow is the user at, such as which Remap window they are on, or if they have one of the Type windows open. This is required because the hook needs to suppress input and update UI in some cases, and in some cases remappings have to be disabled altogether.
@@ -37,12 +37,12 @@ The [`SaveConfigToFile`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a
To prevent the UI thread and low level hook thread from concurrently accessing the remap tables we use an [`atomic bool` variable](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyboardManagerState.h#L91-L92), which is set to `true` while the tables are getting updated. When this is `true` the hook will skip all remappings. Use of mutexes in the hook were removed to prevent re-entrant mutex bugs.
## KeyDelay
[This class](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/common/KeyDelay.cpp) implements a queue based approach for processing key events and based on the time difference between key down and key up events [executes separate methods for `ShortPress`, `LongPress` or `LongPressReleased`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyDelay.h#L69-L72). The class is used for the hold Enter/Esc functionality required for making the Type window accessible and prevent keyboard traps (see [this](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/SingleKeyRemapControl.cpp#L273-L292) for an example of it's usage). The `KeyEvents` are added to the queue from the hook thread of KBM, and a separate [`DelayThread`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyDelay.cpp#L142-L166) is used to process the key events by checking the `time` member in the key event. The thresholds for short vs long press and hold wait timeouts are `static` constants, but if the module is extended for other purposes these could be made into arguments.
[This class](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/common/KeyDelay.cpp) implements a queue based approach for processing key events and based on the time difference between key down and key up events [executes separate methods for `ShortPress`, `LongPress` or `LongPressReleased`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyDelay.h#L69-L72). The class is used for the hold Enter/Esc functionality required for making the Type window accessible and prevent keyboard traps (see [this](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/SingleKeyRemapControl.cpp#L273-L292) for an example of it's usage). The `KeyEvents` are added to the queue from the hook thread of KBM, and a separate [`DelayThread`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyDelay.cpp#L142-L166) is used to process the key events by checking the `time` member in the key event. The thresholds for short vs long press and hold wait timeouts are `static` constants, but if the module is extended for other purposes these could be made into arguments.
**Note:** [Deletion of the `KeyDelay`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyDelay.cpp#L4-L12) object should never be called from the `DelayThread` i.e. from within one of the 3 handlers, as it can re-enter the mutex and would lead to a deadlock. This can be avoided by either deleting it on a separate thread or as done in the KBM UI, on the dispatcher thread. See [this PR](https://github.com/microsoft/PowerToys/pull/6959#issue-496583547) for more details on this issue.
## Shortcut and RemapShortcut classes
The [`Shortcut` class](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/common/Shortcut.h) is a data structure for storing key combinations which are valid shortcuts and it contains several methods which are used for shortcut specific operations. [`RemapShortcut`](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/common/RemapShortcut.h) consists of a shortcut/key union (`std::variant`), along with other boolean flags which are required on the hook side for storing any relevant keyboard states mid-execution.
The [`Shortcut` class](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/common/Shortcut.h) is a data structure for storing key combinations which are valid shortcuts and it contains several methods which are used for shortcut specific operations. [`RemapShortcut`](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/common/RemapShortcut.h) consists of a shortcut/key union (`std::variant`), along with other boolean flags which are required on the hook side for storing any relevant keyboard states mid-execution.
### IsKeyboardStateClearExceptShortcut
[This method](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/Shortcut.cpp#L665-L813) is used by the `HandleShortcutRemapEvent` to check if any other keys on the keyboard have been pressed apart from the keys in the shortcut. This is required because shortcut to shortcut remaps should not be applied if the shortcut is pressed with other keys. The method iterates over all the possible key codes, except any keys that are considered reserved, unassigned, OEM-specific or undefined, as well as mouse buttons (see list [here](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/Shortcut.cpp#L628-L663)).
@@ -51,13 +51,13 @@ The [`Shortcut` class](https://github.com/microsoft/PowerToys/blob/master/src/mo
[This method](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/Shortcut.cpp#L517-L614) uses `GetVirtualKeyState` (internally calls `GetAsyncKeyState` in production code), to check if all the modifiers of the current shortcut are being pressed. Since Win doesn't have a non-L/R key code we check this by checking both LWIN and RWIN.
### Tests
Tests for some methods in the `Shortcut` class can be found [here](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/test/ShortcutTests.cpp).
Tests for some methods in the `Shortcut` class can be found [here](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/test/ShortcutTests.cpp).
## Helpers
[This namespace](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/common/Helpers.cpp) has any methods which are used across either UI or the backend which aren't specific to either. Some of these methods have tests [here](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/test/SetKeyEventTests.cpp).
[This namespace](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/common/Helpers.cpp) has any methods which are used across either UI or the backend which aren't specific to either. Some of these methods have tests [here](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/test/SetKeyEventTests.cpp).
### Foreground App Detection
[`GetCurrentApplication`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/Helpers.cpp#L226-L268) is used for detecting the foreground process for App-specific shortcuts. The logic is very similar to that used for FZ's app exception feature, involving `GetForegroundWindow` and `get_process_path`. The one additional case which has been added is for full-screen UWP apps, where the above method fails and returns `ApplicationFrameHost.exe`. The [`GetFullscreenUWPWindowHandle`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/Helpers.cpp#L210-L224) uses `GetGUIThreadInfo` API to find the window linked to the GUI thread. This logic is based on [this stackoverflow answer](https://stackoverflow.com/questions/39702704/connecting-uwp-apps-hosted-by-applicationframehost-to-their-real-processes/55353165#55353165).
**Note:** The [`GetForegroundProcess` method](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/dll/Input.cpp#L17-L21) performs string allocation in a weird way because of exceptions that were occurring while running tests as a result of memory being allocated or deallocated across dll boundaries. Here's the comment from the PR where this was added
> To make app-specific logic test-able, a GetForegroundProcess was added to the input interface which internally calls GetCurrentApplication. This allows us to mock this method in the test project by just setting some process name as the foreground process for that function. When I set this to just return the string name, it would goes runtime errors on the test project in debug_heap with `__acrt_first_block == header`. Based on [this stackoverflow answer](https://stackoverflow.com/a/35311928), this would happen if allocation happens in one dll's code space and deallocation happens in another. One way to avoid this is to change both the projects to MD (multi threaded dll) instead of MT(multi threaded), however that results in many compile-time errors since all the PT projects are configured as MT. To solve this, the GetForegroundProcess was rewritten such that its argument is the output variable, and we allocate memory for that string within the AppSpecificHandler method rather than in that function.
> To make app-specific logic test-able, a GetForegroundProcess was added to the input interface which internally calls GetCurrentApplication. This allows us to mock this method in the test project by just setting some process name as the foreground process for that function. When I set this to just return the string name, it would goes runtime errors on the test project in debug_heap with `__acrt_first_block == header`. Based on [this stackoverflow answer](https://stackoverflow.com/a/35311928), this would happen if allocation happens in one dll's code space and deallocation happens in another. One way to avoid this is to change both the projects to MD (multi threaded dll) instead of MT(multi threaded), however that results in many compile-time errors since all the PT projects are configured as MT. To solve this, the GetForegroundProcess was rewritten such that its argument is the output variable, and we allocate memory for that string within the AppSpecificHandler method rather than in that function.

View File

@@ -24,7 +24,7 @@ The KBM UI is implemented as a C++ XAML Island, but all the controls are impleme
The windows are [created as C++ windows](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L128-L140) and the window sizes are set to default by [scaling them as per DPI](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L120-L126) using the `DPIAware::Convert` API from common lib. Since the UI is launched on a new thread, the window may not be in the foreground, so [we call `SetForegroundWindow`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L146-L150).
`DesktopWindowXamlSource` has to be declared and [it is initialized](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L159-L162) using the [`XamlBridge`](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/ui/XamlBridge.cpp), and [a second window handle](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L161-L162) is generated for the internal Xaml Island window. Most of the code was based on the [Xaml Island Sample](https://github.com/microsoft/Xaml-Islands-Samples/blob/master/Samples/Win32/SampleCppApp/XamlBridge.cpp). The `XamlBridge` class contains code which handles initializing the Xaml Island containers as well as handling special messages like keyboard navigation, and focus between islands and between the C++ window and the island. It also has methods for clearing the xaml islands and closing the window.
`DesktopWindowXamlSource` has to be declared and [it is initialized](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L159-L162) using the [`XamlBridge`](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/ui/XamlBridge.cpp), and [a second window handle](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L161-L162) is generated for the internal Xaml Island window. Most of the code was based on the [Xaml Island Sample](https://github.com/microsoft/Xaml-Islands-Samples/blob/master/Samples/Win32/SampleCppApp/XamlBridge.cpp). The `XamlBridge` class contains code which handles initializing the Xaml Island containers as well as handling special messages like keyboard navigation, and focus between islands and between the C++ window and the island. It also has methods for clearing the xaml islands and closing the window.
Once the UI controls are created, the parent container is set as the content for the `DesktopWindowXamlSource` and the `XamlBridge.MessageLoop` is executed. Messages are processed by the C++ window handler like [`EditKeyboardWindowProc`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L364-L404). The general structure we use for this is, for any `WM_PAINT` or `WM_SIZE` message we resize the Xaml Island window. For `WM_GETMINMAXINFO` we set minimum widths so that the window cannot be resized beyond a minimum height and width. This is done to prevent the WinUI elements from overlapping and getting cropped. If it is neither of these cases we send the message to the [`XamlBridge.MessageHandler`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/XamlBridge.cpp#L291-L301) which handles Destroy, Activation and Focus. If `WM_NCDESTROY` is received when the `XamlBridge` is `nullptr`, the window thread is terminated.
@@ -41,7 +41,7 @@ To access the brushes available on C# Xaml, it has to be done with the `Resource
`primaryButton.Background(Windows::UI::Xaml::Application::Current().Resources().Lookup(box_value(L"SystemControlBackgroundBaseMediumLowBrush")).as<Windows::UI::Xaml::Media::SolidColorBrush>());`
## UI Structure
The KBM UI consists of a [`Grid` with several columns](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L200-L218). Rows are added dynamically when [the add button is pressed](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L305-L309). [A vector of vector of unique pointers to `SingleKeyRemapControl`/`ShortcutControl`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L248-L249) is created so that references to the UI components and their data are not lost until the window is closed. [`SingleKeyRemapControl`](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/ui/SingleKeyRemapControl.cpp) is the UI class for each row of the Remap keys table, and [`ShortcutControl`](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/ui/ShortcutControl.cpp) is the UI class for each row of the Remap shortcuts table. [`KeyDropDownControl`](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/ui/KeyDropDownControl.cpp) is used for handling the ComboBox operations. Each of these two classes [have vectors of unique pointers to the `KeyDropDownControl` objects](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/ShortcutControl.h#L44-L45) so that references to the objects are active until the control is deleted.
The KBM UI consists of a [`Grid` with several columns](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L200-L218). Rows are added dynamically when [the add button is pressed](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L305-L309). [A vector of vector of unique pointers to `SingleKeyRemapControl`/`ShortcutControl`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L248-L249) is created so that references to the UI components and their data are not lost until the window is closed. [`SingleKeyRemapControl`](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/ui/SingleKeyRemapControl.cpp) is the UI class for each row of the Remap keys table, and [`ShortcutControl`](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/ui/ShortcutControl.cpp) is the UI class for each row of the Remap shortcuts table. [`KeyDropDownControl`](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/ui/KeyDropDownControl.cpp) is used for handling the ComboBox operations. Each of these two classes [have vectors of unique pointers to the `KeyDropDownControl` objects](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/ShortcutControl.h#L44-L45) so that references to the objects are active until the control is deleted.
When the UI windows are activated the `KeyboardManagerState` object [sets the `UIState` variable](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp#L251-L252) which is used for distinguishing if the UI is up from the keyboard hook thread. The [states are also updated](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/SingleKeyRemapControl.cpp#L53) on opening and closing the Type window.
@@ -89,7 +89,7 @@ On making a selection in the drop down, [the selection handler](https://github.c
- Conflicting modifier previously remapped (Ctrl->A and Ctrl(left)->B, since Ctrl also includes Ctrl(left))
If the selection is found to be valid, the `singleKeyRemapBuffer` is updated accordingly.
For handling `Shortcut` and key in the remap buffer for the right column, we use `std::variant`, which allows us to store either of the two types and check which one of them is present in the buffer by using the `index` method.
[`ValidateAndUpdateKeyBufferElement`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/BufferValidationHelpers.cpp#L8-L66) does not reference any UI components and instead takes all the relevant data as arguments. This method [has tests](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/test/BufferValidationTests.cpp) which covers all the cases that could arise from making selections on the UI.
[`ValidateAndUpdateKeyBufferElement`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/BufferValidationHelpers.cpp#L8-L66) does not reference any UI components and instead takes all the relevant data as arguments. This method [has tests](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/test/BufferValidationTests.cpp) which covers all the cases that could arise from making selections on the UI.
### Shortcut ComboBox Selection Handler
On making a selection in the drop down, [the selection handler](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/KeyDropDownControl.cpp#L215-L295) validates the input with the buffer from the other column and other rows. Error messages are shown using flyouts if the selection is not considered valid and the drop down and buffer for that entry are reset to empty selection.
@@ -115,7 +115,7 @@ Unlike the Single Key handler, there is a different set of errors that can occur
- Conflicting shortcut previously remapped for same target app (Ctrl+A->B and Ctrl(left)+A->C, since Ctrl also includes Ctrl(left))
- Illegal shortcut remaps like Win+L or Ctrl+Alt+Del (since these cannot be remapped using LL hooks)
[`ValidateShortcutBufferElement`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/BufferValidationHelpers.cpp#L68-L304) does not reference any UI components and instead takes all the relevant data as arguments. This method [has tests](https://github.com/microsoft/PowerToys/blob/master/src/modules/keyboardmanager/test/BufferValidationTests.cpp) which covers all the cases that could arise from making selections on the UI.
[`ValidateShortcutBufferElement`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/BufferValidationHelpers.cpp#L68-L304) does not reference any UI components and instead takes all the relevant data as arguments. This method [has tests](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/test/BufferValidationTests.cpp) which covers all the cases that could arise from making selections on the UI.
**Note:** After updating the buffer we have [code to handle a special case](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/KeyDropDownControl.cpp#L269-L279), which was required to prevent scenarios where a drop down can get deleted but the corresponding `KeyDropDownControl` object isn't deleted. The code checks if the drop down is still linked to the parent and accordingly deletes the `KeyDropDownControl` object from the vector.

View File

@@ -3,7 +3,7 @@
## Debugging Prerequisite
Setup development environment for PowerToys by following instruction [here.](https://github.com/microsoft/PowerToys/tree/master/doc/devdocs#prerequisites-for-compiling-powertoys)
Setup development environment for PowerToys by following instruction [here.](https://github.com/microsoft/PowerToys/tree/main/doc/devdocs#prerequisites-for-compiling-powertoys)
## Direct debugging
This approach is used to test UI, plugins, and core `PowerToys Run` functionality. This **cannot** be used to test `PowerToys Run` settings. The approach is significantly faster compared to `Debugging with runner`, as it requires compiling projects relevant to `PowerToys Run`. Please follow the steps below for direct debugging.

View File

@@ -0,0 +1,37 @@
# New plugin checklist
- [ ] The plugin is a project under `modules\launcher\Plugins`
- [ ] Microsoft plugin project name pattern: `Microsoft.PowerToys.Run.Plugin.{PluginName}`
- [ ] Community plugin project name pattern: `Community.PowerToys.Run.Plugin.{PluginName}`
- [ ] [`GlobalSuppressions.cs`](/src/codeAnalysis/GlobalSuppressions.cs) and [`StyleCop.json`](/src/codeAnalysis/StyleCop.json) have to be included in the plugin project so it follows PowerToys code guidelines
- [ ] The project file should import `Version.props` and specify `<Version>$(Version).0</Version>`
- [ ] Make sure `*.csproj` specify only x64 platform target
- [ ] The plugin has to contain a `plugin.json` file of the following format in its root folder
```
{
"ID": string, // GUID string
"ActionKeyword": string, // Direct activation phrase
"IsGlobal": boolean,
"Name": string, // Has to be unique, same as 'PluginName' in the project name pattern
"Author": string,
"Version": "1.0.0", // For future compatibility
"Language": "csharp", // So far we support only csharp
"Website": "https://aka.ms/powertoys",
"ExecuteFileName": string, // Should be {Type}.PowerToys.Run.Plugin.{PluginName}.dll
"IcoPathDark": string, // Path to dark theme icon. The path is relative to the root plugin folder
"IcoPathLight": string // Path to light theme icon. The path is relative to the root plugin folder
}
```
- [ ] Do not use plugin name or PowerToys as prefixes for entities inside of the plugin project
- [ ] The plugin has to have Unit tests. Use MSTest framework
- [ ] To enable localization add `LocProject.json` file to the plugin root folder. For details see [`localization.md`](/doc/devdocs/localization.md#enabling-localization-on-a-new-project)
- [ ] Plugin's output code and assets have to be included in the installer [`Product.wxs`](/installer/PowerToysSetup/Product.wxs)
- [ ] Test the plugin with a local build. Build the installer, install, check that the plugin works as expected
- [ ] All plugin's binaries have to be included in the signed build [`pipeline.user.windows.yml`](/.pipelines/pipeline.user.windows.yml)
- [ ] The plugin target framework has to be .NET Core 3.1. All dependencies have to have .NET 5 version
Some localization steps can only be done after the first pass by the localization team to provide the localized resources.
In the PR that adds a new plugin, reference a new issue to track the work for fully enabling localization for the new plugin.
- [ ] Add the resource folder to https://github.com/microsoft/PowerToys/blob/21247c0bb09a1bee3d14d6efa53d0c247f7236af/installer/PowerToysSetup/Product.wxs#L825
- [ ] Add the resource files under the section https://github.com/microsoft/PowerToys/blob/21247c0bb09a1bee3d14d6efa53d0c247f7236af/installer/PowerToysSetup/Product.wxs#L882

View File

@@ -3,18 +3,18 @@ The Calculator plugin as the name suggests is used to perform calculations on th
![Image of Calculator plugin](/doc/images/launcher/plugins/calculator.png)
### [`CalculateHelper`](src/modules/launcher/Plugins/Microsoft.Plugin.Calculator/CalculateHelper.cs)
- The [`CalculateHelper.cs`](src/modules/launcher/Plugins/Microsoft.Plugin.Calculator/CalculateHelper.cs) class checks to see if the user entered query is a valid input to the calculator and only if the input is valid does it perform the operation.
### [`CalculateHelper`](/src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/CalculateHelper.cs)
- The [`CalculateHelper.cs`](src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/CalculateHelper.cs) class checks to see if the user entered query is a valid input to the calculator and only if the input is valid does it perform the operation.
- It does so by matching the user query to a valid regex.
### [`CalculateEngine`](src/modules/launcher/Plugins/Microsoft.Plugin.Calculator/CalculateEngine.cs)
- The main computation is done in the [`CalculateEngine.cs`](src/modules/launcher/Plugins/Microsoft.Plugin.Calculator/CalculateEngine.cs) file using the `Mages` library.
### [`CalculateEngine`](src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/CalculateEngine.cs)
- The main computation is done in the [`CalculateEngine.cs`](src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/CalculateEngine.cs) file using the `Mages` library.
```csharp
var result = CalculateEngine.Interpret(query.Search, CultureInfo.CurrentUICulture);
```
### [`CalculateResult`](src/modules/launcher/Plugins/Microsoft.Plugin.Calculator/CalculateResult.cs)
### [`CalculateResult`](src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/CalculateResult.cs)
- The class which encapsulates the result of the computation.
- It comprises of the `Result` and `RoundedResult` properties.

View File

@@ -0,0 +1,31 @@
# Unit Converter Plugin
The Unit Convert plugin as the name suggests is used to perform unit conversion on the user entered query.
This plugin uses a package called [UnitsNet](https://github.com/angularsen/UnitsNet).
![Image of Calculator plugin](/doc/images/launcher/plugins/community.unitconverter.png)
### Currently Supported Units
- [Acceleration](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/AccelerationUnit.g.cs)
- [Angle](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/AngleUnit.g.cs)
- [Area](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/AreaUnit.g.cs)
- [Duration](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/DurationUnit.g.cs)
- [Energy](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/EnergyUnit.g.cs)
- [Information](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/InformationUnit.g.cs)
- [Length](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/LengthUnit.g.cs)
- [Mass](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/MassUnit.g.cs)
- [Power](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/PowerUnit.g.cs)
- [Pressure](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/PressureUnit.g.cs)
- [Speed](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/SpeedUnit.g.cs)
- [Temperature](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/TemperatureUnit.g.cs)
- [Volume](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs)
These are the ones that are currently enabled (though UnitsNet supports many more). They are defined in [`Main.cs`](/src/modules/launcher/Plugins/Community.PowerToys.Run.UnitConverter/Main.cs).
### [`InputInterpreter`](/src/modules/launcher/Plugins/Community.PowerToys.Run.UnitConverter/InputInterpreter.cs)
- Class which manipulates user input such that it may be interpreted correctly and thus converted.
- Uses a regex amongst other things to do this.
### [`UnitHandler`](/src/modules/launcher/Plugins/Community.PowerToys.Run.UnitConverter/UnitHandler.cs)
- Class that does the actual conversion.
- Supports abbreviations in user input (single, double, or none).

View File

@@ -32,4 +32,7 @@ Each plugin implements the `IPlugin` interface which comprises of the `Init()` a
### Score
- The user query is executed against each of the plugins and the result list view is updated with results from each of the plugins.
- The ordering of the results is based on the `Score` of each Result.
- Each plugin assigns a score to a result based on it's relevance. The results with higher scores are displayed higher in the list view and vice versa.
- Each plugin assigns a score to a result based on it's relevance. The results with higher scores are displayed higher in the list view and vice versa.
## Plugin settings
Plugin settings that are editable from the settings are stored in `PowerToys Run\settings.json`. In the very first run, those settings are populated from plugin' `plugin.json` file. Unlike Wox we do not support multiple action keywords. Instead, we have `ActionKeyword` and `IsGlobal` options.

View File

@@ -0,0 +1,101 @@
# Registry Plugin
The registry plugin allows users to search the Windows registry.
## Special functions (differ from the regular functions)
* Support full base keys and short base keys (e.g. `HKLM` for `HKEY_LOCALE_MACHINE`).
* Show count of subkeys and count of values in the second result line.
* Search for value names and value data inside a registry key (syntax: `[RegistryKey]\\[ValueName]` and `[RegistryKey]\\[ValueData]`)
## The Windows Registry
The registry contains all settings for the Windows operating system and many settings of the installed (Windows only) programs.
*Note: Linux and macOS program ports typical store the settings in it's own configuration files and not in the Windows registry.*
For more information about the Windows registry, see [the official documentation](https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry).
For advanced information about the Windows registry, see [Windows registry information for advanced users](https://docs.microsoft.com/en-us/troubleshoot/windows-server/performance/windows-registry-advanced-users).
## Score
The score is currently not set on the results.
## Important for developers
### General
* The assembly name is cached into `_assemblyName` (to avoid to many calls of `Assembly.GetExecutingAssembly()`)
### Results
* All results override the visible search result via `QueryTextDisplay` to avoid problems with short registry base keys (e.g. `HKLM`).
* The length of a `Title` and `Subtitle` is automatic truncated, when it is to long.
## Microsoft.Plugin.Registry project
### Important plugin values (meta-data)
| Name | Value |
| --------------- | --------------------------------------------- |
| ActionKeyword | `:` |
| ExecuteFileName | `Microsoft.PowerToys.Run.Plugin.Registry.dll` |
| ID | `303417D927BF4C97BCFFC78A123BE0C8` |
### Interfaces used by this plugin
The plugin use only these interfaces (all inside the `Main.cs`):
* `Wox.Plugin.IPlugin`
* `Wox.Plugin.IContextMenu`
* `Wox.Plugin.IPluginI18n`
* `System.IDisposable`
### Program files
| File | Content |
| ------------------------------------ | ------------------------------------------------------------------------ |
| `Classes\RegistryEntry.cs` | Wrapper class for a registry key with a possible exception on access |
| `Constants\KeyName.cs` | Static used short registry key names (to avoid code and string doubling) |
| `Constants\MaxTextLength.cs` | Contain all maximum text lengths (for truncating) |
| `Enumeration\TruncateSide.cs` | Contain the possible truncate sides |
| `Helper\ContextMenuHelper.cs` | All functions to build the context menu (for each result entry) |
| `Helper\QueryHelper.cs` | All functions to analyze the search query |
| `Helper\RegistryHelper.cs` | All functions to search into the Windows registry (via `Win32.Registry`) |
| `Helper\ResultHelper.cs` | All functions to convert internal results into WOX results |
| `Helper\ValueHelper.cs` | All functions to convert values into human readable values |
| `Images\reg.dark.png` | Symbol for the results for the dark theme |
| `Images\reg.light.png` | Symbol for the results for the light theme |
| `Properties\Resources.Designer.resx` | File that contain all translatable keys |
| `Properties\Resources.resx` | File that contain all translatable strings in the neutral language |
| `GlobalSuppressions.cs` | Code suppressions (no real file, linked via *.csproj) |
| `Main.cs` | Main class, the only place that implement the WOX interfaces |
| `plugin.json` | All meta-data for this plugin |
| `StyleCop.json` | Code style (no real file, linked via *.csproj) |
### Important project values (*.csproj)
| Name | Value |
| --------------- | ------------------------------------------------------------------------------ |
| TargetFramework | `netcoreapp3.1` (means .NET Core 3.1) |
| LangVersion | `8.0` (mean C# 8.0) |
| Platforms | `x64` |
| Nullable | `true` |
| Output | `..\..\..\..\..\x64\Debug\modules\launcher\Plugins\Microsoft.Plugin.Registry\` |
| RootNamespace | `Microsoft.PowerToys.Run.Plugin.Registry` |
| AssemblyName | `Microsoft.PowerToys.Run.Plugin.Registry` |
### Project dependencies
#### Packages
| Package | Version |
| ------------------------------------------------------------------------------------- | ------- |
| [`Microsoft.CodeAnalysis.FxCopAnalyzers`](https://github.com/dotnet/roslyn-analyzers) | 3.3.0 |
| [`StyleCop.Analyzers`](https://github.com/DotNetAnalyzers/StyleCopAnalyzers) | 1.1.118 |
#### Projects
* `Wox.Infrastructure`
* `Wox.Plugin`

View File

@@ -0,0 +1,161 @@
# Windows Settings Plugin
The Windows settings Plugin allows users to search the Windows settings.
## Special functions (differ from the regular functions)
* Support modern Windows settings (Windows 10+)
* Support legacy Windows settings (Windows 7, 8.1)
* Support extra programs for setting (like ODBC)
* Support search by the area of the setting (like `Privacy`)
* Support search for alternative names of a setting
## How to add a new Windows Setting or change one
All Windows settings are located in `WindowsSettings.json` in root folder of the project.
The `WindowsSettings.json` use a JSON schema file that make it easier to edit it.
| Key | Optional | Value type | String prefix |
| ------------------- | -------- | ----------------- | ------------- |
| `Name` | **No** | String | |
| `Type` | **No** | String | `App` |
| `Command` | **No** | String | |
| `Areas` | Yes | List with strings | `Area` |
| `AltNames` | Yes | List with strings | |
| `Note` | Yes | String | `Note` |
| `IntroducedInBuild` | Yes | Integer | |
| `DeprecatedInBuild` | Yes | Integer | |
| `ShowAsFirstResult` | Yes | Boolean | |
A minimum entry for the `WindowsSettings.json` looks like:
```json
{
"Name": "mySetting",
"Type": "AppSettingsApp",
"Command": "ms-settings:mySetting"
}
```
A full entry for the `WindowsSettings.json` looks like:
```json
{
"Name": "mySetting",
"Type": "AppSettingsApp",
"Command": "ms-settings:mySetting",
"Areas": [ "AreaMySettingArea" ],
"AltNames": [ "NiceSetting" ],
"Note": "NoteMySettingNote",
"IntroducedInBuild" : 1903,
"DeprecatedInBuild" : 2004,
"ShowAsFirstResult" : true
}
```
### Remarks
* The `Command` for modern Windows settings should start with `ms-settings:`
* The `Command` for legacy Windows settings should start with `control`
* The integer value for `IntroducedInBuild` and `DeprecatedInBuild` must be in range of `0` to `4294967295`
* The strings for `Name`, `AltNames`, `Areas`, `Type` and `Note` must not contain whitespace(s) or special characters (#, €, $, etc.)
* The strings for `Name`, `AltNames`, `Areas`, `Type` and `Note` are used as ids for the resource file under `Properties\Resources.resx`
* When you add new strings make sure you have add add all translations for it.
## Scores
There are three different score types with different start values.
| Score type | Start value |
| ------------------ | ------------ |
| First result score | 10500 |
| High score | 10000 |
| Medium score | 5000 |
| Low score | 1000 |
Each score will decreased by one when a condition match.
| Priority | Condition | Score type |
| -------- | ----------------------------------------------------------------- | ------------ |
| 1. | Settings name starts with the search value | High score |
| 2. | Settings name contain the search value | Medium score |
| 3. | Setting has no area | Low score |
| 4. | One area of the settings starts with the search value | Low score |
| 5. | Setting has no alternative name | Low score |
| 6. | One alternative name of the settings starts with the search value | Medium score |
| x. | no condition match | Low score |
### Remarks
* For each score condition we check if the property "ShowAsFirstResult" of the setting is true. If yes we use the firstResultScore instead of condition`s score.
## Important for developers
### General
* The assembly name is cached into `_assemblyName` (to avoid to many calls of `Assembly.GetExecutingAssembly()`)
## Microsoft.PowerToys.Run.Plugin.WindowsSettings project
### Important plugin values (meta-data)
| Name | Value |
| --------------- | ---------------------------------------------------- |
| ActionKeyword | `$` |
| ExecuteFileName | `Microsoft.PowerToys.Run.Plugin.WindowsSettings.dll` |
| ID | `5043CECEE6A748679CBE02D27D83747A` |
### Interfaces used by this plugin
The plugin use only these interfaces (all inside the `Main.cs`):
* `Wox.Plugin.IPlugin`
* `Wox.Plugin.IContextMenu`
* `Wox.Plugin.IPluginI18n`
### Program files
| File | Content |
| ------------------------------------- | ----------------------------------------------------------------------- |
| `Classes\WindowsSetting.cs` | A class that represent one Windows setting |
| `Classes\WindowsSettings.cs` | A wrapper class that only contains a list with Windows settings (see 1) |
| `Helper\ContextMenuHelper.cs` | All functions to build the context menu (for each result entry) |
| `Helper\JsonSettingsListHelper.cs` | All functions to load the windows settings from a JSON file |
| `Helper\ResultHelper.cs` | All functions to convert internal results into WOX results |
| `Helper\TranslationHelper.cs` | All functions to translate the result in the surface language |
| `Helper\UnsupportedSettingsHelper.cs` | All functions to filter not supported Windows settings out |
| `Helper\WindowsSettingsPathHelper.cs` | All functions to build the area paths |
| `Images\WindowsSettings.dark.png` | Symbol for the results for the dark theme |
| `Images\WindowsSettings.light.png` | Symbol for the results for the light theme |
| `Properties\Resources.Designer.resx` | File that contain all translatable keys |
| `Properties\Resources.resx` | File that contain all translatable strings in the neutral language |
| `GlobalSuppressions.cs` | Code suppressions (no real file, linked via *.csproj) |
| `Main.cs` | Main class, the only place that implement the WOX interfaces |
| `plugin.json` | All meta-data for this plugin |
| `StyleCop.json` | Code style (no real file, linked via *.csproj) |
1. We need this extra wrapper class to make it possible that the JSON file can have and use a JSON schema file.
Because the JSON file must have a object as root type, instead of a array.
### Important project values (*.csproj)
| Name | Value |
| --------------- | --------------------------------------------------------------------------------------------------- |
| TargetFramework | `netcoreapp3.1` (means .NET Core 3.1) |
| Platforms | `x64` |
| Output | `..\..\..\..\..\x64\Debug\modules\launcher\Plugins\Microsoft.PowerToys.Run.Plugin.WindowsSettings\` |
| RootNamespace | `Microsoft.PowerToys.Run.Plugin.WindowsSettings` |
| AssemblyName | `Microsoft.PowerToys.Run.Plugin.WindowsSettings` |
### Project dependencies
#### Packages
| Package | Version |
| ------------------------------------------------------------------------------------- | ------- |
| [`StyleCop.Analyzers`](https://github.com/DotNetAnalyzers/StyleCopAnalyzers) | 1.1.118 |
#### Projects
* `Wox.Infrastructure`
* `Wox.Plugin`

View File

@@ -9,7 +9,8 @@
- [Folder](/doc/devdocs/modules/launcher/plugins/folder.md)
- [Indexer](/doc/devdocs/modules/launcher/plugins/indexer.md)
- [Program](/doc/devdocs/modules/launcher/plugins/program.md)
- [Registry](/doc/devdocs/modules/launcher/plugins/registry.md)
- [Shell](/doc/devdocs/modules/launcher/plugins/shell.md)
- [Sys](/doc/devdocs/modules/launcher/plugins/sys.md)
- [Uri](/doc/devdocs/modules/launcher/plugins/uri.md)
- [Window Walker](/doc/devdocs/modules/launcher/plugins/windowwalker.md)
- [Window Walker](/doc/devdocs/modules/launcher/plugins/windowwalker.md)

View File

@@ -21,6 +21,3 @@ TODO
#### [`trace.cpp`](/src/modules/powerrename/lib/trace.cpp)
TODO
#### [`PowerRenameUI.cpp`](/src/modules/powerrename/ui/PowerRenameUI.cpp)
TODO

View File

@@ -1,5 +1,15 @@
# Dev Documentation
## Fork, Clone, Branch and Create your PR
Once you've discussed your proposed feature/fix/etc. with a team member, and you've agreed an approach or a spec has been written and approved, it's time to start development:
1. Fork the repo if you haven't already
1. Clone your fork locally
1. Create & push a feature branch
1. Create a [Draft Pull Request (PR)](https://github.blog/2019-02-14-introducing-draft-pull-requests/)
1. Work on your changes
## Rules
- **Follow the pattern of what you already see in the code.**
@@ -15,6 +25,7 @@
- If you are a community contributor, you will not be able to add labels to the issue, in that case just add a comment saying that you started to work on the issue and try to give an estimate for the delivery date.
- If the work item has a medium/large cost, using the markdown task list, list each sub item and update the list with a check mark after completing each sub item.
- When opening a PR, follow the PR template.
- When you'd like the team to take a look, (even if the work is not yet fully-complete), mark the PR as 'Ready For Review' so that the team can review your work and provide comments, suggestions, and request changes. It may take several cycles, but the end result will be solid, testable, conformant code that is safe for us to merge.
- When the PR is approved, let the owner of the PR merge it. For community contributions the reviewer that approved the PR can also merge it.
- Use the `Squash and merge` option to merge a PR, if you don't want to squash it because there are logically different commits, use `Rebase and merge`.
- We don't close issues automatically when referenced in a PR, so after the PR is merged:
@@ -22,6 +33,7 @@
- don't close the issue if it's a bug in the current released version since users tend to not search for closed issues, we will close the resolved issues when a new version is released.
- if it's not a code fix that effects the end user, the issue can be closed (for example a fix in the build or a code refactoring and so on).
## Repository Overview
General project organization:
@@ -52,59 +64,69 @@ Various tools used by PowerToys. Includes the Visual Studio 2019 project templat
1. Windows 10 April 2018 Update (version 1803) or newer
2. Visual Studio Community/Professional/Enterprise 2019
3. Run the command below in cmd/terminal to install all the workloads and components for VS.
3. Once you've cloned and started the `PowerToys.sln`, in the solution explorer, if you see a dialog that says `install extra components`, click `install`
```shell
cd "%ProgramFiles(x86)%\Microsoft Visual Studio\2019"
SET targetFolder="\"
IF EXIST Preview\NUL (SET targetFolder=Preview)
IF EXIST Enterprise\NUL (SET targetFolder=Enterprise)
IF EXIST Professional\NUL (SET targetFolder=Professional)
IF EXIST Community\NUL (SET targetFolder=Community)
**Optional step:**<br/>
4. to build the Video Conference module, install the [WDK version 1903](https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads) ([direct download link](https://go.microsoft.com/fwlink/?linkid=2085767))<br />
During the installation, make sure that, when prompted, the `Install Windows Driver Kit Visual Studio extension` option is checked.
ECHO %targetFolder%
"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe" ^
modify --installpath "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\%targetFolder%" ^
--add Microsoft.VisualStudio.Workload.NativeDesktop ^
--add Microsoft.VisualStudio.Workload.ManagedDesktop ^
--add Microsoft.VisualStudio.Workload.Universal ^
--add Microsoft.VisualStudio.Component.Windows10SDK.17134 ^
--add Microsoft.VisualStudio.ComponentGroup.UWP.VC ^
--add Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre ^
--add Microsoft.VisualStudio.Component.VC.ATL.Spectre
```
### Compiling Source Code
- Open `powertoys.sln` in Visual Studio, in the `Solutions Configuration` drop-down menu select `Release` or `Debug`, from the `Build` menu choose `Build Solution`.
- The PowerToys binaries will be in your repo under `x64\Release`.
- If you want to copy the `PowerToys.exe` binary to a different location, you'll also need to copy the `modules` and the `svgs` folders.
- Open `PowerToys.sln` in Visual Studio, in the `Solutions Configuration` drop-down menu select `Release` or `Debug`, from the `Build` menu choose `Build Solution`.
- The PowerToys binaries will be in your repo under `x64\Release\`.
- You can run `x64\Release\PowerToys.exe` directly without installing PowerToys, but some modules (i.e. PowerRename, ImageResizer, File Explorer extension etc.) will not be available unless you also build the installer and install PowerToys.
## Building the Installers
## Compile the installer
Our installer is two parts, an EXE and an MSI. The EXE contains the MSI and handles more complex install logic.
- The EXE installs all prerequisites and installs PowerToys via the MSI. Also has additional features, such as silent installation flags
- The MSI installs PowerToys.
Our installer is two parts, an EXE and an MSI. The EXE (Bootstrapper) contains the MSI and handles more complex installation logic.
- The EXE installs all prerequisites and installs PowerToys via the MSI. It has additional features such as the installation flags (see below).
- The MSI installs the PowerToys binaries.
### Prerequisites Building the Installer (.MSI)
The installer can only be compiled in `Release` mode, step 1 and 2 must be done before the MSI will be able to be compiled.
1. Compile `PowerToys.sln`. Instructions are listed above.
2. Compile `BugReportTool.sln` tool. Path from root: `tools\BugReportTool\BugReportTool.sln` (details listed below)
3. Compile `WebcamReportTool.sln` tool. Path from root: `tools\WebcamReportTool\WebcamReportTool.sln` (details listed below)
4. Compile `PowerToysSetup.sln` Path from root: `installer\PowerToysSetup.sln` (details listed below)
5. Compile `PowerToysBootstrapper.sln` Path from root: `installer\PowerToysBootstrapper\PowerToysBootstrapper.sln` (details listed below)
### Prerequisites for building the MSI installer
1. Install the [WiX Toolset Visual Studio 2019 Extension](https://marketplace.visualstudio.com/items?itemName=RobMensching.WiXToolset).
2. Install the [WiX Toolset build tools](https://wixtoolset.org/releases/).
### Compiling Installer (.MSI)
### Locally compiling the Bug reporting tool
- From the `installer` folder open `PowerToysSetup.sln` in Visual Studio, in the `Solutions Configuration` drop-down menu select `Release`, from the `Build` menu choose `Build Solution`.
- The resulting `PowerToysSetup.msi` installer will be available in the `installer\PowerToysSetup\x64\Release\` folder.
1. Open `tools\BugReportTool\BugReportTool.sln`
2. In Visual Studio, in the `Solutions Configuration` drop-down menu select `Release`
3. From the `Build` menu, choose `Build Solution`.
### Compiling Bootstrapper Installer (.EXE)
### Locally compiling the Webcam reporting tool
- MSI Installer needs to be built in release mode
- Build `PowerToysBootstrapper` solution (`installer\PowerToysBootstrapper\`)
1. Open `tools\WebcamReportTool\WebcamReportTool.sln`
2. In Visual Studio, in the `Solutions Configuration` drop-down menu select `Release`
3. From the `Build` menu, choose `Build Solution`.
#### Supported arguments for EXE installer:
### Locally compiling the .MSI installer
Head over to the wiki to get the [full list of supported installer arguments][installerArgWiki].
1. Open `installer\PowerToysSetup.sln`
2. In Visual Studio, in the `Solutions Configuration` drop-down menu select `Release`
3. From the `Build` menu choose `Build Solution`.
The resulting `PowerToysSetup.msi` installer will be available in the `installer\PowerToysSetup\x64\Release\` folder.
### Locally compiling the .EXE Bootstrapper installer
1. Open `installer\PowerToysBootstrapper\PowerToysBootstrapper.sln`
2. In Visual Studio, in the `Solutions Configuration` drop-down menu select `Release`
3. From the `Build` menu choose `Build Solution`.
The `PowerToysSetup-0.0.1-x64.exe` binary is created in the `installer\PowerToysBootstrapper\x64\Release\` folder.
#### Supported arguments for the .EXE Bootstrapper installer
Head over to the wiki to see the [full list of supported installer arguments][installerArgWiki].
## Debugging
@@ -157,16 +179,6 @@ While developing, it's possible to connect the WebView to the development server
This project generates the web UI shown in the [PowerToys Settings](/src/editor).
It's a `ReactJS` project created using [Fluent UI](https://developer.microsoft.com/en-us/fluentui#/).
## Current modules
### [`FancyZones`](modules/fancyzones.md)
The FancyZones PowerToy that allows users to create custom zones on the screen, to which the windows will snap when moved.
### [`PowerRename`](modules/powerrename.md)
PowerRename is a Windows Shell Context Menu Extension for advanced bulk renaming using simple search and replace or more powerful regular expression matching.
### [`Shortcut Guide`](modules/shortcut_guide.md)
The Windows Shortcut Guide, displayed when the WinKey is held for some time.
#### Options
This module has a setting to serve as an example for each of the currently implemented settings property:

View File

@@ -1,7 +1,6 @@
#### [`main.cpp`](/src/runner/main.cpp)
Contains the executable starting point, initialization code and the list of known PowerToys. All singletones are also initialized here at the start. Loads all the powertoys by scanning the `./modules` folder and `enable()`s those marked as enabled in `%LOCALAPPDATA%\Microsoft\PowerToys\settings.json` config. Then it runs [a message loop](https://docs.microsoft.com/en-us/windows/win32/winmsg/using-messages-and-message-queues) for the tray UI. Note that this message loop also [handles lowlevel_keyboard_hook events](https://github.com/microsoft/PowerToys/blob/1760af50c8803588cb575167baae0439af38a9c1/src/runner/lowlevel_keyboard_event.cpp#L24).
#### [`general_settings.cpp`](./general_settings.cpp)
#### [`powertoy_module.h`](/src/runner/powertoy_module.h) and [`powertoy_module.cpp`](/src/runner/powertoy_module.cpp)
Contains code for initializing and managing the PowerToy modules. `PowertoyModule` is a RAII-style holder for the `PowertoyModuleIface` pointer, which we got by [invoking module DLL's `powertoy_create` function](https://github.com/microsoft/PowerToys/blob/1760af50c8803588cb575167baae0439af38a9c1/src/runner/powertoy_module.cpp#L13-L24).

View File

@@ -53,7 +53,7 @@ bool ExamplePowertoy::get_config(wchar_t* buffer, int* buffer_size)
return settings.serialize_to_buffer(buffer, buffer_size);
}
```
The list of all the available settings elements and their description is [further in this doc](#available-settings-elements). New PowerToy icons need to be [added to the `settings-web` project](https://github.com/microsoft/PowerToys/blob/master/doc/devdocs/settings-web.md#updating-the-icons).
The list of all the available settings elements and their description is [further in this doc](#available-settings-elements). New PowerToy icons need to be [added to the `settings-web` project](https://github.com/microsoft/PowerToys/blob/main/doc/devdocs/settings-web.md#updating-the-icons).
## User changes settings
When user closes the settings screen, the runner will call the [`get_config()`](modules/interface.md) method. Use [`PowerToyValues`](/src/common/settings_objects.h) class static `from_json_string` method to parse the settings. After that, the code is similar to loading the settings from disk:

View File

@@ -11,7 +11,7 @@ The Settings.UI project contains the xaml files for each of the UI components. I
#### [Viewmodels:](/src/core/Microsoft.PowerToys.Settings.UI.Library)
The Settings.UI.Library project contains the data that is to be rendered by the UI components.
#### [Settings Runner:](/src/core/Microsoft.PowerToys.Settings.UI.Runner)
#### [Settings Runner:](/src/core/PowerToys.Settings)
The function of the settings runner project is to communicate all changes that the user makes in the user interface, to the runner so that it can be dispatched and reflected in all the modules.
[MVVM]: https://docs.microsoft.com/en-us/windows/uwp/data-binding/data-binding-and-mvvm

View File

@@ -4,7 +4,7 @@ The Settings v2 process uses two way IPC to communicate with the runner process.
## Initialization
- On the settings' side, the two way IPC delegates are contained with the [`ShellPage.xaml.cs`](/src/core/Microsoft.PowerToys.Settings.UI/Views/ShellPage.xaml.cs) file. The delegates are static and the views for all the powerToys send the ipc information to the viewmodels as `ShellPage.DefaultSndMSGCallBack`.
- These delegates are initialized within the [`Mainwindow.xaml.cs`](/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml.cs) file in the `Settings.Runner` project.
- These delegates are initialized within the [`Mainwindow.xaml.cs`](/src/core/PowerToys.Settings/MainWindow.xaml.cs) file in the `Settings.Runner` project.
## Types of IPC delegates

View File

@@ -1,8 +1,8 @@
# UI Architecture
The UI code is distributed between two projects: [`Microsoft.PowerToys.Settings.UI.Runner`](/src/core/Microsoft.PowerToys.Settings.UI.Runner) and [`Microsoft.PowerToys.Settings.UI`](/src/core/Microsoft.PowerToys.Settings.UI.Library). [`Microsoft.PowerToys.Settings.UI.Runner`](/src/core/Microsoft.PowerToys.Settings.UI.Runner) is a WPF .net core application. It contains the parent display window and corresponding code is present in [`MainWindow.xaml.`](/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml) [`Microsoft.PowerToys.Settings.UI`](/src/core/Microsoft.PowerToys.Settings.UI.Library) is UWP applications and contains views for base navigation and modules. Fig 1 provides a description of the UI controls hierarchy and each of the controls have been summarized below :
- [`MainWindow.xaml`](/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml) is the parent WPF control.
- `WindowsXamlHost` control is used to host UWP control to [`MainWindow.xaml`](/src/core/Microsoft.PowerToys.Settings.UI.Runner/MainWindow.xaml) parent control.
The UI code is distributed between two projects: [`PowerToys.Settings`](/src/core/PowerToys.Settings) and [`Microsoft.PowerToys.Settings.UI`](/src/core/Microsoft.PowerToys.Settings.UI.Library). [`PowerToys.Settings`](/src/core/PowerToys.Settings) is a WPF .net core application. It contains the parent display window and corresponding code is present in [`MainWindow.xaml.`](/src/core/PowerToys.Settings/MainWindow.xaml) [`Microsoft.PowerToys.Settings.UI`](/src/core/Microsoft.PowerToys.Settings.UI.Library) is UWP applications and contains views for base navigation and modules. Fig 1 provides a description of the UI controls hierarchy and each of the controls have been summarized below :
- [`MainWindow.xaml`](/src/core/PowerToys.Settings/MainWindow.xaml) is the parent WPF control.
- `WindowsXamlHost` control is used to host UWP control to [`MainWindow.xaml`](/src/core/PowerToys.Settings/MainWindow.xaml) parent control.
- [`ShellPage.xaml`](/src/core/Microsoft.PowerToys.Settings.UI/Views/ShellPage.xaml) is a UWP control, consisting of a side navigation panel with an icon for each module. Clicking on a module icon loads the corresponding `setting.json` file and displays the data in the UI.
![Settings UI architecture](/doc/images/settingsv2/ui-architecture.png)

View File

@@ -6,7 +6,7 @@
## Formatting
- We use [`.clang-format`](https://github.com/microsoft/PowerToys/blob/master/.clang-format) style file to enable automatic code formatting. You can [easily format source files from Visual Studio](https://devblogs.microsoft.com/cppblog/clangformat-support-in-visual-studio-2017-15-7-preview-1/). For example, `CTRL+K CTRL+D` formats the current document.
- If you prefer another text editor or have ClangFormat disabled in Visual Studio, you could invoke [`format_sources`](https://github.com/microsoft/PowerToys/blob/master/src/codeAnalysis/format_sources.ps1) powershell script from command line. It gets a list of all currently modified files from `git` and invokes clang-format on them.
- We use [`.clang-format`](https://github.com/microsoft/PowerToys/blob/main/src/.clang-format) style file to enable automatic code formatting. You can [easily format source files from Visual Studio](https://devblogs.microsoft.com/cppblog/clangformat-support-in-visual-studio-2017-15-7-preview-1/). For example, `CTRL+K CTRL+D` formats the current document.
- If you prefer another text editor or have ClangFormat disabled in Visual Studio, you could invoke [`format_sources`](https://github.com/microsoft/PowerToys/blob/main/src/codeAnalysis/format_sources.ps1) powershell script from command line. It gets a list of all currently modified files from `git` and invokes clang-format on them.
Please note that you should also have `clang-format.exe` in `%PATH%` for it to work. The script can infer the path of `clang-format.exe` version which is shipped with Visual Studio at `%VCINSTALLDIR%\Tools\Llvm\bin\`, if you launch it from the *Native Tools Command Prompt for VS*.
- CI doesn't enforce code formatting yet, since we're gradually applying code formatting to the codebase, but please adhere to our formatting style for any new code.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 KiB

BIN
doc/images/icons/Awake.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

View File

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

Before

Width:  |  Height:  |  Size: 336 B

After

Width:  |  Height:  |  Size: 336 B

View File

Before

Width:  |  Height:  |  Size: 514 B

After

Width:  |  Height:  |  Size: 514 B

View File

Before

Width:  |  Height:  |  Size: 637 B

After

Width:  |  Height:  |  Size: 637 B

View File

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

Before

Width:  |  Height:  |  Size: 728 B

After

Width:  |  Height:  |  Size: 728 B

View File

Before

Width:  |  Height:  |  Size: 724 B

After

Width:  |  Height:  |  Size: 724 B

View File

Before

Width:  |  Height:  |  Size: 812 B

After

Width:  |  Height:  |  Size: 812 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Some files were not shown because too many files have changed in this diff Show More