## Summary of the Pull Request
- Replaced "ounce" to "usounce" and "imperialounce" for two different
results
## PR Checklist
- [x] **Closes:** #32841
- [x] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [x] **Tests:** Added/updated and all pass
- [x] **Localization:** All end user facing strings can be localized
- [x] **Dev docs:** Added/updated
- [x] **New binaries:** Added on the required places
- [x] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [x] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [x] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [x] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [x] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
- Convert `ounce` to `usounce` and `imperialounce` and show the
converted results
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
- Manual validation
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
more breaking out stuff
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
## Summary of the Pull Request
Cleans a build warning about WPARAM when building the idl file. Seems
like typedef is not liked too much when compiling for winrt/Cpp.
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
learning from https://github.com/microsoft/PowerToys/pull/34177/ that
solution dir could have rippling effects from other the dart pipeline.
This shifts those over to relative paths
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
## Summary of the Pull Request
Removes all C++/CX code, replacing it with C++/WinRT.
## Detailed Description of the Pull Request / Additional comments
Removes all C++/CX code.
Renames interop namespaces to be better consumed by CsWinRT.
Standardizes all projects on net8.0-windows10.0.20348.0, which is a
requirement for C++/WinRT usage.
FileLocksmithLibInterop brought to stdcpplatest and static analysis
errors were corrected.
Removed now unneeded string conversion code from
FileLocksmithLibInterop.
Changed interop KeyboardHook to use a single hook across all instances.
Required because on C++/WinRT we don't have the .NET runtime to bind a
object instance to a delegate and be able to pass it to a C function
pointer argument (still no idea why this worked correctly on C++/CX to
be honest). This change actually makes us create less low level keyboard
hooks.
Changed some code that depended on arrays since WinRT/C++ returns null
instead of an empty array through the interface.
## Validation Steps Performed
Built and tested runtime.
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
- Removed `Vanara.PInvoke.*` packages used in Quick Accent in favor of
`Microsoft.Windows.CsWin32` that is already in use for other utilities.
- Removed `Microsoft.Windows.SDK.Contracts` package instanned only on
MWB. This is not needed:
https://learn.microsoft.com/windows/apps/desktop/modernize/desktop-to-uwp-enhance#modify-a-net-project-to-use-windows-runtime-apis
- Cleaned up obsolete packages from `Directory.Packages.props`: I
realized that uninstalling a NuGet package from all projects doesn't
remove it from `Directory.Packages.props`.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
- Manually tested Quick Accent
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
This PR aims to fix some positioning issues of the form used as preview
handler.
It fixes the following issues:
1. The floating window, detached from Explorer that sometimes appears:
#33491#27475#24985
2. The **CoreWebView2 members cannot be accessed after the WebView2
control is disposed** crash: #27276
3. `PowerToys.*.PreviewHandler.exe` process leak
### Repro steps for issue 1
- Navigate through files in a folder invoking their preview handler
- Minimize/Restore Explorer quickly (spam WIN+D usually works)
- 2 weird issues happen:
- Some `PowerToys.*.PreviewHandler.exe` processes are leaked
- Some `PowerToys.*.PreviewHandler.exe` are started with a `NULL` `HWND`

This happens because
[IPreviewHandler::DoPreview](https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ipreviewhandler-dopreview)
is called multiple times and sometimes before calling
[IPreviewHandler::SetWindow](https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ipreviewhandler-setwindow).
When the managed previewer try to set the parent of the form to the
`NULL` `HWND`, the desktop window is used instead, resulting in the
floating preview window being displayed.
Reference:
https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setparent#parameters5d77874382/src/modules/previewpane/common/controls/FormHandlerControl.cs (L136)
### Repro steps for issue 2
- Preview a file
- Restart `explorer.exe` process
- Make sure `PowerToys.*.PreviewHandler.exe` is leaked and still running
- Preview the same file again
- Preview is displayed (another process is launched)
- Minimize Explorer
What happens here is that the form of the old process have an invalid
`HWND` as parent but receive the `SetRect` for some reason.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [x] **Closes:** #33491#27475#24985#27276
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
- Don't start preview pane process when `HWND` is `NULL`
- Terminate the preview pane process when setting parent fails
- Prevent leaking processes closing them when a new preview is requested
- Fixed an issue where PDF and SVG previews weren't updated after
restoring Explorer
- Added some error handling in the `UpdateWindowBounds` method of the
managed preview
- Terminate the preview pane when the `SetRect` event is received but
the parent `HWND` has become invalid
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
- Manually tested all preview panes also using multiple Explorer windows
- Validated that when Explorer is minimized/restored the preview is
updated
- Tested the preview pane resize
- Validated that no window, no taskbar icon and no errors appear on both
repro steps
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
- Some users are reporting that the WebSearch plugin is opening Explorer
instead of the browser.
- A user reported that the registry value we are using to detect the
command pattern to start the browser contains the string `Microsoft Edge
HTML Document`:
https://github.com/microsoft/PowerToys/issues/21400#issuecomment-2262764771
- Can't find the reason why that string is here but rather than dealing
with this string, if the pattern isn't "something valid" to be launched,
use Edge. The code is already falling back to Edge in other error cases.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [x] **Closes:** #21400
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
- Small QoL improvements to the code
- Logged the command in case of error
- Fall back to Edge if command isn't a valid path or URI
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
- Tested WebSearch plugin changing the value of
`HKEY_CLASSES_ROOT\MSEdgeHTM\shell\open\command`:
- `"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
--single-argument %1`
- `shell:AppsFolder\Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe!App %1`
- `Microsoft Edge HTML Document`
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
First step on self containment. Once #34055 goes in, this number of
modified files should go way down.
Common.Selfcontained.props is the new item and
src/dsc/PowerToys.Settings.DSC.Schema.Generator/PowerToys.Settings.DSC.Schema.Generator.csproj
would be an example of a file that had SelfContained set to true prior
and now that logic was moved into a single file.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
In prep for WinAppSdk, trying to consolidate items. Version.prop is one
of the first items.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
This PR addresses some post-merge issues caught by @davidegiacometti,
including:
1. Separator in the context menu shown when not running from inside
PowerToys.
2. "Keep display on" setting not persisting across switches between
modes.
3. Awake not launching in standalone mode.
Additionally:
1. Exits are now properly handled in **timed** and **expirable**
keep-awake modes when running standalone. This ensures that Awake exists
after completion and doesn't switch to an in-actionable passive mode.
2. Tray tooltips now cover how much time is left on the timer.
3. Fixes#29354
4. Avoids a nasty memory leak because of re-instantiating of `Icon`
objects for every tray update.
5. Adds DPI awareness to the context menu (#16123)
## Summary of the Pull Request
This is a follow up on #33964 where using the MSTest meta package brings
in all necessary test dependencies as well as enabled MSTest.Analyzers
for common test code misconfigurations. Coverlet package has not been
used, thus removing.
Improves the following:
- Consolidates different code paths for easier maintenance.
- Removes the dependency on Windows Forms and creates the system tray
icon and handling through native Win32 APIs (massive thank you to
@BrianPeek for helping write the window creation logic and diagnosing
threading issues).
- Changing modes in Awake now triggers icon changes in the tray
(#11996). Massive thank you to @niels9001 for creating the icons.
Fixes the following:
- When in the UI and you select `0` as hours and `0` as minutes in
`TIMED` awake mode, the UI becomes non-responsive whenever you try to
get back to timed after it rolls back to `PASSIVE`. (#33630)
- Adds the option to keep track of Awake state through tray tooltip.
(#12714)
---------
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
## Summary of the Pull Request
Fixed Scrolling through the history in the color picker editor with a
mouse wheel
## Detailed Description of the Pull Request / Additional comments
I added a mousewheel event listener on the HistoryColors ListView, then
I added two functions in the ColorEditorView.xaml.cs to handle the
Event, it checks the number of color in the history and handles the
scroll control accordingly
## Summary of the Pull Request
This PR fixes the csv parsing related to quotation marks according to
csv standard rules:
- An empty data value can be written as `""`. => Remove both quotation
marks.
- Enclosing data by starting and ending with `"` if they contain the
delimiter. => First and last quotation mark has to be removed.
- Escape quotation mark with second quotation mark. => Replace pairs of
two with a single one.
### Input
```csv
A,B,,"","my ""nice"" string","""zz""","""""double quotes"""""
```
### Before this PR (Wrong result)
```json
[
[
"A",
"B",
"",
"\"\"",
"\"my \"\"nice\"\" string\"",
"\"\"\"zz\"\"\"",
"\"\"\"\"\"double quotes\"\"\"\"\""
]
]
```
### After this PR (Correct result)
```json
[
[
"A",
"B",
"",
"",
"my \"nice\" string",
"\"zz\"",
"\"\"double quotes\"\""
]
]
```
## Summary of the Pull Request
To prevent a crash, show the individual files of a process within a
modal dialog rather than as inline text. Please see the linked issue for
more details.
## Detailed Description of the Pull Request / Additional comments
- Removed inline list of process files.
- Added "Show files" button to expander to show list of process files as
a modal dialog. This dialog has the same design as the one used to
display the list of selected folders within the same application.
- Added unhandled exception hander to application similar to our other
applications.


## Summary of the Pull Request
Fixes two bugs:
- Peek: Missing "Copy" menu-item for all WebView2 previewers.
- PreviewPane: Missing "Copy" menu-item for markdown files only.
## Detailed Description of the Pull Request / Additional comments
The issues are:
- Peek:
- When not using Monaco (markdown, html) - the default WebView2 context
menu has been disabled. I have enabled it and then disabled ALL
menu-items other than "Copy" (such as "Back").
- When using Monaco + Release (other code files) - current code tries to
use the Monaco context menu, but it is somehow disabled at runtime. I
spent MANY hours trying to find out why but without success. It works
fine when I view the generated html + js files in a browser or in a
Debug build or in PreviewPane. But I couldn't find the root cause.
Trying to fix it by enabling the WebView2 context menu instead doesn't
work as for whatever reason, WebView2 doesn't generate a "Copy"
menu-item (it thinks there's no selected text when there is). So in this
case, the only thing I could get to work was generating context
menu-items via WebView2 callbacks that call JS functions. As a bonus,
this way of doing it also allows "Toggle text wrapping" to work.
- PreviewPane:
- Markdown - the default WebView2 context menu has been disabled. Like
for Peek, I have enabled it and then disabled ALL menu-items other than
"Copy" (such as "Back").
- Monaco (other code files) - this already just works fine, so I've left
it as is. I *could* make it work the same way as I've done for Peek for
consistency, but I've chosen to leave it as is since it works.


## Summary of the Pull Request
This PR aims for fix some CI build warnings.
## Detailed Description of the Pull Request / Additional comments
### Warning NU1503
Fix warning NU1503 for wix toolset projects marking them as restorable
and adding an empty restore target.
### No test result files matching '[ '**/*.trx' ]' were found.
Skip publishing of test results for ARM64 since pipeline isn't running
ARM64 tests

## Summary of the Pull Request
This PR fixes the CSV parser support for escaping delimiter by enclosing
it in quotes
## Detailed Description of the Pull Request / Additional comments
- This PR introduces a fix for the support of adding a delimiter to the
string and supporting it by enclosing it in `"`
## Summary of the Pull Request
### Improve settings page for TransferFile setting
The TransferFile setting depends on ShareClipboard setting. This is now
visually shown.
**Before the change:**

**After the change**

### New policies are added for MWB
Name | Supported states | Id | Behavior
------------ | ------------- | ------------ | -------------
Clipboard sharing enabled | disabled | MwbClipboardSharingEnabled |
Disables the feature if set to disabled.
File transfer enabled | disabled | MwbFileTransferEnabled | Disables the
feature if set to disabled.
Original user interface enabled | disabled | MwbUseOriginalUserInterface
| Disables the feature if set to disabled. |
Disallow blocking screensaver on other machines | enabled |
MwbDisallowBlockingScreensaver | Disables the feature if set to enabled.
|
Connect only in same subnet | enabled & disabled | MwbSameSubnetOnly |
Enables the feature if set to enabled.<br />Disables the feature if set
to disabled. |
Validate remote machine IP Address | enabled & disabled |
MwbValidateRemoteIp | Enables the feature if set to enabled.<br
/>Disables the feature if set to disabled.
Disable user defined IP Address mapping rules | enabled |
MwbDisableUserDefinedIpMappingRules | If enabled the user can't define
IP Address mapping rules.
Predefined IP Address mappings | enabled with multi-line text value |
MwbPolicyDefinedIpMappingRules | Allows admins to force define IP
Address mapping rules.
#### User Interface screenshots



<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
Adjusting to root folder the main items. i was able to mod
code_of_conduct.md without a lock down.
https://github.com/microsoft/PowerToys/pull/33915
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
Remove the GitHub action version of the Similar issues bot. This was the
prototype version, we have now developed a more robust version in
partnership with GitHub (currently in the form of a GitHub app) and are
installing that on the repo instead.
## Summary of the Pull Request
Fixes an issue where PowerToys Run can sometimes start up in an
inconvenient position in a multi-monitor / multi-DPI setup.
## Summary of the Pull Request
Fix the solution warnings related to wildcards items in vcxproj.
## Detailed Description of the Pull Request / Additional comments
https://learn.microsoft.com/cpp/build/reference/vcxproj-files-and-wildcards#list-all-items-explicitly
Since wildcards where used for assets that doesn't change frequently I
have added `ReplaceWildcardsInProjectItems` for CPP projects. This will
make VS automatically expand wildcards.
## Summary of the Pull Request
The latest fix pushed with tag `V0.82.1` (uppercase V) isn't detected by
the PT internal updater.
Handle release tag with uppercase V during update.
## Summary of the Pull Request
This looks to have been added years ago for some reason. It used to be
2000 and was pushed to 200. If a user needed to do the /Zm flag,
shouldn't they pick what they want?
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
Add RDP plugin information to thirdPartyRunPlugins.md.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [x] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
## Summary of the Pull Request
Fixed crash of Settings when KBM settings update by any mechanism.
## Detailed Description of the Pull Request / Additional comments
To show updated KBM remappings on the dashboard, the Settings app
watches for changes to the KBM settings file and reloads the file on
change. Reloading the file can fail (most likely because the writing
process takes an exclusive lock and isn't yet done writing) and the
process crashes when this happens. This change guards against this.
## Summary of the Pull Request
This PR introduces abbreviations for the units - `kph` that gets
converted to `km/h` and `cph` that gets converted to `cm/h`.
## Summary of the Pull Request
Adds Bulgarian to Quick Accent
## Detailed Description of the Pull Request / Additional comments
Adds Cyrillic letter short I (й)
## Summary of the Pull Request
This PR fixes two bugs for the info bars on the MWB settings page:
- The bars are shown if module is disabled.
- Some bars can be closed.
- Some bars are reacting to tab stop on closed state.
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
We renamed the tag for lower-case v.
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
Disabling a UI test as right now it is blocking CI
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] **Closes:** #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end user facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
Readme update for the 0.82 release.
This will be copy / pasted for release notes.
---------
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
This PR improves advanced paste telemetry. Here's what's changed
- Added `AdvancedPasteClipboardItemClicked` event
- Changed `CustomFormatEvent` to only fire on successful completion and
include the number of tokens used, and the model name
Here are the goals of adding this telemtry:
- `AdvancedPasteClipboardItemClicked` helps us estimate the total number
of user who are using the clipboard history feature, which helps us
prioritize future investments and improvements in PowerToys. (This is
just regular feature usage data).
- `CustomFormatEvent` now includes number of tokens used, and the model
name. We are considering using alternative models to power Advanced
Paste (as we've heard feedback about this), and these different models
could have different token lengths. Understanding the average usage will
help us make good decisions that will benefit the most users. As well,
the model name is hard coded right now, but in the future if we do add
different AI models for completion then this will help us compare their
performance.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [X] Communication: I've discussed this with core contributors already.
If work hasn't been agreed, this work might be rejected
<!-- Provide a more detailed description of the PR, other things fixed
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
The details above are detailed enough since this change is super small.
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
Ensured that PowerToys successfully built (Need help verifying the
events fire off correctly).
After https://github.com/microsoft/PowerToys/pull/33458 , that fix
crashes on Windows 10, where the caption color attribute is not
supported.
This PR disables the fix on Windows 10, since it's not even needed there
actually.
* Revert "[PTRun]Fix accent on title bar bleed into UI (#33046)"
This reverts commit 8bb5a33572.
* Revert "[PTRun]Use Mica backdrop to fix crashes with WPFUI (#32118)"
This reverts commit b9da1e6abf.
* Fix DWMAttributes in Wox Plugin Native Methods
* Fix titlebar accent showing
* Fix number on wrong enum
* Add randomizer cheat sheet texts to UI tooltip
* Add randomizer icon (shuffle) + hint to main window
* Add randomizer logic + helpers, regex parsing
* Fix: remove unnecessary throw
* Fix: remove todo comment
* Fix: iffing logic
* Fix: add offset to randomizer onchange
* Update: guid generating to single function, handle bracket removing there
* Update: toggle off enum feat when random values are selected
* Update: main window UI tooltip texts to be more descriptive
* Update: remove unnecessary sstream include
* Fix: return empty string if chars has no value to avoid memory access violation
* Add unit tests
* Add PowerRename random string generating keywords
* Update: generating value names to be in line with POSIX conventions
* Allow to used with Enumerate at the same time
* Fix spellcheck
* Fix tests to take into account we no longer eat up empty expressions
with randomizer
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
We are no longer exclusively using one organization named "ms" and one organization not named "ms".
This change flips the sense of the organization comparison so the `OSS` agents can be used for every collection except very specifically the Microsoft one. I also switched to using its ID.
* Update gitignore.js
* Update gitignore.js
* Add custom color for negations
* Add custom color for negations
* Regex refactoring
* Regex refactoring again
* Move customTokenColors to a separate file
* Move customTokenColors to a separate file
* Update devdocs
* Use kebab case for token names
* Update negation color
* Update index.html formatting
* Peek support for special folders
* Renamed ThisComputer->ThisPC
* Used different variable name to avoid spellcheck issues
* Made label of empty fields hidden
* Removed ThisPC special handling and last modified date of recycle bin
* add(windowWalkerComponents): added a "Responding" variable signifying if a process is responding or not
* add(win32NativeMethod): added "SendMessageTimeout" method in the common Win32 namespace
* refactor(windowWalkerWindow): added an implementation of the helper function for closing the window using the newly defined method
refactor(windowWalkerWindow): added a thread to run, whenever "CloseThisWindow" is called
* refactor(resultHelper): used localizable strings for printing the responding text
add(resources): added "Not Responding" localizable text to the resources file
* refactor(resultHelper): refactored the message in case of a "Not Responding" task
* refactor(resultHelper): modified the formatting of the subtitle
* refactor(window): refactored the helper function and removed the unnecessary variable
* refactor(windowProcess): changed the variable name from "Responding" to "IsResponding"
* add: added try-catch to isResponding getter
* Update names.txt
Add NaroZeol to allow list
* [PTRun][Docs] Add PowerHexInspector to Third-Party plugins
* Update names.txt
Separate "NaroZeol" to "Naro" and "Zeol"
* [ARM][Installer] Fix UninstallCommandNotFoundModule
On ARM, processes does not inherit the user env variables. So, pwsh.exe could not be found from installer process.
Logic is changed to use powershell.exe to first set process' PATH env var and then trigger pwsh.exe
* address PR comments
* #(8796) Ignore capitalization if prevous character is an apostrophe. Updated Unit tests to test this change and added case sensitivity to unit tests when checking file and folder paths.
* #8796 Perform case insensitive search for Titlecase exceptions in PowerRename. Updated Titlecase unit test to test changes
* #8796 Accomodate single quoted words and leading single quote for PowerRename.
* Updating unit tests to accomodate repository spell checking
* [PreviewPane] Parse input window handle as IntPtr type instead of Int32
* [PreviewPane] Apply IntPtr arg parser fix for the following handlers:
GcodePreviewHandler
MarkdownPreviewHandler
PdfPreviewHandler
QoiPreviewHandler
SvgPreviewHandler
* Better fix for installation issues when My Documents on network drive
* Fix spellcheck
* Improved wxs comment
* Created DSCModule folder in install folder; removed DSC modules from resources
* Added back newline
On ARM, process does not inherit environment, so PATH variable only contains SYSTEM values.
As pwsh.exe path is in USER PATH, check requirements script on CmdNotFound page load will fail
and as a result all requirements will be shown as missing.
Therefore, on loading, we manually set PATH variable, same as we do after installing pwsh7.
* [CommandNotFound] Add support for upgrading the module
* upgrade module as a part of upgrade installation; actually set content in EnableModule.ps1
* Fix XAML style to pass CI
* Remove CmdNotFound project from sln as well
* Remove CmdNotFound psd1 file from installer
* More installer fixes
* UpgradeCommandNotFound runs after InstallFiles
* Fix NOTICE.md
* Fix custom action condition
* Pass install folder to the custom action
* Upgrade-Module --> Update-Module
* actually install the module
* spell
* verify updated scripts work; make necessary changes
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* [ColorPicker] Accessibility: adding feature move ColorPicker with arrow keys
* Removing shortcut for Esc, catching Esc, Enter and Space with low level keyboard hook.
Starting and disposing the hook only when ColorPicker is active.
* Remove code which allows disposing the keyboard hook only once
* Add support for Esperanto for PowerAccent
* Add missing UI part
* Add `EPO` to the exception list
* Remove multiple blank lines
* Add Strings
---------
Co-authored-by: ccmywish <ccmywish@qq.com>
* [Settings][ImageResizer] Add fallback encoder description
The ImageResizer provides the *Fallback encoder* setting. It is not obvious what it is a fallback for.
[The documentation on *Fallback encoding*](https://learn.microsoft.com/en-us/windows/powertoys/image-resizer#fallback-encoding) describes it.
Add a description to the setting to make it obvious and descriptive from the settings dialog setting alone.
* Drop read-write parens from text
- Add missing metadata to the packages.
-Build for any CPU, so the nuget packages can be used for any architecture.
-Remove the WinUIEx from the UI libraries, since it's unneeded. (It's only used by the app that consumes the libraries in our case).
- Remove the xbf files, which are unneeded.
- Release CI packs and signs the nuget packages.
There are two ways to handle policy (binskim, policheck, etc.) failure: put them in one giant JSON file full of hashes, or let an internal process called "TSA" turn them into bugs.
This moves us to the latter.
* [PTRun][Docs] Updated Third party plugins to include 1Password
Add a plugin developed by myself to the thirdPartyRunPlugins.md docs
* Spell Check fix - Added name to users
* [PTRun][Docs] Changed wording
---------
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Add DSC sample to install and configure
* [DSC]Make configure action depend on install
* [DSC]Add schema header for yaml-language-server
* Use full resource name for quick finding by winget
* Add index page to the DSC sample files
* Force file pickers to open modal
* remove unneeded RTL code
* better icons and analyzer suggestions
* additions for preview controls
* more code improvs
* two nits in strings
* Adressing feedback
icon margin, drive usage bar, TitleBarHeightOption
This reverts commit 62d278b23e.
Making the Color Picker windows be a Fluent Windows is making it not be drawn on very specific configuration. Yanking it out for release until we can figure it out.
* [DSC] Microsoft.PowerToys.Configure module + winget configuration file support
* f: fix for an incorrect directory id reference
* f: update comment
* f: address review comments
* f: file locksmith bug fix
* f: add explorer preview switches in samples
* f: remove debug
* Sign DSC files
* f: implement docs/samples generator
* [ci]Sign FancyZonesEditorCommon.dll
* Sign DSC files in the Generated folder
* f: address review comments
* f: update usable options
* f: add autogenerated sample
* [Installer] Don't use same GUID for different components
* [Installer]Don't remove folders shared by other modules
* Allow configuring PTRun MaximumNumberOfResults
* Remove all settings DSC sample. Just random data
* Allow configuring Hosts Run as Administrator
* Revert "[Installer]Don't remove folders shared by other modules"
This reverts commit 6da3d6cfd5.
* Add all PTRun plugins and Global and keyboard to DSC sample
* Fix issues with context menu modules not disabling
* Fix default enabled values when setting with DSC
* Fix tests regarding default modules in Settings
* Fix merge error
* Restart PowerToys process if we stopped it
---------
Co-authored-by: Andrey Nekrasov <1828123+yuyoyuppe@users.noreply.github.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
This adds the `-graph` MSBuld parameter in the pipelines. This parameter causes MSBuild to evaluate the dependency graph and build "bottom up" instead of "top down". This can lead to better machine utilization since all dependencies are known up front and can start immediately, as opposed to being discovered just-in-time as a project needs them.
In practice for this repo I did not see a huge impact, but it may be helping a little so why not.
* [CommandNotFound] extending to detect PowerShellPreview installations
* Re-implementing directory search, where the PowerShell Preview is
installed
* Re-implementing preview or normal powershell executable usage
* [Text Extractor] Restructuring Screen scale handling
* spell checker
* Update src/modules/PowerOCR/PowerOCR/Helpers/WPFExtensionMethods.cs
Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>
* Update src/modules/PowerOCR/PowerOCR/Helpers/WPFExtensionMethods.cs
* Adding a workaround to move the window in the desired position
* Restructure coordinate calculations.
---------
Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>
* code improvements and adding CheckboxAndMultilineTextBox type
* Update xaml code
* add alias property for multiline text box content
* improve comments
* final improvements
* [PreviewPane] Monaco Previewer: await initial position, size update + use recieved coordinates
* Fixing size and position issue for all file explorer previewers
* Attempt at upgrading, getting failure on two tests
* including workaround for 1.5
* Fixing naming
* adding in settings as well
* shifting to my older solution
* doing variation of the command
* Create folder for map.html hack if it's not there
* Fix NOTICE.md
* Fix Navigation Footer items crashing the Settings app
* Upgrade WinAppSDK to 1.5.1
* Revert "Fix Navigation Footer items crashing the Settings app"
This reverts commit 6ca19a53bb.
* Remove map.html hack
* EOL nit
* Add map.html to installer
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Add patterns exclusion to PTRun indexer
* Apply xaml styling
* Fix pattern escaping issues
* Add placeholder to indexer exclusion options
* Add placeholder text to textboxes
* Fix failing to split multiline text in indexer settings
* Add placeholder text to checkbox and textbox setting
* Change generated source comments to english
* [FileLocksmith] Add scroll to path in Selected file paths UI
* [FileLocksmith] Make path wrap into multiple lines in Selected paths UI
Earlier, the path was getting truncated within a single line.
Fixes microsoft#26489
* Testin out locking terms
* Fixing Dustin's feedback, adding in "Windows" when it is referring to the OS, and FancyZones
* Feedback from dustin
* Update Resources.resw
* Lets see if this will force correct the tab vs space issue (i don't think it will)
* Update Resources.resw
Misread, changing back but removing the "Do translate" as i read that as DO NOT ....
* Update Resources.resw
* [MWB] Fix use after free in service registration
* Update src/modules/MouseWithoutBorders/ModuleInterface/dllmain.cpp
---------
Co-authored-by: Andrey Nekrasov <1828123+yuyoyuppe@users.noreply.github.com>
* Working UI update with just runProgram Path and isRunProgram
* First working, basic. no args or path, or setting change detections.
* Revert and fixed.
* Some clean up, working with config file monitor
* Args and Start-in should be working.
* File monitor, quotes, xaml screens one
* Fixed enable/disable toogle from XAML
* Code cleanup.
* Betting logging.
* Cleanup, start of RunProgramDescriptor and usage of run_non_elevated/run_elevated
* Code moved to KeyboardEventHandlers, but not enabled since it won't build as is, needs elevation.h. Other testing..
* Key chords working, pretty much
* Added gui for elevation level, need to refresh on change...
* f: include shellapi.h and reference wil in KBMEL
* run_elevated/run_non_elevated sorted out. Working!
* Removed lots of old temp code.
* Fix some speling errors.
* Cleanup before trying to add a UI for the chord
* Added "DifferentUser" option
* Closer on UI for chords.
* Better UI, lots working.
* Clean up
* Text for “Allow chords” – needs to look better…
* Bugs and clean-up
* Cleanup
* Refactor and clean up.
* More clean up
* Some localization.
* Don’t show “Allow chords“ to the “to” shortcut
* Maybe better foreground after opening new app
* Better chord matching.
* Runprogram fix for stealing existing shortcut.
* Better runProgram stuff
* Temp commit
* Working well
* Toast test
* More toast
* Added File and Folder picker UI
* Pre-check on run program file exists.
* Refactor to SetupRunProgramControls
* Open URI UI is going.
* Open URI working well
* Open URI stuff working well
* Allowed AppSpecific shortcut and fixed backup/restore shortcut dups
* Fixed settings screen
* Start of code to find by name...
* UI fixed
* Small fixes
* Some single edit code working.
* UI getting better.
* Fixes
* Fixed and merge from main
* UI updates
* UI updates.
* UI stuff
* Fixed crash from move ui item locations.
* Fixed crash from move ui item locations.
* Added delete confirm
* Basic sound working.
* Localized some stuff
* Added sounds
* Better experiance when shortcut is in use.
* UI tweaks
* Fixed KBM ui for unicode shortcut not having ","
* Some clean up
* Cleanup
* Cleanup
* Fixed applyXamlStyling
* Added back stuff lost in merge
* applyXamlStyling, again
* Fixed crash on change from non shortcut to shortcut
* Update src/modules/keyboardmanager/KeyboardManagerEngineTest/KeyboardManagerEngineTest.vcxproj
* Fixed some spelling type issues.
* ImplementationLibrary 231216
* Comment bump to see if the Microsoft.Windows.ImplementationLibrary version thing gets picked up
* Correct, Microsoft.Windows.ImplementationLibrary, finally?
* Fixed two test that failed because we now allow key-chords.
* Removed shortcut sounds.
* use original behavior when "allow chords" is off in shortcut window
* fix crash when editing a shortcut that has apps specified for it
* split KBM chords with comma on dashboard page
* Fix some spelling items.
* More "spelling"
* Fix XAML styling
* align TextBlock and ToggleSwitch
* fix cutoff issue at the top
* increase ComboBox width
* Added *Unsupported* for backwards compat on config of KBM
* fix spellcheck
* Fix crash on Remap key screen
* Fixed Remap Keys ComboBox width too short.
* Removed KBM Single Edit mode, fixed crash.
* Fix Xaml with xaml cops
* Fix crash on setting "target app" for some types of shortcuts.
* Space to toggle chord, combobox back
* fix spellcheck
* fix some code nits
* Code review updates.
* Add exclusions to the bug report tool
* Code review and kill CloseAndEndTask
* Fix alignment / 3 comboboxes per row
* Fix daily telemetry events to exclude start app and open URI
* Add chords and remove app start and open uri from config telemetry
* comma instead of plus in human readable shortcut telemetry data
* Code review, restore default-old state when new row added in KBM
* Code review, restore default-old state when new row added in KBM, part 2
* Still show target app on Settings
* Only allow enabling chords for origin shortcuts
---------
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* [Awake] Reset Awake mode to "Keep using the selected power plan"
* [Awake] Remove duplicated code.
* [Awake] Set passive even there is an issue in settings file.
* [Awake] Remove unnecessary code
* update to v3
* SizeToContent="Height"
* unimportant code-behind
* UI and text
* finishing touch
* Update NOTICE.md
* Update Resources.resx
W to E
* Fix spellcheck
* [Deps]Update CppWinRT to 2.0.240111.5
* Apply fix for robmikh.common incompatibility with cppwinrt
* Add CppWinRT to projects that were missing it
* Fix spellcheck
* [CI] Point VCToolsVersion to latest VC.Tools version instead of VC.Redist version
* Update verifyAndSetLatestVCToolsVersion.ps1
* Use VisualCpp.CRT.Source version.
* changes
* fixes
* improve dev build checks
* improve dev build checks 2
* improve dev build checks 2 fix
* fix Resources.resw
* use itemsheader
* make var bool like before the changes
* Update file locksmith
* ImageResizer
* Update imageresizer context menu
* Changes
* [PowerRename]Don't use app name for context menu caption
* [ImageResizer]Apply string to old context menu too
* Add localization to the PowerRenameContextMenu project
* Show actual context menu string in PowerRename
* New Ids for the resource strings
* Add do not loc comments
* Add fallback and cache resource values
* Update src/modules/imageresizer/dll/ContextMenuHandler.cpp
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* Remove do not loc comments from Image Resizer
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* Added markdown file for mouse without borders documentation
* Changed wording from codes to colors
* Reformatted hex codes following comment
* Added mousewithoutborders to github allow names
* Add SHQueryUserNotificationState to NativeMethods
* Check for QUNS_RUNNING_D3D_FULL_SCREEN in IsWindowFullscreen
The current test for whether a window is full-screen (i.e. a movie or a game) is a bit of a heuristic. In certain cases however, we can *know* that a window is full-screen. Check that case first, then proceed with the existing logic
* Make spellchecker happier
PR opened by Clint but authorship from Davide
* Upgrade MVVM with help from @davidegiacometti
* Fix nits in package versions
---------
Co-authored-by: Davide Giacometti <davide.giacometti@outlook.it>
* Parse scientific notation properly
After adding logic to replace `e` as a mathematical constant, there are bugs
when trying to use expressions like `5e3`. This change parses the
`<number>e<number>` format into expanded form to prevent replacement with
the constant.
Regex explanation: `(\d+\.*\d*)[eE](-*\d+)
`(\d+\.*\d*)`: Match any number of digits, followed by an optional `.` and
more optional digits. The expression is used to capture things
like: `5.0`, `1.`, `1` before the `e`
`[eE]`: Match either upper or lowercase `e`
`(-*\d+)`: Capture an optional `-` sign as well as a number of digits
* Update regex to be more tolerant of weird entries
The new regex captures a wider variety of numbers. See this post for details
on the regex used:
https://stackoverflow.com/a/23872060
* Fix regular expression failing unit tests
Using `[` didn't capture the expression properly. Had to use `(` instead.
* Allow only for uppercase E
* Only allow one decimal in second grouping
* Support various decimal separator types
Previous regular expression did not allow decimal separators that were not ".".
The new expression uses the culture info decimal separator instead, which
should work better.
* Only allow integers after `E`
* Remove single use variable
* Update regex to only accept integers after `E`
Missed this expression in my last update. Whoops
* Update src/modules/launcher/Plugins/Microsoft.PowerToys.Run.Plugin.Calculator/CalculateHelper.cs
* Update NumberTranslator to parse hex as a whole
* Remove `hexRegex` as object member
The hex regex stuff is only used once, there's no need to keep track of it in
the object's state. Just create it during the translation process.
* Add unit tests for sci notation in other cultures
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* [Common] - Elevated apps warning moved to common notifications
- Warning added to AoT
* [Common] Build fix.
* [Common] Moved strings from common to AoT.
* [Common] Show notification fix.
* [Common] String name changed.
* [Common] Remove blank space
* [Common] Remove blank space
* [Common] Remove blank space
* Adding configurable fontsize for result titles
* Update src/settings-ui/Settings.UI/SettingsXAML/Views/PowerLauncherPage.xaml
Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>
* Updating strings
* XAML styler
* CI fix
* PowerLauncher images
* update results height on font change
* Revert "update results height on font change"
This reverts commit 459f57c647.
---------
Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* Updated the Wox.Plugin to correctly load and resolve plugin dependecies
* Included new plugin.props in all plugins to enable dynamic dependecy loading
* Updated dev docs to include new plugin.props in plugins
* Fixed double dependecy loading bug
* - Updated to only use dynamic loading when explicitly set by the plugin.
- Removed no longer required props from default plugins which do not need dynamic loading.
- Updated dev-docs to align with latest changes
* Removed line spacing changes in plugins csproj
* fixed spelling
* csproj cleanup
* removed unnecessary null checking
---------
Co-authored-by: Corey Hayward <coreyh@tigereyeconsulting.com>
* Add setting to show/hide plugin keywords in Run
* Increasing fontsize and spacing
* Removing tooltip prefixes
* Tweaks and making sure the window gets smaller when plugins overview is disabled
* Label updates for Settings
* Updating UI
* Fix number of results height
* Centering textbox
* Adding tooltip to keyword
* Selection highlight + dark theme tweaks
* Change order and fix CI
* Update expect.txt
* Add option to select only non-global plugins preview
* Fix typos
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* [EnvironmentVariables] EnvironmentVariables window set to front when launched.
* [EnvironmentVariables] BringToForeground function used instead of SetForegroundWindow.
* [EnvironmentVariables] BringToForeground is moved to MainWindow constructor.
* [EnvironmentVariables] Move 'handle' from class field to local variable in MainWindow constructor.
* [ImageResizer] Workaround for exception in wpf ui.
* Adding try catch to the other 3 places the SystemThemeWatcher is used.
Rearranging code in Image Resizer, which might solve the issue.
* Upgraded projects to target .NET 8
* Updated .NET runtime package targets to use latest .NET 8 build
* Updated PowerToys Interop to target .NET 8
* Switch to use ArgumentNullException.ThrowIfNull
* ArgumentNullException.ThrowIfNull for CropAndLockViewModel
* Switching to ObjectDisposedException.ThrowIf
* Upgrade System.ComponentModel.Composition to 8.0
* ArgumentNullException.ThrowIfNull in Helper
* Switch to StartsWith using StringComparison.Ordinal
* Disabled CA1859, CA1716, SYSLIB1096 analyzers
* Update RIDs to reflect breaking changes in .NET 8
* Updated Microsoft NuGet packages to RC1
* Updated Analyzer package to latest .NET 8 preview package
* CA1854: Use TryGetValue instead of ContainsKey
* [Build] Update TFM to .NET 8 for publish profiles
* [Analyzers] Remove CA1309, CA1860-CA1865, CA1869, CA2208 from warning.
* [Analyzers] Fix for C26495
* [Analyzers] Disable CS1615, CS9191
* [CI] Target .NET 8 in YAML
* [CI] Add .NET preview version flag temporarily.
* [FileLocksmith] Update TFM to .NET 8
* [CI] Switch to preview agent
* [CI] Update NOTICE.md
* [CI] Update Release to target .NET 8 and use Preview agent
* [Analyzers] Disable CA1854
* Fix typo
* Updated Microsoft.CodeAnalysis.NetAnalyzers to latest preview
Updated packages to rc2
* [Analyzers][CPP] Turn off warning for 5271
* [Analyzers][CPP] Turn off warning for 26493
* [KeyboardListener] Add mutex include to resolve error
* [PT Run][Folder] Use static SearchValues to resolve CA1870
* [PowerLauncher] Fix TryGetValue
* [MouseJumpSettings] Use ArgumentNullException.ThrowIfNull
* [Build] Disable parallel dotnet tool restore
* [Build] No cache of dotnet tool packages
* [Build] Temporarily move .NET 8 SDK task before XAML formatting
* [Build][Temp] Try using .NET 7 prior to XAML formatting and then switch to .NET 8 after
* [Build] Use .NET 6 for XAML Styler
* [CI] Updated NOTICE.md
* [FancyZones] Update TFM to .NET 8
* [EnvVar] Update TFM to .NET 8 and update RID
* [EnvVar] Use ArgumentNullException.ThrowIfNull
* [Dev] Updated packages to .NET 8 RTM version
* [Dev] Updated Microsoft.CodeAnalysis.NetAnalyzers to latest
* [CI] Updated NOTICE.md with latest package versions
* Fix new utility target fameworks and runtimeids
* Don't use preview images anymore
* [CI] Add script to update VCToolsVersion environment variable
* [CI] Add Step to Verify VCToolsVersion
* [CI] Use latest flag for vswhere to set proper VCToolsVersion
* Add VCToolsVersion checking to release.yml
* Remove net publishing from local/ PR CI builds
* Revert "Remove net publishing from local/ PR CI builds"
This reverts commit f469778996.
* Only publish necessary projects
* Add verbosity to release pipelines builds of PowerTOys
* Set VCToolsVersion for publish.cmd when called from installer
* [Installer] Moved project publish logic to MSBuild Task
* [CI] Revert using publish.cmd
* [CI] Set VCToolsVersion and unset ClearDevCommandPromptEnvVars property
* Installer publishes for x64 too
* Revert "Add verbosity to release pipelines builds of PowerTOys"
This reverts commit 654d4a7f78.
* [Dev] Update CodeAnalysis library to non-preview package
* Remove unneeded warning removal
* Fix Notice.md
* Rename VCToolsVersion file and task name
* Remove unneeded mutex header include
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Adds a link to the OOBE What's New Section in the ShellPage Navigation
* Updated verbiage to code as per recommendation
* Updated so that if the Oobe Window is active, clicking on the What's New option in the ShellPage navigates to the What's New page.
Added a "SetActiveWindow" Method the OobeWindow to easily open an active window of a set PowerToysModule type - this is to support being able to open the What's New Page without having to close the Oobe Window and close it every time.
* Renamed SetActiveWindow to SetAppWindow
* Adjusted method and property names for naming consistency across the application
* Fixed an oversight.
---------
Co-authored-by: Ian Kraynak <iakrayna@microsoft.com>
* [TextExtractor] default enabled until Win10 + infobar in Settings page
* Fixing severity
* Fixing warning text
* Use the Windows 11 detection from Common.UI
* [Peek] Peek and Monaco file encoding issues are solved with a encoding detector.
* [Peek] Monaco encoding parameter is moved to another function.
* [Peek] NOTICE.md update.
* [Peek] Spell Check update.
* UTF-Unknown is added to Nuget list in Notice.md
* System.Text.Encoding.CodePages is added to Nuget list in Notice.md
* [Peek] Unncessary mainfest files are deleted.
* [Peek ] Unncessary mainfest file are deleted.
* [Peek] Encoding null check is added.
* Update NOTICE.md
* Update NOTICE.md
* ci: Add signing to UtfUnknown
* Update ci.yml
Add path exclusions for markdown files.
* Update wildcard syntax
* Test edit SUPPORT.md
* Update ci.yml
* Test Update SUPPORT.md
* Update SUPPORT.md
Test update SUPPORT again.
* Update ci.yml
* Explicit define of markdown files at root
* Test update SUPPORT.md
* Update ci.yml
* Another Test Update SUPPORT.md
* Script to check existence of markdown changes in commit
* Added precheck job to determine whether a build needs to occur
* Added pool logic from ci-build to precheck
* Fixed GitHub API url for commits
* Test change to SUPPORT.md to see if logic works.
* Converted filename list to array to make notmatching criteria work
* Change to SUPPORT.md to test
* Updated condition to check success of previous precheck job
* Added task name to verifyBuildRequest and updated job run condition
* Another update to SUPPORT.md to test
* Updated spell-check
* Removed checkout step and made Powershell task inline
* Fixed indentation
* Test change to SUPPORT.md
* Fixing script
* Another test change to SUPPORT.md
* [CI] Update Build Precheck step to use latest agent config
* Update SUPPORT.md
* Update SUPPORT.md
* [CI] Update Build Precheck to exclude .txt and read changes from pull request
* [CI] Remove unneeded verifyBuildRequest script
* [CI] Updated variable names to reflect pull request retrieval in precheck
* Settings Dashboard: Adding feature switch to settings page if module panel clicked.
* fixing xaml styling
* Refactoring, creating common methods GetModuleAccentColor and GetModulePageType
* Correct button style to be invisible. Add the same functionality to the disabled modules.
* fixing XAML styling
* [PTRun] Refactor GetHBitmap to handle external DLL failures in a separate task.
* Revert "[PTRun] Refactor GetHBitmap to handle external DLL failures in a separate task."
This reverts commit 159c5744b8.
* [PTRun] GetBitmapSource function has been added for file extensions that cause crashes.
* [PTRun] Spell Check update.
* [PTRun] Renamed function and variable name.
* [PTRun] ShellLinkHelper moved to Wox.Infrastructure for common use.
* [Crop and Lock] Saving and restoring original state of hwnd.
* [Crop and Lock] Unnecessary parts are removed.
* [Crop and Lock] Line spaces added.
* [Crop and Lock] Unnecessary parts are removed.
* [Crop and Lock] Restoring placement before window position and dimensions.
* [Crop and Lock] Restoring steps order adjusted.
* [Crop and Lock] Remove parent moved above SetWindowPlacement.
* [Crop and Lock] Error checks are improved. Sleep at end of DisconnectTarget removed.
* Fix dark title bar for shortcuts window
* Adjust editor sizes
* Fetch accent button style from resources instead
* Modernize the editor UI
Reimplemented the XAML bridge to support Mica
* Use fluent icons
* Modernize the preview key visuals
* Implement teaching tips for key drop-down messages
* Fix spelling
* Fix delete button alignment in keys editor
* Remove trace log from bridge message handler
* Add WinUI depends to installer script
* Hide icon and caption from editor title bar
* Update remap entries to look like cards
* Use built-in content dialog buttons
* Update add button
* Fix spelling
* Fix installer script for ARM64
* Fix spelling AGAIN
* Update dev documentation
* Prevent white flash on dark mode
* Revert 3-key layout but make window wider
* f: align webview versions
* f: add pipeline exceptions for Microsoft DLLs that are not versioned
* f: add vcruntime140_1_app.dll to the exception list
* f: update webview versions
* [GPO] Add Environment Variables to admx/amdl files
* Up the revisions to avoid gpo issues with the resource file
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* [EnvVar] Mark profile variable in user variables
* Mark backup variables
* Add tooltip to icon, put in header and disable editing of applied var
* Use completed icon instead
* Better var name and comments
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Read variables from registry (without expanding), not by using Environment API
Fix seting variables to registry
* Expand in Applied variables list
* Remove using
* Add comments
* [EnvVar] Add separator between variable value textbox and list in edit list variable dialog
* Update Edit variable dialog labels
* Comment localization updates
* Removed limit for MouseHighlighter Animation Duration and Animation Delay.
(If user sets these values to 0ms, it will actually be set to 1ms to avoid crashing the app)
* Update MouseHighlighter.cpp
Removed the hack ;D
* Update MouseHighlighter.cpp
* Update MouseUtilsPage.xaml
Changed the values to 1
* Update MouseHighlighter.cpp
Reintroducing workaround
* Update MouseUtilsPage.xaml
Changed the minimum values for FadeDelayMs and FadeDuration back to 0.
* Init EnvironmentVariables UI project
* Models
TitleBar
MainPage init
Icon
* User and system variables
* Profiles init
* XAML cleanup
* Missing ItemTemplate
* EditDialog
* ModuleInterface
* Signing and processes lists
* Installer
* spellcheck
* Fix ARM64 build and consolidate packages
* spellcheck2
* Fix installer
* Single instance. C# telemetry. Wait on PT pid
* ElevationHelper
* Add profile wip
* Init EnvironmentVariables UI project
* Models
TitleBar
MainPage init
Icon
* User and system variables
* Profiles init
* XAML cleanup
* Missing ItemTemplate
* EditDialog
* ModuleInterface
* Signing and processes lists
* Installer
* spellcheck
* Fix ARM64 build and consolidate packages
* spellcheck2
* Fix installer
* Single instance. C# telemetry. Wait on PT pid
* ElevationHelper
* Add profile wip
* show run as administrator in title (#28516)
* Environment Variables added to Run plugin (#28466)
* UI tweaks
* Remove style
* Add profile - init working
* Applied variables
* Read/Write profiles
* Fixes
* Add separator and fix loading profiles
* Only allow to edit System vars if running elevated
* Add tmp progress ring to show applying changes progress
Ignore not needed json fields
* Remove variable and profile logic
* Do not read data async
Update System and User variables on change
* Add isCorrectlyApplied()
* Sort variables in Applied variables
* WIP WndProc
* spellcheck
* Revert "WIP WndProc"
This reverts commit 0c0b6c67de.
* WHY CRASH???
* UI tweaks
* WIP modified state warning
* Add cancel button in dialogs
* Add buttons validations
* Set variables - fire and forget notify
* Revert "Revert "WIP WndProc""
This reverts commit 1b2306eeb7.
* Listen to WM_SETTINGSCHANGED
Add Infobar reload button
* spellcheck
* spellcheck again
* Fix build
* InfoBar runAsAdmin visibility
* Fix comment
* Confirm dialog when deleting variable
Fix add variable button when creating profile
* Edit profile
* Sort variables on Load
* Select existing variables on edit
* Add default variable
* Fix adding existing vars to profile
* update notice.md
* Handle PATH properly
* Add tooltips and fix dialogs text wrapping
* Fix applied values for duplicates
Fix add/eddit variable txt box validation
* Add horizontal scroll bar for applied values
* Fix duplicate variables handling
Fix user variable handling and preview
* spellcheck
* Try fix spellcheck
* Revert "spellcheck"
This reverts commit ee76231974.
* Revert "Try fix spellcheck"
This reverts commit dc8f04afb9.
* Fix path and duplicates conflict
* Fix PATH handling
Fix unapply on delete active variable
Fix ordering in applied variables
* Show variables as lists and add drag-to-reorder feature
* Only show specific variables as list
Update list in edit dialog on editing the value
* spellcheck
* Update GPO policy
* Add Edit and Remove variable buttons
Remove context menu
* Remove drag&drop when editing list variable and add buttons to move up/down
* Fix Edit profile dialog title
* Fix backup and restore variables when editing variable from applied profile
* Apply var to system WIP
* Tweaks
* Simplify edit variable logic
* Minor fixes
* Spellcheck
* Update src/modules/EnvironmentVariables/EnvironmentVariables/app.manifest
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* spellcheck 2
* Remove unneeded string
* Add more telemetry
* Do not allow adding existing variables with the same name into the profile
* Adding icon
* Fix the crash when opening existing variables dialog
* Update Settings and OOBE screenshots
* Fix crash when malformed profiles.json and jsonignore not needed properties
* Fix selecting duplicates in existing variables dialog
* Add user variable name limit (<255 chars)
Check if profile is applicable on apply
Show message if profile is not applicable
* XamlStyling
* Better Flyout positioning
Add Cancel button to the flyout
* Fix UI glitches by using ItemsControl (no virtualization)
* Fix spellcheck
* Fix XAML style
* Add horizontal scrollbar to applied variables
* Revert to ItemsRepeater
* Fix UI glitches by adding a decent minimum cache
* Fixing UI bugs
* Fix spellcheck
* Fix crash while trying to edit a User variable when there's no Parent
profile
* Fix issue overwriting backup var when you edit var on applied profile
* Fix nuking of variables when adding to applied profile
* Fix profile not being saved when deleting a variable
* Fix ValuesList empty crash, issues and no serialization
* fix spellcheck
* Allow in-line edit of list variables
* Fix xaml style
* Fix add profile variable cancel button logic
* Fix add profile variable cancel button logic - clean the list
* Bump VerticalCacheLength to 10
as in some cases UI glitch on expanding System variables was still present
* Fix profile Add variable button enable/disable logic
* Remove unneeded using
* Add to Dashboard
---------
Co-authored-by: Niels Laute <niels.laute@live.nl>
Co-authored-by: Davide Giacometti <davide.giacometti@outlook.it>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Dashboard: modifying page content + adding SW version button.
* Visual tweaks and minor viewmodel changes
* Updated spacing
* Adding Settings icon
* Settiing the Dashboard page as the default one. Adding functionality to switch to settings pages from the Dashboard page. Localizing texts.
* fixing csproj file
* Reimplementing Active modules handling, showing only the active modules (and not having invisible inactive modules).
* Removing unneccessary binding
* Fix text wrapping
* Adding Registry previewer launch, adding activation mode for FindMyMouse and QuickAccent, modify File Locksmith description.
* Spell checker fix typo
* Adding GPO-blocked state, modifying buttons: adding description, icon.
* Modifying dashboard button layout
* Use SettingsCard instead of button
* Restructuring the dashboard panel
* Removing togglebuttons from the left panel. Showing only active modules. Adding key remappings (to KBM)
* Removing settings buttons, removing descriptions, icons from buttons. Add update of remapped keys, shortcuts.
* Refactoring dashboard
* Making list always visible and fixing scrolling behavior
* Adding background gradient to cards
* Removing keyboard manager's key mappings, minor changes in texts, fixing enabled state when GPO-enabled.
* Use ListView instead of ItemsRepeater
* Updates
* removing right panel with all modules. Extending "left" panel with toggleswitches, showing all modules.
* Separate lists
* Adding Flyout with key remappings for KBM module, adding IsLocked property, icons
* Visual tweaks
* Tweaks
* Fixing lock icon margin
* Minor fixes.
* Removing unused resources
* Make Dashboard default when coming from the OOBE General
* Removed the Previous, Next Layout buttons from FancyZones. Added activation information
---------
Co-authored-by: Niels Laute <niels.laute@live.nl>
* ColorPicker will now end user session on right click.
* Update IMouseInfoProvider.cs
changed RMouse to SecondaryMouse
* Update IMouseInfoProvider.cs
* Update MouseHook.cs
Changed names from RMouse to SecondaryMouse
* Update MouseInfoProvider.cs
changed names from RMouse to SecondaryMouse
* Update MouseInfoProvider.cs
* Update MainViewModel.cs
changed names from RMouse to SecondaryMouse
* Added handler for SecondaryMouseDown and made it start user session to avoid issues with right click to terminate ColorPicker
* Secondary Mouse Up will now end user session without opening context menus as a result of right clicking.
* Add comment about consuming the right mouse event
* add unix time in ms
* update dev docs
* unit tests
* fix spell check
* tool tip
* fix negative unix time input, improve regex, update unit tests, improve error message
* Update error handling and tests
* add tests and fix spelling
* small fixes
* here are the tests for the fancy zones
* Wrote tests for GridLayoutModel
* Move FancyZonesEditor tests to right place, tests for default layout model
* fixed SettingTheVerticalLayoutShouldBeTheDefault test
* removed coverlet in the test project
* Fixes for comments on pr
* squashed and updated for comments
* Added the test to the pipeline
---------
Co-authored-by: Drew Gordon <andrewbengordon@gmail.com>
Co-authored-by: Caleb Wightman <agentcboy@gmail.com>
* Add support for preview handlers
* Fix spelling
* Fix DPI resizing and redraw
* Make source into an ObservableProperty
* Add handler visibility property
* Better error handling
* Add support for IInitializeWithItem
* Run preview handlers in separate processes
* Fix redrawing when switching previewers
* Use XamlStyler to check XAML formatting
* fix spellcheck
* fix
* format XAML FLS, Hosts, ImageResizer, MeasureTool, PowerRename
* format XAML Peek
* exclude settings XAML and make CI pass
* doc
* Enable Control Flow Guard; it is a requirement for any MS binaries
As it says on the tin. Go go gadget VC!
* Disable CFG for CLR projects (boo)
* Disable E&C...
(cherry picked from commit f0c3f58468)
* okay, stop being surgical and just whack it
* Revert "okay, stop being surgical and just whack it"
This reverts commit e4e10c6b8a.
* Oh CLRSupport is a **property**
Fixes simple typo/grammar errors
It's easier to understand if it is spelled correctly. This is especially important for those for whom english may not be their first language.
Signed-off-by: brian teeman <brian@teeman.net>
Fixes simple typo/grammar errors
It's easier to understand if it is spelled correctly. This is especially important for those for whom english may not be their first language.
Signed-off-by: brian teeman <brian@teeman.net>
Fixes simple typo/grammar errors
It's easier to understand if it is spelled correctly. This is especially important for those for whom english may not be their first language.
Signed-off-by: brian teeman <brian@teeman.net>
Fixes simple typo/grammar errors
It's easier to understand if it is spelled correctly. This is especially important for those for whom english may not be their first language.
Signed-off-by: brian teeman <brian@teeman.net>
Fixes simple typo/grammar errors
It's easier to understand if it is spelled correctly. This is especially important for those for whom english may not be their first language.
Signed-off-by: brian teeman <brian@teeman.net>
Fixes simple typo/grammar errors
It's easier to understand if it is spelled correctly. This is especially important for those for whom english may not be their first language.
Signed-off-by: brian teeman <brian@teeman.net>
Fixes simple typo/grammar error which otherwise could be read as height
It's easier to understand if it is spelled correctly. This is especially important for those for whom english may not be their first language.
Signed-off-by: brian teeman <brian@teeman.net>
Fixes simple typo/grammar error.
It's easier to understand if it is spelled correctly. This is especially important for those for whom english may not be their first language.
Signed-off-by: brian teeman <brian@teeman.net>
Fixes simple typo/grammar error.
It's easier to understand if it is spelled correctly. This is especially important for those for whom english may not be their first language
Signed-off-by: brian teeman <brian@teeman.net>
* [SVGPreview] Handle comments properly
* f: spelling
* f: add tolerance to the bitmap eq test
* f: remove bitmap eq testing, since it doesn't work on CI for some reason
* f: parsing issue
* Fix typo
* Better data grid preview like regedit
* Fix sorting of resource strings
* Add error icons back in
* Remove comments then trim whitespace
* Better string detection
* rename
* moved applied layouts tests
* changed work area id comparison
* changed save
* changed apply
* changed clone
* sync applied layouts
* save last used vd
* replace parent work area ids
* proper time for sync
* sync layouts considering last used virtual desktop
* use ids from work areas on editor opening
* update applied layouts tests
* sync app zone history vd
* fix test
* release build fix
* app zone history comparison
* pass last used vd to sync
* clean up unused
* dpi unaware values
* update GUID_NULL
* use registry values only
* added more tests
* fix failing scenario
* added replace condition to zone history
* sync time
* log
* spellcheck
* fix pch in project
* fixed cloning layout
* [Peek] A check for color of body element in html and change it based on theme is added.
* [Peek] WebView2 solution is added instead of javascript injection
* [Peek] Detailed comments are added.
* Improves handling of Gcode Thumbnails
* Remove Peek support
* Moves GcodeHelper to PreviewHandlerCommon
* Reverts minor change
* Skip unknown data on GcodeHelper.GetBestThumbnail
* Replaces QOI.Core with QoiImage
* Fixes spellchecker
* Reverts changes to NOTICE.md
* Minor QoiImage improvements
* Use custom QoiPixel struct
* Add MIT notice for the QOI reference code
* Fix spellcheck for the MIT notice
* Update NOTICE.md
tweaked notice a bit
* Conflict resolving Part 1
* Conflict resolving Part 2
* Conflict resolving Part 3
* Conflict resolving part 4
* fix usepinyin
* Add test and fix setting
* Fix whitespace
* Fix prefix name
* Add mention that it doesn't work for every plugin
Using our own pools like this gives us a lot of freedom in the tooling
that's installed, the OS versions it targets, and when we take on Visual
Studio updates.
As part of this effort, I've also stood up a "small" agent pool. At the
time of this PR, that pool is using D2ads-v5 SKU VMs (2 vcore 8 GiB)
versus the "large" agent pool's D8as-v5 (8 vcore 32 GiB). Smaller build
tasks can in the future be moved over to the small pool. Compilation's
the hard part, so it gets to stay on the large pool.
* Remove unsed code and organize.
* If clicking a word hide the overlay to do the OCR
Code formatting
* spelling
* Add ResultTable
* Result Table working
* Spelling Fixes
* Initial Get UX for new Overlay UX working
* Basic top buttons working and loading correctly
* use Single Line and Table Toggle buttons when doing OCR
* Code style and error and warning removal
* Dispose Wrapping Stream as much as possible
* Fix spelling catches
* Use WPF UI 3.0.0-Preview.4
* Revert changes to ColorPicker UI
* Add Settings DeepLink
* Use Accent Color where possible
* Remove redundant button styles,
fix table click event
* Fix disposing too early
* Update to WASDK 1.4
* Remove redundant title bar styles.
* Update notice
* Update C++ projects as well
* Upgrade CppWinRT too
* Add exception to WASDK file version set to 1.0.0.0
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
- Move original icon 2px down and 1px left to produce sharper down-sampling results
- Create ICO-pages for 64x64, 48x48, 32x32, 24x24, 20x20 and 16x16 icon versions
* PowerAccent: make All collect from Lang functions rather than return from manually updated list
* I forgot the semicolon
---------
Co-authored-by: dannysummerlinjstartorg <danny.summerlin@jstart.org>
* FindMyMouse: switch animations on/off based on global windows settings
* Fancy Zones: enable/disable animations based on global Windows settings
* Shortcut Guide: enabling/disabling animations based on global Windows settings
* spell checker
* Making MouseUtils settings dependent on global windows settings, AnimationEffects. If the global settings is disabled the MouseUtils animation settings is disabled too, description shows the reason.
* Adding error detection, log on SystemParametersInfo call.
* Adding infobar instead of changing description of the settingsbar.
* spell checker
* moving native constant into NativeMethods class
* [Tests]Disallow user override of culture options while running tests
* Revert unintended changes to the system's plugin
* Embed utc in the date to run utc tests on other timezones
* keep editing model
* hotkey backup
* added restore to base model
* pass model as an arg to edit and backup
* init canvas zones
* serialization
* not needed line
* Added 'Paste as Plain Text' to the GitHub Issue Template selection drop down
* Update version placeholder too
* Adds Mouse Without Borders as area option in issue templates & updates placeholder PowerToys version
* Updated Release Notes for KBM
* Update README.md
* Update README.md
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* [Runner] adding param when restarting to detect restart loop
* modifying comment to be more precise
* Adding log for the restart-loop-break scenarios
* [CropAndLock]Original POC code dump
* Project rename and delete solution
* Remove unused architectures
* Update cppwinrt to be in line with the solution
* Add to PowerToys solution and fix build errors
* Initial module interface empty project
* Module skeleton based on AlwaysOnTop
* Add loggers to module interface
* Add crop and lock to the runner
* Enable starts and disable kills the process
* Events reacting to hotkeys
* Main application reacting to events
* Initialize unhandled exception handling
* Singleton in line with other projects
* Also exit when PowerToys exit is detected
* Create Settings page
* React to shortcut changes in Settings
* Disable Crop and Lock through an Event
* Disable running Crop and Lock standalone
* Remove Crop and Lock tray icon
* Module Interface dll version
* Fix main app resource file to include version
* Make pch conditional on CI build
* Add to signing
* Remove settings screen opened by removed tray icon
* Fix spellcheck
* Yet another fix for spellcheck
* Fix disabling utility
* Fix solution build configurations
* Fix C++ analyzer errors
* Try to fix pre-compiled header CI errors
* Fix crash while exiting with an active reparent window
* Fix missing reference when building in release CI
* Add OOBE page
* GPO: Add admx and adml file changes
* GPO: react to changes in GPO
* Add quick access flyout menu entry
* Use Crop And Lock icon
* Use actual images for Settings and OOBE
* Module and app telemetry
* Add entry to README.md
* Add to process lists
* Additional logging
* Attribution in Settings page
* Add attribution to Community.md
* Fix spellcheck
* Fix typo in strings
* Fix crash when window handle is no longer valid
* Update COMMUNITY.md
* Fix supportedOS in manifest
* Don't show msgbox if detecting second instance
* Remove unused hotkey
* Tweak attribution
* Fix attribution spellcheck
* Fix for 27766
Removes the Icon property from all AppBarButtons and adds FontFamily for all Glyph's
* Update MainWindow.xaml
Removing a "Windows 11-only" glyph to prevent UI issues.
* [MouseHighlighter] modifying window to be 'topmost' to be visible when clicking on 'pinned to top' windows.
* Fixing window hidden when clicking on a pinned to top window.
* Moving the code which starts the bring-to-front-timer to the mouse click events.
Also adding modifications to await 5 times 10 ms after the event to have surely the desired effect as in some cases the window repositioning takes longer than 10 ms.
* Minor changes
* Add safety code to ensure timer is never started paralely. Also minor format changes.
* Add comments
* spell checker corrections
* [Launcher] ignoring key preses while previous key press processing is ongoing
* extending TextChangedEventArgs with Initiator, storing and using initiator for the event lifetime to avoid overwriting of the initiator when parallel events occur.
* extending code with check on event object presence
* [Settings - PowerRenamePage] Add info about extended context menu
* Remove styling for easy review
* IsExpanded=False
* Add infobar to FileLocksmith settings page as well
* Address comment
* [Quick Accent] - Left/Right key action normal behaviour added for less than input delay.
- Showing toolbar bug is resolved.
* [Quick Accent] Used spaces instead of tabs
* [PTRun] Lock mechanism added to GetLocalizedName.
* [PTRun] Dictionary replaced with ConcurrentDictionary instead of using lock.
* [PTRun] Ignoring TryAdd function result.
* [MouseHighlighter]Add always pointer
Make color pick UI ARGB
Delete Opacity setting
* Fix opacity and color
Fix "always color" incorrectly initialized
Revert default opacity to 65%, which was unintentionally lowered to 25% when
changing to percent
* Fix crash when opening MouseUtils settings page
Migration code was bugged, made malformed json and led to settings page crash.
* Implement migration in module side
* [MWB] Migrate to PowerToys-style shortcuts and disable Ctrlx3 for multiple mode
* f: analyzer fixes
* f: add Win to all default shortcuts
* f: remove capture screen feature
* f: add ability to disable shortcut
* f: restrict disabling shortcuts only for MWB for now, because we don't explicitly support this feature anywhere else
* handle downgrade->upgrade scenario
* f: res loader
* f: fix disabled state
* f: fix L hotkey handling
* [Peek] FlowDirection.LeftToRight added to prevent RTL language mirroring.
* [Peek] Dynamic layout updates applied to title bar for RTL/LTR language support
* Flatten everything and succeed build
* Figure out Settings assets
* Remove UseCommonOutputDirectory tag
* Proper settings app path
* [VCM] Fix assets location
* Fix some runtime paths
* [RegistryPreview]Use MRTCore specific pri file
* [Hosts]Use MRTCore specific pri file
* [Settings]Use MRTCore specific pri file
* [Peek]Use MRTCore specific pri file
* [FileLocksmith]Use MRTCore specific pri file
* [ScreenRuler]Use MRTCore specific pri file
* [PowerRename]Use MRTCore specific pri file
* [Peek]Move assets to own folder
* [FileLocksmith] Use own Assets path
* [Hosts]Use own assets folder
* [PowerRename]Use own assets dir
* [MeasureTool] Use its own assets folder
* [ImageResizer]Use its own assets path
* Fix spellcheck
* Fix tab instead of space in project files
* Normalize target frameworks and platforms
* Remove WINRT_NO_MAKE_DETECTION flag. No longer needed?
* Fix AOT and Hosts locations
* Fix Dll version differences on dependency
* Add Common.UI.csproj as refernce to fix dll versions
* Update ControlzEx to normalize dll versions
* Update System.Management version to 7.0.2
* Add GPOWrapper to Registry Preview to fix dll versions
* [PTRun]Reference Microsoft.Extensions.Hosting to fix dll versions
* Fix remaining output paths / dll version conflicts
* [KeyboardManager]Executables still on their own directories
* Fix Monaco paths
* WinAppSDK apps get to play outside again
* Enable VCM settings again
* Fix KBM Editor path again
* [Monaco]Set to own Assets dir
* Fix installer preamble; Fix publish. remove unneeded publishes
* Remove Hardlink functions
* Installer builds again (still needs work to work)
* Readd Monaco to spellcheck excludes
* Fix spellcheck and call publish.cmd again
* [Installer] Remove components that don't need own dirs
* [Installer] Refactor Power Launcher
* [Installer] Refactor Color Picker
* [Installer] Refactor Monaco assets
* [Installer]Generate File script no longer needs to remove files
* [Installer]Refactor FileLocksmith
* [Installer] Refactor Hosts
* [Installer]Refactor Image Resizer
* [Installer]Refactor MouseUtils
* [Installer]Refactor MWB
* [Installer]Refactor MeasureTool
* [Installer]Refactor Peek
* [Installer]Refactor PowerRename and registry fixes
* [Installer]Refactor RegistryPreview
* [Installer]Refactor ShortcutGuide
* [Installer]Refactor Settings
* [Installer]Clean up some unused stuff
* [Installer]Clean up stuff for user install
* [Installer]Fix WinUi3Apps wxs
* [Installer]Fix misplaced folders
* [Installer]Move x86 VCM dll to right path
* Fix monaco language list location
* [Installer]Fix VCM directory reference
* [CI]Fix signing
* [Installer] Fix resources folder for release CI
* [ci]Looks like we still ship NLog on PowerToys Run
* [Settings]Add dependency to avoid dll collision with Experimentation
* [RegistryPreview]Move XAML files to own path
* [RegistryPreview]Fix app icon
* [Hosts]Move XAML files to their own path
* [FileLocksmith]Move XAML files to their own path
* [Peek]Move XAML files to own path
* [ScreenRuler]Move XAML files to its own path
* [Settings]Move XAML to its own path
* [ColorPicker]Move Resources to Assets
* [ShortcutGuide]Move svgs to own Assets path
* [Awake]Move images to assets path
* [Runner]Remove debug checks for PowerToys Run assets
* [PTRun]Move images to its own assets path
* [ImageResizer]Icon for context menu on own assets path
* [PowerRename]Move ico to its own path
* Remove unneeded intermediary directories
* Remove further int dirs
* Move tests to its own output path
* Fix spellcheck
* spellcheck: remove warnings
* [CppAnalyzers]Ignore rule in a tool
* [CI]Check if all deps.json files reference same versions
* fix spellcheck
* [ci]Fix task identation
* [ci]Add script to guard against asset conflicts
* [ci]Add more deps.json audit steps in the release build
* Add xbf to spellcheck expects
* Fix typo in asset conflict check scripts
* Fix some more dependency conflicts
* Downgrade CsWinRT to have the same dll version as sdk
* [ci]Do a recursive check for every deps.json
* Fix spellcheck error inside comment
* [ci]Fix asset script error
* [ci]Name deps.json verify tasks a bit better
* [ci]Improve deps json verify script output
* [ci]Update WinRT version to the same running in CI
* Also upgrade CsWinRT in NOTICE.MD
* [PowerRename]Move XAML files to own path
* [Common]Fix Settings executable path
* [ci]Verify there's no xbf files in app directories
* [installer]Fix firewall path
* [Monaco]Move new files to their proper assets path
* [Monaco]Fix paths for new files after merge
* [Feedback]Removed unneeded build conditions
* [Feedback]Clear vcxproj direct reference to frameworks
* [Feedback]RunPlugins name to hold PTRun plugins
* [Feedback]Remove unneeded foreach
* [Feedback]Shortcut Guide svgs with ** in project file
* [Feedback]Fix spellcheck
* #19638 Added the option to Mouse Crosshairs to fix the lengths of the crosshairs. Some discussion about design in the issue but currently implemented as a configuration toggle and separate length input.
* Fixed crosshairs fixed lengthed enabled not being read on view model initialization
* Add hashing plugin for Run
* Cleanup logic for hasher plugin
- The IComputeRequest interface should make it easier to implement new
generators in the future
- The GUID generator can now generate all versions of GUID (a.k.a. UUID)
- The input for the hash functions is not quite right. The
Wox.Plugin.Query class doesn't actually have a way to ge the raw query
as given by the user. The issue is with multiple spaces. An input like
"a a a a a" would only be accessible as "a a a a a" using the
Query class.
So for now, hashing only works correctly if the input
doesn't contain multiple consecutive spaces.
- Need a way to make clear the usage for generating GUIDv3 and v5, since
they take 2 parameters. There are defaults, but they aren't very
clear.
* Change plugin name to ValueGenerator
* Clean up error handling for the input parser
* Add result type and description to subtitle
* Change the icons
* Add Base64 encoding and unit tests
This commit adds Base64 encoding as a utility of the value generator
plugin. The command is `# base64 ***input***`.
Also added unit tests for the UUID/GUID generator and for the input
parser. I don't think tests are necessary for the hashing functions
or for the base64 encoder, since those were part of the the system
libraries.
I'll open a PR for the documentation tomorrow and mark this draft
for review.
* Excluded UUIDv2
* Change icons
* Add RawUserQuery to Wox.Plugin.Query
Getting the RawUserQuery is necessary to be able to handle queries like
`# md5 a a`, where the intent is to get the hash for `a a`.
The existing `RawQuery` removes consecutive whitespaces and there was no
other way of getting the request as entered by the user.
* Add ValueGenerator plugin to installer
Also add the unit tests for the plugin to the pipeline.
* Small cleanup
* Fix spelling
* Fix spelling again
* Spell check for guiddata
* More fixes
This commit adds the dev docs explaining the classes in the new plugin.
It also fixes the following issues:
1. ValueGenerator was not a dependency for the PowerLauncher project
2. The error message for an invalid SHA variant now displays the
supported SHA variants
3. Hash requests now wait for a string to hash (i.e. no longer hash an
empty string)
4. GUID v3 and v5 namespace aliases allow lowercase notation
5. Unnecessary debug logs
6. An empty query will now just log "Empty request"
7. An invalid query will also log user query
* Spell check fix again
* Change error message for unsupported GUID versions
* Remove Any CPU from the solution
* Add to installer
* Remove duplicated ValueGeneratorPluginFolder entry
* Installer: add priority settings to the task scheduler PT task.
* Add priority settings for task creation (for Task Scheduler) to the runner as well
* Modifying priority value
* [Registry Preview] * Two settings folders reduces to one.
* Two settings files reduced to one.
* Folder creation if not exist added.
* Add size/position properties to fix saving from Settings app
* Separate settings.json and app-placement.json
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* [QuickAccent] A check is added to applications running under other applications with window name for excluding.
* [QuickAccent] Check moved under a general function and applied all modules includes excludeapp
* [QuickAccent] Function name revised
* [QuickAccent] check_excluded_app_with_title function moved to excluded_apps.h
* [QuickAccent] New function created for clean code.
* Reuse check_excluded_app_with_title
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* Add Default Value field to all controls
* Add reset button to Control field
* Improve button
Improve appearance
Add ToolTipService
Add AutomationProperties
* Move Reset button to Shortcut Dialog
* Fix Video Conferencing crash
* Change `Use Default` to `Reset`
* Move color values to constant
* Fix MonacoPreview flickering on file selection and resizing
* Fix MarkdownPreview flickering on file selection and resizing
* Fix SvgPreview flickering on file selection and resizing
* Create Settings class and standardize background setting for MarkdownPreview
* Replace ColorTranslator.FromHtml with Color.FromArgb for constant color settings
* Use existing SetBackground
* Remove duplicate GetTheme function
* Update src/modules/previewpane/MarkdownPreviewHandler/Settings.cs
* General: re-implementing network error handling
* Remove unreferenced dead code
* Minor modification in the update procedure. Removing the code part which updates the UI before the real check on new version. UI will be updated after the real check is done.
* Fixing keyboard hook eagerness. capture ctrl+alt keys only if shift and win are NOT pressed.
* Update src/modules/MouseWithoutBorders/App/Class/InputHook.cs
* [ColorPicker] Store color history in a separated file
* ColorPicker] Separated file for color history: use the list from the settings.json if there is no ColorHistory.json file (preventing loss of existing color history)
* Fix case when there is no history saved or no settings file at all.
* Update screenshot to Windows 11 Explorer
* Update OOBE screenshot
* Resize image
* Update instructions to reflect Windows 11
* Minor edit to instructions
* [Image Resizer] HandleEnterKeyPress event added for image resizer.
* [Image Resizer]
* Comments are added to Button_KeyDown function
* Uncessary spaces are removed.
* [Image Resizer] Workaround reasons are added to function summary.
* 25834
* Asociate Registry Preview with .reg files
* Add setting for making RP default app for .reg files
* Run spellcheck
* Run spellcheck again
* Fix build
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* [Runner] CheckForUpdatesCallback function and ID_REPORT_BUG_COMMAND case in tray_icon moved to threads.
* [Runner] Bool flag added to bug report thread.
* [Runner] Bool flag added to CheckForUpdatesCallback thread.
* [Runner] Review comments added. Uncessary mutex removed. compare_exchange_strong is used for atomic_bool variable checks.
* Comment out code hooking Ctrl+Shift+Alt+K to toggle unused UseVKMap setting
* [MWB] Remove UseVKMap and VKMap completely
---------
Co-authored-by: David Taylor <davidt@yadt.co.uk>
* catch exception
* Check count of items to avoid the exception being thrown
* Fix regression from #26364
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* [Peek] WindowActivationState checks are added for focus and close after losing focus.
* Add setting to activate the behavior
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Update translation_issue.yml
* Fix typo in translation.yml
* Update bug_report.yml
* Update version in translation_issue.yml
* Update version in bug_report.yml
* Add basics of VideoPreviewer to build on
* WIP
* Minimal working code, todo next:dimension + MTC
* Nits
* Change back to GetImageSize as it indeed doesn't work with videos
* Add win32 helper methods to get video size; Refactor get size operation;
* Remove unused code
* Set VideoTask; Add message error for HR result;
* Add open read only for filestream
* Remove unused code
* Update expect.txt
* Remove comment
* Cleanup code
* Force pause videopreview on previewer change
---------
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Yawen Hou <Sytta@users.noreply.github.com>
Co-authored-by: Samuel Chapleau 🌈 <sachaple@microsoft.com>
* Peek (#22498)
* Add peek dll project
* add spacebar preview and launch on hotkey press
* add todo
* add process handle to handle continuous press of hotkey
* add tool to stop all powertoys processes
* Add a blank Peek page and update nav menu
* Add some initial content to Peek page including a toggle
* refactor settings parsing
* rename spacebar peek to peek viewer
* rename script to stop powertoys processes
* remove tool
* Adding FileUtils for retrieving selected file in File Explorer
* Remove unnecessary SndPeekSettings
* Add shortcut setting
* Set the shortcut to ctrl+space
* Launching viewer with selected FE file
* Add PeekUI WinUI3 project with interop events
* Moving FileTypeUtils into PeekFileUtils project
* execute winui3 app on hotkey
* Fix paths with spaces
* remove winui3 project
* Resolve comment
* add wpf app with toggle visibility on hotkey
* fix visibility on startup
* remove window properties and add todos
* Fixed hidden extension and system file handling
* wip
* Add working WPF app with FileExplorer querying
* remove c++ projects
* Move native awaiter
* Working Image control with image files
* Resize and move window based on explorer monitor
* Image render, window positioning and sizing clean up
* add window management logic and selection logic
* add extension methods to add circular iterating capability to linkedlistnode
* Add OnArrowKeyPresshandler
* Added titlebar with file name and scaling with titlebar height
* fix flashing window on startup and process kept alive when powertoys exits
* remove wait for debugger loop in ui
* Add KeyIsDown method
* Fix KeyDown issue with Key handled and check for repeat
* Add thumbnail logic
* Add all folder items if only one item is selected
* File type helper
* Using hresult
* Add cancellation and rotation handling
* Use extension instead of path
* fIX CONFLICTS
* Fixing some file type checks
* Add new icon for Peek
* Update page with the new Peek icon
* Initialize IsEnabled and hook ActivationShortcut to dllmain
* add icon to taskbar and titlebar
* Add theme sensitive backgrounds
* rename event handlers
* add settings image
* Move window data into obserable object
* Refactor viewmodel, interop and helpers
* Clean up
* Add loading spinner
* Add todos
* Fix conflicts
* Move native code into its own folder
* Add peek to installer
* Fix building peek and peekui projects
* Replace UWP namespaces to WinAppSDK
* Working WASDK placeholder project
* Add exit when powertoys runner exit
* Working winui3 with image display
* Add WIC project with <TreatWarningAsErros> false for now
* Fit content to window
* Use Size from Windows.Foundation
* Change order
* Add some todos
* Refactored native/interop code and added helpers to imagepreviewer
* Rename projects
* Move some code
* Remove using
Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>
* Bump Microsoft.Windows.SDK.BuildTools version
* [Peek] Plugin pattern to enable any file type previewing (#22475)
* [Peek] Fetching image size through PropertyStore (#22530)
* Fetching metadata from PropertySTore
* Releasing objects to fix crash
* Creating new PropertyHelper
Co-authored-by: Daniel Chau <dancha@microsoft.com>
* Juliata/filetypes (#22538)
* Using the same list of file extensions as Lightbox's AppxManifest, and ensuring we convert file extension to lowercase
* Add IsFileTypeSupported to IPreviewer
* respond to PR comments
* Add scale awareness to window centering (#22541)
* [Peek] Fix installer builds, project configs and update assets (#22540)
* Update installer
* Fix installer errors
* Fix peek vcxproj
* Add package signing
* Add peek to arm64
* Add back ARM64 toMeasureToolUI
* Add versions to project
* Update assets and icons
* Add correct icon
* [Peek] Enable PropertyStore for offline files (#22567)
* Enabling PropertyStore for offline files
Co-authored-by: Daniel Chau <dancha@microsoft.com>
* [Peek] Adding unsupported file previewer (#22598)
* Unsupported file previewer
* Fix file display info
* Fix property store calls
* Update TODO
* [Peek] Add WebView2 integration (#22506)
* First commit with WIP logic to support WV2 in Peek module
* Minor code cleanup and try/catch block
* Added control to wrap WebView2 logic
* Cleanup
* Added logic to handle HTML previewing
Properly update FilePreview according to file type
* Code cleanup
Updated comments
* Updated comment
* Removed comment
* Code cleanup
* Improved opening of web browser preview to avoid "blank" or "seeing previous page" issue
Removed unused method
Added xaml fallback to guarantee default/starting state
* Removed folder
* Updated factory logic to match master
* address code review
* addressed PR review
* address PR review
* Address PR review
* address PR review
* Address PR review
* [Peek] Add basic file querying and navigation (#22589)
* Refactor to facilitate file data initialization
* Extract file-related code to new FileManager class
* Add temp basic version
* Clean + add todo for cancellations
* Fix various nav-related issues
* Temp - start moving iteration-related code to bg thread
* Minor tweaks
* Add FEHelper todo
* Rename FileManager + various tweaks
* Add basic throttling
* Improve bg thread synchronization
* Clean
* Clean
* Rename based on feedback
* Rename FileQuery
* Rename properties
* Rename remaining fields
* Add todos for nav success/failures
Co-authored-by: Esteban Margaron <emargaron@microsoft.com>
* [Peek] Add customized title bar (#22600)
* Add basic button UI
* Add function to get default app name and to open file in default app
* Correct error output
* Add filename to titlebar
* Remove titlebar text from Resw
* Add basic button UI
* Add function to get default app name and to open file in default app
* Add filename to titlebar
* Correct error output
* Remove titlebar text from Resw
* Add SetDragRectangles
* Correct logic, update function name
* Add localization
* Cleanup and adaptive width
* Add fileIndex/NumberOfFiles for multiple files activation
* Refine titlebar styles
* Update error message; Return HResult from native methods; Update variable initialisation and string null testing
* Titlebar height and adaptive width refinement
* Add fallback to launch app picker if fail to open default app
* Temp change to hide AppTitle_FileCount
* Update launch button to command; Add keyboard accelerator
* Update titlebar inactive background color
* Update tooltip to add keyboard accelerator
* Add comments to resw file
* Fix accidental deletion from previous merge
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
* Fix crash
* Fix wrong thread exception
* Make CurrentItemIndex setter private
* Update titlebar filecount text
* Fix titlebar draggable region and interactive region (bump WinAppSdk to latest)
* [Peek] Unsupported File Previewer - Formatting string from resources (#22609)
* Moving to string resource usage
* Moving ReadableStringHelper to common project
* Fix comments
* [Peek] Fix foregrounding (#22633)
* Fixing foregrounding
* Get window handle inside BringToForeground extension method
Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] ImagePreviewer - Handle error states (#22637)
* add better preview state handling
* add error handling in imagepreviewer and better state handling
* fix error handling so exception is not bubbled up
* improve performance and hook up unsupported previewer on error
* remove commented code
* address pr comments
* [Peek] add PDF viewing support (#22636)
* [Peek] add PDF viewing support
* Fixed issue which would redirect some HTML and PDF files to external browser
* Fixed refactored interface name
* [Peek] Refine titlebar adaptive width (#22642)
* Adjust adaptive width of titlebar
* Remove visualstate setters for AppTitle_FileCount
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
* [Peek] New File Explorer tabs break Shell API to get selected files (#22641)
* fix FE tab bug
* remove unnecessary unsafe keyword
* [Peek] add extra logic to properly render PNG files with transparency (#22613)
* [Peek] added extra logic to render PNG files with proper transparency
* Moved logic to ThumbnailHelper
Cleanup
* Created a separated previewer for PNG to only load the preview image with thumbnail logic
* removed unused code
* Updated state loading change
* [Peek] Unsupported File Previewer - Setting Window Size (#22645)
* Adding setting for unsupported file window
* Fix
* [Peek] Add tooltip to File (#22640)
* Add tooltip to File
* Add placeholder text for no tooltip
* Address comments
* Use StringBuilder
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
* Add full image quality support (#22654)
* [Peek] Window foregrounding simplification and fixes + keep window visible if FE single selection changed (#22657)
* Use different apis to bring to foreground removing remote thread wait and work as well as library loading
* Keep window open if single selected file in FE is different
* Removed unused methods
* [Peek] Add cancellation token OnFilePropertyChanged (#22643)
* Cancel file loading before opening another file
* Add omitted cancellation checks
* Catch task cancelled exception; Add more cancellation checkpoints
* Add cancellation checkpoint beofre GetBitmapFromHBitmapAsync
* Correct typo
* Update to pass cancellation token individually to each async methods
* Add lost cancellationToken source
* Add cancellation token to PngPreviewer
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
* [Peek] Unsupported File Previewer - Preserve Transparency For File Icons (#22650)
* Preserving transparency or icons
* Remove TODO
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] Update some installer build steps + assets update (#22683)
* Fix settings & peek.ui.wpf
* Add back missing icon
* Add missing files and actions to installer
* Keep window open if the selected file in explorer is different (only works for single file selection)
* Undo last
* [Peek] Add copy keyboard accelerator (#22647)
* add copy keyboard accelerator
* Fix comments
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] add WV2 improvements (behavior and UX) (#22685)
* [Peek] added logic to get max monitor size for opening WebView2
* Removed ununsed dependency property
* Added workaround for cases where the web page would not finish navigating in a quick timing, for example google.com.
* Remove window extensions from common and use nullable size argument instead
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] Merge main, self-contained .NET and fix WebView2 user data dir issue (#22899)
* Merge remote-tracking branch 'origin/main' into peek
* Test sc
* Set WebView2 user data dir
* spellcheck
* Fix comment
* Move check if higher quality image is already loaded to the exact line where we change the Preview bitmap (#23083)
* Fix opening Peek when FE window is set to full name path (#23082)
* Move check for png thubmnail loading priority
* Remove Peek.UI.WPF project
* Remove duplicated method in powertoys setup
* [Peek] Fix selecting files from the correct focused opened File Explorer tab & from Desktop (#23489)
* Get file based on active tab handle instead of window title
* Refactor code to get active tab
* Getting all items from the shell API working again, except for desktop
* Refactor and cleanup com & native code
* Add back removed peek xaml assets in Product.wxs
* Remove some dependencies that do not seem necessary in Product.wxs
* [Peek] Small images (#23554)
* change stretch value
* compare with actual window size
* consider scaling factor
* set max size
* clean up
* clean up
* clean up previewers
* scaling factor in bitmap previewer
* max image size property
* [Peek]Handle errors for HEIC/HEIF and fall back to default previewer if there is no thumbnail (#22684)
* Handle errors when getting filesize by falling back to default previewer
* Bringing back other file types that are fixed with these code changes
---------
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] Add unsupported file icon fallback (#23735)
* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback
* Add svg to assets in installer
* [Peek] Refactoring of file system models, removal of PngPreviewer, retrieving of folder size via Scripting com reference and other fixes (#23955)
* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback
* Add svg to assets in installer
* - Refactor File class into IFileSystemItem, FileItem & FolderItem
- Display size for folders using Scripting namespace
- Remove default app buttons for files or folders not supporting it
* Add better content type via storage apis
* Add check for storagefile in PngPreviewer
* Fix png stretching
* Remove png previewer
* Rename ThumbnailOptions.None to ThumbnailOptions.ResizeToFit
* [Peek] Removed monitor percentage evaluation for the UnsupportedFilePreview control (#24002)
* Remove settings for percentage of windows and keep default min size.
* Fix margin on unsupported control
* Use nullable Size for image size & open file on background thread (#24004)
* [Peek] SVG support (#24237)
* svg previewer
* svg size
* set scaling factor
* set image size
* changed image source type
* non nullable image size
* notify svg previewer changed
* uncomment
* rename BitmapPreviewer
* move svg support
* remove svg previewer
* [Peek] Implementation of a performant and reliable Neighboring Files Query (#24943)
* Use IShellItemArray as the backing array of item
* Finalize and cleanup NFQ implementation
* Cleanup remainder of the code
* Remove unused using
* [Peek] Pin the window position (#24927)
* [Peek] Telemetry and logging (#25231)
* text preview
* scrolling
* changed size
* Handle errors more gracefuly
* webview2 preview
* common preview project
* previewpane: use common project
* peek: use common
* previewpane: moved md
* peek: md
* previewpane: clean up
* clean up
* moved monaco files
* moved formatters
* rename
* moved common monaco helper
* dev files support
* installer
* removed versions
* warnings: culture info
* warnings: names
* clean up
* warnings: dispose
* warnings: default values
* warnings
* warnings: charset
* warnings: exceptions
* suppress warning
* installer: added peek
* changed peek guid
* monaco folders
* peek deps
* peek files
* peek resources
* removed additional monaco folder
* set host name
* Update installer
* hardcode monaco path
* leave single webview control
* moved path to common
* project
* more meaningful todos
* moved temp folder cleanup
* todo
* extension check
* spell: monaco
* spellcheck
* spellcheck
* fix id
* fix spelling
* key to spelling
* id fix
* Fix monaco resolution at install time
* Fix user install. Add needed files
* installer: remove peek localization files. It's a WinUI app
* installer:fix signing
* removed unused
* settings: flyout enable/disable for Peek
* simplify string
* property changed handle
* [Peek][Settings] Peek OOBE page (#25895)
* Add placeholder error icon
* Only open FilStream in read-only mode; Release propertyStore handle after getting the file properties
(cherry picked from commit 3b1481da2c)
* Update calls to PropertyStoreHelper
* Add disposable property store
* Make GetPropertyStoreFromPath return Disposable property store
* correct typo
* correct typo
* Remove nullable in DisposablePropertyStore
* Add property getters
* Remove usued method
* Correct typo
* Correct typo again...
* Update description
* Add cleaner fallback error
* Fix build
* Cleanup code
* Fix indents
* Delete WIC project and keep only necessary WIC comimport
* Fix spellcheck
---------
Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>
Co-authored-by: Daniel Chau <d.chau@alumni.ubc.ca>
Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: jth-ms <73617023+jth-ms@users.noreply.github.com>
Co-authored-by: Robson <rp.pontin@gmail.com>
Co-authored-by: estebanm123 <49930791+estebanm123@users.noreply.github.com>
Co-authored-by: Esteban Margaron <emargaron@microsoft.com>
Co-authored-by: Yawen Hou <Sytta@users.noreply.github.com>
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
Co-authored-by: Jojo Zhou <39350350+Joanna-Zhou@users.noreply.github.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Update control to make interaction responsive
* Rip out NLog in favor of standard logging
* Continuing to cleanup NLog stuff
* Simplifying the code more
* Instantly let go of power settings once cancellation requested.
* Cleanup and using built-in native constructs
* Update the API
* Moving towards using a queue instead of tasks
* Code cleanup
* Thread should be flagged as background
* Clean up constants, add docs
* Code cleanup
* Cleanup
* Cleanup
* Remove unnecessary using
* Fix package definition
* Fix NuGet packages
* Update expect.txt
* Remove NLog reference and add a build update in the planning doc
* Cleanup based on report
* More cleanup
* Adding back because the word is clearly somewhere, just not anywhere
I am able to find.
* Revert .net dependency upgrades
* Peek (#22498)
* Add peek dll project
* add spacebar preview and launch on hotkey press
* add todo
* add process handle to handle continuous press of hotkey
* add tool to stop all powertoys processes
* Add a blank Peek page and update nav menu
* Add some initial content to Peek page including a toggle
* refactor settings parsing
* rename spacebar peek to peek viewer
* rename script to stop powertoys processes
* remove tool
* Adding FileUtils for retrieving selected file in File Explorer
* Remove unnecessary SndPeekSettings
* Add shortcut setting
* Set the shortcut to ctrl+space
* Launching viewer with selected FE file
* Add PeekUI WinUI3 project with interop events
* Moving FileTypeUtils into PeekFileUtils project
* execute winui3 app on hotkey
* Fix paths with spaces
* remove winui3 project
* Resolve comment
* add wpf app with toggle visibility on hotkey
* fix visibility on startup
* remove window properties and add todos
* Fixed hidden extension and system file handling
* wip
* Add working WPF app with FileExplorer querying
* remove c++ projects
* Move native awaiter
* Working Image control with image files
* Resize and move window based on explorer monitor
* Image render, window positioning and sizing clean up
* add window management logic and selection logic
* add extension methods to add circular iterating capability to linkedlistnode
* Add OnArrowKeyPresshandler
* Added titlebar with file name and scaling with titlebar height
* fix flashing window on startup and process kept alive when powertoys exits
* remove wait for debugger loop in ui
* Add KeyIsDown method
* Fix KeyDown issue with Key handled and check for repeat
* Add thumbnail logic
* Add all folder items if only one item is selected
* File type helper
* Using hresult
* Add cancellation and rotation handling
* Use extension instead of path
* fIX CONFLICTS
* Fixing some file type checks
* Add new icon for Peek
* Update page with the new Peek icon
* Initialize IsEnabled and hook ActivationShortcut to dllmain
* add icon to taskbar and titlebar
* Add theme sensitive backgrounds
* rename event handlers
* add settings image
* Move window data into obserable object
* Refactor viewmodel, interop and helpers
* Clean up
* Add loading spinner
* Add todos
* Fix conflicts
* Move native code into its own folder
* Add peek to installer
* Fix building peek and peekui projects
* Replace UWP namespaces to WinAppSDK
* Working WASDK placeholder project
* Add exit when powertoys runner exit
* Working winui3 with image display
* Add WIC project with <TreatWarningAsErros> false for now
* Fit content to window
* Use Size from Windows.Foundation
* Change order
* Add some todos
* Refactored native/interop code and added helpers to imagepreviewer
* Rename projects
* Move some code
* Remove using
Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>
* Bump Microsoft.Windows.SDK.BuildTools version
* [Peek] Plugin pattern to enable any file type previewing (#22475)
* [Peek] Fetching image size through PropertyStore (#22530)
* Fetching metadata from PropertySTore
* Releasing objects to fix crash
* Creating new PropertyHelper
Co-authored-by: Daniel Chau <dancha@microsoft.com>
* Juliata/filetypes (#22538)
* Using the same list of file extensions as Lightbox's AppxManifest, and ensuring we convert file extension to lowercase
* Add IsFileTypeSupported to IPreviewer
* respond to PR comments
* Add scale awareness to window centering (#22541)
* [Peek] Fix installer builds, project configs and update assets (#22540)
* Update installer
* Fix installer errors
* Fix peek vcxproj
* Add package signing
* Add peek to arm64
* Add back ARM64 toMeasureToolUI
* Add versions to project
* Update assets and icons
* Add correct icon
* [Peek] Enable PropertyStore for offline files (#22567)
* Enabling PropertyStore for offline files
Co-authored-by: Daniel Chau <dancha@microsoft.com>
* [Peek] Adding unsupported file previewer (#22598)
* Unsupported file previewer
* Fix file display info
* Fix property store calls
* Update TODO
* [Peek] Add WebView2 integration (#22506)
* First commit with WIP logic to support WV2 in Peek module
* Minor code cleanup and try/catch block
* Added control to wrap WebView2 logic
* Cleanup
* Added logic to handle HTML previewing
Properly update FilePreview according to file type
* Code cleanup
Updated comments
* Updated comment
* Removed comment
* Code cleanup
* Improved opening of web browser preview to avoid "blank" or "seeing previous page" issue
Removed unused method
Added xaml fallback to guarantee default/starting state
* Removed folder
* Updated factory logic to match master
* address code review
* addressed PR review
* address PR review
* Address PR review
* address PR review
* Address PR review
* [Peek] Add basic file querying and navigation (#22589)
* Refactor to facilitate file data initialization
* Extract file-related code to new FileManager class
* Add temp basic version
* Clean + add todo for cancellations
* Fix various nav-related issues
* Temp - start moving iteration-related code to bg thread
* Minor tweaks
* Add FEHelper todo
* Rename FileManager + various tweaks
* Add basic throttling
* Improve bg thread synchronization
* Clean
* Clean
* Rename based on feedback
* Rename FileQuery
* Rename properties
* Rename remaining fields
* Add todos for nav success/failures
Co-authored-by: Esteban Margaron <emargaron@microsoft.com>
* [Peek] Add customized title bar (#22600)
* Add basic button UI
* Add function to get default app name and to open file in default app
* Correct error output
* Add filename to titlebar
* Remove titlebar text from Resw
* Add basic button UI
* Add function to get default app name and to open file in default app
* Add filename to titlebar
* Correct error output
* Remove titlebar text from Resw
* Add SetDragRectangles
* Correct logic, update function name
* Add localization
* Cleanup and adaptive width
* Add fileIndex/NumberOfFiles for multiple files activation
* Refine titlebar styles
* Update error message; Return HResult from native methods; Update variable initialisation and string null testing
* Titlebar height and adaptive width refinement
* Add fallback to launch app picker if fail to open default app
* Temp change to hide AppTitle_FileCount
* Update launch button to command; Add keyboard accelerator
* Update titlebar inactive background color
* Update tooltip to add keyboard accelerator
* Add comments to resw file
* Fix accidental deletion from previous merge
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
* Fix crash
* Fix wrong thread exception
* Make CurrentItemIndex setter private
* Update titlebar filecount text
* Fix titlebar draggable region and interactive region (bump WinAppSdk to latest)
* [Peek] Unsupported File Previewer - Formatting string from resources (#22609)
* Moving to string resource usage
* Moving ReadableStringHelper to common project
* Fix comments
* [Peek] Fix foregrounding (#22633)
* Fixing foregrounding
* Get window handle inside BringToForeground extension method
Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] ImagePreviewer - Handle error states (#22637)
* add better preview state handling
* add error handling in imagepreviewer and better state handling
* fix error handling so exception is not bubbled up
* improve performance and hook up unsupported previewer on error
* remove commented code
* address pr comments
* [Peek] add PDF viewing support (#22636)
* [Peek] add PDF viewing support
* Fixed issue which would redirect some HTML and PDF files to external browser
* Fixed refactored interface name
* [Peek] Refine titlebar adaptive width (#22642)
* Adjust adaptive width of titlebar
* Remove visualstate setters for AppTitle_FileCount
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
* [Peek] New File Explorer tabs break Shell API to get selected files (#22641)
* fix FE tab bug
* remove unnecessary unsafe keyword
* [Peek] add extra logic to properly render PNG files with transparency (#22613)
* [Peek] added extra logic to render PNG files with proper transparency
* Moved logic to ThumbnailHelper
Cleanup
* Created a separated previewer for PNG to only load the preview image with thumbnail logic
* removed unused code
* Updated state loading change
* [Peek] Unsupported File Previewer - Setting Window Size (#22645)
* Adding setting for unsupported file window
* Fix
* [Peek] Add tooltip to File (#22640)
* Add tooltip to File
* Add placeholder text for no tooltip
* Address comments
* Use StringBuilder
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
* Add full image quality support (#22654)
* [Peek] Window foregrounding simplification and fixes + keep window visible if FE single selection changed (#22657)
* Use different apis to bring to foreground removing remote thread wait and work as well as library loading
* Keep window open if single selected file in FE is different
* Removed unused methods
* [Peek] Add cancellation token OnFilePropertyChanged (#22643)
* Cancel file loading before opening another file
* Add omitted cancellation checks
* Catch task cancelled exception; Add more cancellation checkpoints
* Add cancellation checkpoint beofre GetBitmapFromHBitmapAsync
* Correct typo
* Update to pass cancellation token individually to each async methods
* Add lost cancellationToken source
* Add cancellation token to PngPreviewer
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
* [Peek] Unsupported File Previewer - Preserve Transparency For File Icons (#22650)
* Preserving transparency or icons
* Remove TODO
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] Update some installer build steps + assets update (#22683)
* Fix settings & peek.ui.wpf
* Add back missing icon
* Add missing files and actions to installer
* Keep window open if the selected file in explorer is different (only works for single file selection)
* Undo last
* [Peek] Add copy keyboard accelerator (#22647)
* add copy keyboard accelerator
* Fix comments
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] add WV2 improvements (behavior and UX) (#22685)
* [Peek] added logic to get max monitor size for opening WebView2
* Removed ununsed dependency property
* Added workaround for cases where the web page would not finish navigating in a quick timing, for example google.com.
* Remove window extensions from common and use nullable size argument instead
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] Merge main, self-contained .NET and fix WebView2 user data dir issue (#22899)
* Merge remote-tracking branch 'origin/main' into peek
* Test sc
* Set WebView2 user data dir
* spellcheck
* Fix comment
* Move check if higher quality image is already loaded to the exact line where we change the Preview bitmap (#23083)
* Fix opening Peek when FE window is set to full name path (#23082)
* Move check for png thubmnail loading priority
* Remove Peek.UI.WPF project
* Remove duplicated method in powertoys setup
* [Peek] Fix selecting files from the correct focused opened File Explorer tab & from Desktop (#23489)
* Get file based on active tab handle instead of window title
* Refactor code to get active tab
* Getting all items from the shell API working again, except for desktop
* Refactor and cleanup com & native code
* Add back removed peek xaml assets in Product.wxs
* Remove some dependencies that do not seem necessary in Product.wxs
* [Peek] Small images (#23554)
* change stretch value
* compare with actual window size
* consider scaling factor
* set max size
* clean up
* clean up
* clean up previewers
* scaling factor in bitmap previewer
* max image size property
* [Peek]Handle errors for HEIC/HEIF and fall back to default previewer if there is no thumbnail (#22684)
* Handle errors when getting filesize by falling back to default previewer
* Bringing back other file types that are fixed with these code changes
---------
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] Add unsupported file icon fallback (#23735)
* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback
* Add svg to assets in installer
* [Peek] Refactoring of file system models, removal of PngPreviewer, retrieving of folder size via Scripting com reference and other fixes (#23955)
* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback
* Add svg to assets in installer
* - Refactor File class into IFileSystemItem, FileItem & FolderItem
- Display size for folders using Scripting namespace
- Remove default app buttons for files or folders not supporting it
* Add better content type via storage apis
* Add check for storagefile in PngPreviewer
* Fix png stretching
* Remove png previewer
* Rename ThumbnailOptions.None to ThumbnailOptions.ResizeToFit
* [Peek] Removed monitor percentage evaluation for the UnsupportedFilePreview control (#24002)
* Remove settings for percentage of windows and keep default min size.
* Fix margin on unsupported control
* Use nullable Size for image size & open file on background thread (#24004)
* [Peek] SVG support (#24237)
* svg previewer
* svg size
* set scaling factor
* set image size
* changed image source type
* non nullable image size
* notify svg previewer changed
* uncomment
* rename BitmapPreviewer
* move svg support
* remove svg previewer
* [Peek] Implementation of a performant and reliable Neighboring Files Query (#24943)
* Use IShellItemArray as the backing array of item
* Finalize and cleanup NFQ implementation
* Cleanup remainder of the code
* Remove unused using
* [Peek] Pin the window position (#24927)
* [Peek] Telemetry and logging (#25231)
* text preview
* scrolling
* changed size
* Handle errors more gracefuly
* webview2 preview
* common preview project
* previewpane: use common project
* peek: use common
* previewpane: moved md
* peek: md
* previewpane: clean up
* clean up
* moved monaco files
* moved formatters
* rename
* moved common monaco helper
* dev files support
* installer
* removed versions
* warnings: culture info
* warnings: names
* clean up
* warnings: dispose
* warnings: default values
* warnings
* warnings: charset
* warnings: exceptions
* suppress warning
* installer: added peek
* changed peek guid
* monaco folders
* peek deps
* peek files
* peek resources
* removed additional monaco folder
* set host name
* Update installer
* hardcode monaco path
* leave single webview control
* moved path to common
* project
* more meaningful todos
* moved temp folder cleanup
* todo
* extension check
* spell: monaco
* spellcheck
* spellcheck
* fix id
* fix spelling
* key to spelling
* id fix
* Fix monaco resolution at install time
* Fix user install. Add needed files
* installer: remove peek localization files. It's a WinUI app
* installer:fix signing
* removed unused
* settings: flyout enable/disable for Peek
* simplify string
* property changed handle
* [Peek][Settings] Peek OOBE page (#25895)
* Add placeholder error icon
* Only open FilStream in read-only mode; Release propertyStore handle after getting the file properties
(cherry picked from commit 3b1481da2c)
* Update calls to PropertyStoreHelper
* Add disposable property store
* Make GetPropertyStoreFromPath return Disposable property store
* correct typo
* correct typo
* Remove nullable in DisposablePropertyStore
* Add property getters
* Remove usued method
* Correct typo
* Correct typo again...
* Update description
* Add cleaner fallback error
* Fix build
* Cleanup code
* Fix indents
---------
Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>
Co-authored-by: Daniel Chau <d.chau@alumni.ubc.ca>
Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: jth-ms <73617023+jth-ms@users.noreply.github.com>
Co-authored-by: Robson <rp.pontin@gmail.com>
Co-authored-by: estebanm123 <49930791+estebanm123@users.noreply.github.com>
Co-authored-by: Esteban Margaron <emargaron@microsoft.com>
Co-authored-by: Yawen Hou <Sytta@users.noreply.github.com>
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
Co-authored-by: Jojo Zhou <39350350+Joanna-Zhou@users.noreply.github.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Peek (#22498)
* Add peek dll project
* add spacebar preview and launch on hotkey press
* add todo
* add process handle to handle continuous press of hotkey
* add tool to stop all powertoys processes
* Add a blank Peek page and update nav menu
* Add some initial content to Peek page including a toggle
* refactor settings parsing
* rename spacebar peek to peek viewer
* rename script to stop powertoys processes
* remove tool
* Adding FileUtils for retrieving selected file in File Explorer
* Remove unnecessary SndPeekSettings
* Add shortcut setting
* Set the shortcut to ctrl+space
* Launching viewer with selected FE file
* Add PeekUI WinUI3 project with interop events
* Moving FileTypeUtils into PeekFileUtils project
* execute winui3 app on hotkey
* Fix paths with spaces
* remove winui3 project
* Resolve comment
* add wpf app with toggle visibility on hotkey
* fix visibility on startup
* remove window properties and add todos
* Fixed hidden extension and system file handling
* wip
* Add working WPF app with FileExplorer querying
* remove c++ projects
* Move native awaiter
* Working Image control with image files
* Resize and move window based on explorer monitor
* Image render, window positioning and sizing clean up
* add window management logic and selection logic
* add extension methods to add circular iterating capability to linkedlistnode
* Add OnArrowKeyPresshandler
* Added titlebar with file name and scaling with titlebar height
* fix flashing window on startup and process kept alive when powertoys exits
* remove wait for debugger loop in ui
* Add KeyIsDown method
* Fix KeyDown issue with Key handled and check for repeat
* Add thumbnail logic
* Add all folder items if only one item is selected
* File type helper
* Using hresult
* Add cancellation and rotation handling
* Use extension instead of path
* fIX CONFLICTS
* Fixing some file type checks
* Add new icon for Peek
* Update page with the new Peek icon
* Initialize IsEnabled and hook ActivationShortcut to dllmain
* add icon to taskbar and titlebar
* Add theme sensitive backgrounds
* rename event handlers
* add settings image
* Move window data into obserable object
* Refactor viewmodel, interop and helpers
* Clean up
* Add loading spinner
* Add todos
* Fix conflicts
* Move native code into its own folder
* Add peek to installer
* Fix building peek and peekui projects
* Replace UWP namespaces to WinAppSDK
* Working WASDK placeholder project
* Add exit when powertoys runner exit
* Working winui3 with image display
* Add WIC project with <TreatWarningAsErros> false for now
* Fit content to window
* Use Size from Windows.Foundation
* Change order
* Add some todos
* Refactored native/interop code and added helpers to imagepreviewer
* Rename projects
* Move some code
* Remove using
Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>
* Bump Microsoft.Windows.SDK.BuildTools version
* [Peek] Plugin pattern to enable any file type previewing (#22475)
* [Peek] Fetching image size through PropertyStore (#22530)
* Fetching metadata from PropertySTore
* Releasing objects to fix crash
* Creating new PropertyHelper
Co-authored-by: Daniel Chau <dancha@microsoft.com>
* Juliata/filetypes (#22538)
* Using the same list of file extensions as Lightbox's AppxManifest, and ensuring we convert file extension to lowercase
* Add IsFileTypeSupported to IPreviewer
* respond to PR comments
* Add scale awareness to window centering (#22541)
* [Peek] Fix installer builds, project configs and update assets (#22540)
* Update installer
* Fix installer errors
* Fix peek vcxproj
* Add package signing
* Add peek to arm64
* Add back ARM64 toMeasureToolUI
* Add versions to project
* Update assets and icons
* Add correct icon
* [Peek] Enable PropertyStore for offline files (#22567)
* Enabling PropertyStore for offline files
Co-authored-by: Daniel Chau <dancha@microsoft.com>
* [Peek] Adding unsupported file previewer (#22598)
* Unsupported file previewer
* Fix file display info
* Fix property store calls
* Update TODO
* [Peek] Add WebView2 integration (#22506)
* First commit with WIP logic to support WV2 in Peek module
* Minor code cleanup and try/catch block
* Added control to wrap WebView2 logic
* Cleanup
* Added logic to handle HTML previewing
Properly update FilePreview according to file type
* Code cleanup
Updated comments
* Updated comment
* Removed comment
* Code cleanup
* Improved opening of web browser preview to avoid "blank" or "seeing previous page" issue
Removed unused method
Added xaml fallback to guarantee default/starting state
* Removed folder
* Updated factory logic to match master
* address code review
* addressed PR review
* address PR review
* Address PR review
* address PR review
* Address PR review
* [Peek] Add basic file querying and navigation (#22589)
* Refactor to facilitate file data initialization
* Extract file-related code to new FileManager class
* Add temp basic version
* Clean + add todo for cancellations
* Fix various nav-related issues
* Temp - start moving iteration-related code to bg thread
* Minor tweaks
* Add FEHelper todo
* Rename FileManager + various tweaks
* Add basic throttling
* Improve bg thread synchronization
* Clean
* Clean
* Rename based on feedback
* Rename FileQuery
* Rename properties
* Rename remaining fields
* Add todos for nav success/failures
Co-authored-by: Esteban Margaron <emargaron@microsoft.com>
* [Peek] Add customized title bar (#22600)
* Add basic button UI
* Add function to get default app name and to open file in default app
* Correct error output
* Add filename to titlebar
* Remove titlebar text from Resw
* Add basic button UI
* Add function to get default app name and to open file in default app
* Add filename to titlebar
* Correct error output
* Remove titlebar text from Resw
* Add SetDragRectangles
* Correct logic, update function name
* Add localization
* Cleanup and adaptive width
* Add fileIndex/NumberOfFiles for multiple files activation
* Refine titlebar styles
* Update error message; Return HResult from native methods; Update variable initialisation and string null testing
* Titlebar height and adaptive width refinement
* Add fallback to launch app picker if fail to open default app
* Temp change to hide AppTitle_FileCount
* Update launch button to command; Add keyboard accelerator
* Update titlebar inactive background color
* Update tooltip to add keyboard accelerator
* Add comments to resw file
* Fix accidental deletion from previous merge
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
* Fix crash
* Fix wrong thread exception
* Make CurrentItemIndex setter private
* Update titlebar filecount text
* Fix titlebar draggable region and interactive region (bump WinAppSdk to latest)
* [Peek] Unsupported File Previewer - Formatting string from resources (#22609)
* Moving to string resource usage
* Moving ReadableStringHelper to common project
* Fix comments
* [Peek] Fix foregrounding (#22633)
* Fixing foregrounding
* Get window handle inside BringToForeground extension method
Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] ImagePreviewer - Handle error states (#22637)
* add better preview state handling
* add error handling in imagepreviewer and better state handling
* fix error handling so exception is not bubbled up
* improve performance and hook up unsupported previewer on error
* remove commented code
* address pr comments
* [Peek] add PDF viewing support (#22636)
* [Peek] add PDF viewing support
* Fixed issue which would redirect some HTML and PDF files to external browser
* Fixed refactored interface name
* [Peek] Refine titlebar adaptive width (#22642)
* Adjust adaptive width of titlebar
* Remove visualstate setters for AppTitle_FileCount
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
* [Peek] New File Explorer tabs break Shell API to get selected files (#22641)
* fix FE tab bug
* remove unnecessary unsafe keyword
* [Peek] add extra logic to properly render PNG files with transparency (#22613)
* [Peek] added extra logic to render PNG files with proper transparency
* Moved logic to ThumbnailHelper
Cleanup
* Created a separated previewer for PNG to only load the preview image with thumbnail logic
* removed unused code
* Updated state loading change
* [Peek] Unsupported File Previewer - Setting Window Size (#22645)
* Adding setting for unsupported file window
* Fix
* [Peek] Add tooltip to File (#22640)
* Add tooltip to File
* Add placeholder text for no tooltip
* Address comments
* Use StringBuilder
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
* Add full image quality support (#22654)
* [Peek] Window foregrounding simplification and fixes + keep window visible if FE single selection changed (#22657)
* Use different apis to bring to foreground removing remote thread wait and work as well as library loading
* Keep window open if single selected file in FE is different
* Removed unused methods
* [Peek] Add cancellation token OnFilePropertyChanged (#22643)
* Cancel file loading before opening another file
* Add omitted cancellation checks
* Catch task cancelled exception; Add more cancellation checkpoints
* Add cancellation checkpoint beofre GetBitmapFromHBitmapAsync
* Correct typo
* Update to pass cancellation token individually to each async methods
* Add lost cancellationToken source
* Add cancellation token to PngPreviewer
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
* [Peek] Unsupported File Previewer - Preserve Transparency For File Icons (#22650)
* Preserving transparency or icons
* Remove TODO
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] Update some installer build steps + assets update (#22683)
* Fix settings & peek.ui.wpf
* Add back missing icon
* Add missing files and actions to installer
* Keep window open if the selected file in explorer is different (only works for single file selection)
* Undo last
* [Peek] Add copy keyboard accelerator (#22647)
* add copy keyboard accelerator
* Fix comments
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] add WV2 improvements (behavior and UX) (#22685)
* [Peek] added logic to get max monitor size for opening WebView2
* Removed ununsed dependency property
* Added workaround for cases where the web page would not finish navigating in a quick timing, for example google.com.
* Remove window extensions from common and use nullable size argument instead
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] Merge main, self-contained .NET and fix WebView2 user data dir issue (#22899)
* Merge remote-tracking branch 'origin/main' into peek
* Test sc
* Set WebView2 user data dir
* spellcheck
* Fix comment
* Move check if higher quality image is already loaded to the exact line where we change the Preview bitmap (#23083)
* Fix opening Peek when FE window is set to full name path (#23082)
* Move check for png thubmnail loading priority
* Remove Peek.UI.WPF project
* Remove duplicated method in powertoys setup
* [Peek] Fix selecting files from the correct focused opened File Explorer tab & from Desktop (#23489)
* Get file based on active tab handle instead of window title
* Refactor code to get active tab
* Getting all items from the shell API working again, except for desktop
* Refactor and cleanup com & native code
* Add back removed peek xaml assets in Product.wxs
* Remove some dependencies that do not seem necessary in Product.wxs
* [Peek] Small images (#23554)
* change stretch value
* compare with actual window size
* consider scaling factor
* set max size
* clean up
* clean up
* clean up previewers
* scaling factor in bitmap previewer
* max image size property
* [Peek]Handle errors for HEIC/HEIF and fall back to default previewer if there is no thumbnail (#22684)
* Handle errors when getting filesize by falling back to default previewer
* Bringing back other file types that are fixed with these code changes
---------
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>
* [Peek] Add unsupported file icon fallback (#23735)
* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback
* Add svg to assets in installer
* [Peek] Refactoring of file system models, removal of PngPreviewer, retrieving of folder size via Scripting com reference and other fixes (#23955)
* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback
* Add svg to assets in installer
* - Refactor File class into IFileSystemItem, FileItem & FolderItem
- Display size for folders using Scripting namespace
- Remove default app buttons for files or folders not supporting it
* Add better content type via storage apis
* Add check for storagefile in PngPreviewer
* Fix png stretching
* Remove png previewer
* Rename ThumbnailOptions.None to ThumbnailOptions.ResizeToFit
* [Peek] Removed monitor percentage evaluation for the UnsupportedFilePreview control (#24002)
* Remove settings for percentage of windows and keep default min size.
* Fix margin on unsupported control
* Use nullable Size for image size & open file on background thread (#24004)
* [Peek] SVG support (#24237)
* svg previewer
* svg size
* set scaling factor
* set image size
* changed image source type
* non nullable image size
* notify svg previewer changed
* uncomment
* rename BitmapPreviewer
* move svg support
* remove svg previewer
* [Peek] Implementation of a performant and reliable Neighboring Files Query (#24943)
* Use IShellItemArray as the backing array of item
* Finalize and cleanup NFQ implementation
* Cleanup remainder of the code
* Remove unused using
* [Peek] Pin the window position (#24927)
* [Peek] Telemetry and logging (#25231)
* text preview
* scrolling
* changed size
* webview2 preview
* common preview project
* previewpane: use common project
* peek: use common
* previewpane: moved md
* peek: md
* previewpane: clean up
* clean up
* moved monaco files
* moved formatters
* rename
* moved common monaco helper
* dev files support
* installer
* removed versions
* warnings: culture info
* warnings: names
* clean up
* warnings: dispose
* warnings: default values
* warnings
* warnings: charset
* warnings: exceptions
* suppress warning
* installer: added peek
* changed peek guid
* monaco folders
* peek deps
* peek files
* peek resources
* removed additional monaco folder
* set host name
* Update installer
* hardcode monaco path
* leave single webview control
* moved path to common
* project
* more meaningful todos
* moved temp folder cleanup
* todo
* extension check
* spell: monaco
* spellcheck
* spellcheck
* fix id
* fix spelling
* key to spelling
* id fix
* Fix monaco resolution at install time
* Fix user install. Add needed files
* installer: remove peek localization files. It's a WinUI app
* installer:fix signing
* removed unused
* settings: flyout enable/disable for Peek
* simplify string
* property changed handle
* [Peek][Settings] Peek OOBE page (#25895)
* [Peek] GPO (#25918)
* Add Native methods file to exception
* Fix merge issue on solution file
* Adjust spellcheck
* Remove boilerplate code
* Add module interface telemetry
* Remove change to README.md
* Add entry to README
* Clean up some non-changes
* Fix order of Peek in Settings menu
* [Settings] Make peek descriptions more descriptive
---------
Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>
Co-authored-by: Daniel Chau <d.chau@alumni.ubc.ca>
Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: jth-ms <73617023+jth-ms@users.noreply.github.com>
Co-authored-by: Robson <rp.pontin@gmail.com>
Co-authored-by: estebanm123 <49930791+estebanm123@users.noreply.github.com>
Co-authored-by: Esteban Margaron <emargaron@microsoft.com>
Co-authored-by: Yawen Hou <Sytta@users.noreply.github.com>
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
Co-authored-by: Jojo Zhou <39350350+Joanna-Zhou@users.noreply.github.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* SettingsCard ActionIcon 16
* Font Family + Size
* CornerRadius
* Misc
* extras
* Revert size 16 - 14
To be dealt with via Community
* other improvs
* other improvs
* try to adjust height to fit text
* adjust Border sizes to fit text
* undo
* [Power Toys - Fancy Zones] Focus problem when activating layour editor is solved.
* haveTriedToGetFocusAlready variable added for focusing one time.
* [Power Toys - Fancy Zones] Functions are added to NativeMethods.cs
* MeasureTool: Add possibility to specify the default measure style
* MeasureTool: Improve description of user setting
* MeasureTool: Use enum value instead of magic number
* Better parsing for keys
* Minor source fixes
Adds a local comment that didn't get saved on a new proc; also adds ERRORIMAGE to the spellcheck expected list.
* Better value parsing
* Adding support for REG_NONE
* Thank you, File Merging tool!
* Encore, file merging tool!
* Added check for HKEY_ root
Note: HKCU shortcuts don't seem to import successfully in the Editor.
* Update MainWindow.Utilities.cs
Better checking for the root of a Key.
* Adds JumpToKey
Adds a new command button that allows the Registry Editor to open to whatever key is selected in the TreeView
Also adds some separators in the commandbar for logical grouping of opperations.
Also had to pick up the ERRORIMAGE constant from another CR so I don't forget to use it!
* Correcting typos in comments
* [updater] Do not start PowerToys from PowerToys.Update.exe
PowerToys is already being started from the installer which is run by the updater
* Revert version.props
* SvgPreviewControl: Add checkered background so that white .svg are visible
* SvgPreviewControl: Move preview generation logic into own class
* SvgPreviewControl: Add possibility to configure background of svg preview pane via the settings ui
* SvgPreviewControl: Take user configuration into consideration when generating svg preview
* SvgPreviewControl: Do not generate preview file, if the actual size is under the 2mb limiation of WebView2
* SvgPreviewControl: Introduce SvgPreviewColorMode enumeration instead of using magic values
* SvgPreviewControl: Add additional checkered pattern shades
* SvgPreviewControl: Use newly introduced enums as default values
* Moving from FileOpenPicker
Moving from FileOpenPicker to a Win32/PInvoke version, so it can be opened while running as Admin.
* Update Resources.resw
Replacing a lost string.
* Save file picker also crashed
Switched to Win32-based SafeFilePicker
Cleaned up some of the code which should now pass spell checking and removed pragmas
* Update MainWindow.xaml
Change the toolbar to have a color, rather than transparent
Added radial corners to the textbox and gridview.
* Update MainWindow.xaml
Changing short cuts for Save and Save As
* Update MainWindow.xaml
A wise engineer once said "save the file, fool, before committing it to the repro."
* Moved to FontIcons
* Removing Read Only
Based off the comments and how the app is being see in the early reports, this check box will just add confusion, so I've pulled it from the UX and screenshots.
* Update MainWindow.xaml
Fixing tab order
* Add per user installer
* Separate upgrade codes for per machine and per user installation
Move per machine check to bootstrapper
Move all defines to common.wxs
Fix CI
* Update installer/PowerToysSetup/generateFileList.ps1
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* Update installer/PowerToysSetup/generateAllFileComponents.ps1
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* Update installer/PowerToysSetup/generateFileList.ps1
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* expect.txt
* Revert "Update installer/PowerToysSetup/generateFileList.ps1"
This reverts commit 34545dab9c.
* Update release CI to build both installers
* Revert bundle name change
It messes up app ID for per-user installation which ends up breaking winget update
of the per-user PT
* spellcheck
* Fix bad merge
* Add RegistryPreview
* Include backup_restore_settings.json
* Revert testing endpoint change
* Add per-machine/per-user installation GPOs
* Update doc/gpo/README.md
* Update doc/gpo/README.md
* spellcheck
* Remove disable per-machine policy
* Update doc/gpo/README.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
---------
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Add per user installer
* Separate upgrade codes for per machine and per user installation
Move per machine check to bootstrapper
Move all defines to common.wxs
Fix CI
* Update installer/PowerToysSetup/generateFileList.ps1
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* Update installer/PowerToysSetup/generateAllFileComponents.ps1
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* Update installer/PowerToysSetup/generateFileList.ps1
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* expect.txt
* Revert "Update installer/PowerToysSetup/generateFileList.ps1"
This reverts commit 34545dab9c.
* Update release CI to build both installers
* Revert bundle name change
It messes up app ID for per-user installation which ends up breaking winget update
of the per-user PT
* spellcheck
* Fix bad merge
* Add RegistryPreview
* Include backup_restore_settings.json
* Revert testing endpoint change
---------
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* enable the functionality to have filename-compatible date & time
* fix PowerToys.sln
* fix DateTime format
* remove unrelated code
* modify date time format
* fix tests
* fix hours to 24h format and modify tests to cover the case better. Simplify tests slightly
* Initial src for Registry Preview
Initial collection of files
* Update MainWindow.Utilities.cs
fixing a few spelling items
* Update expect.txt
* Update App.xaml.cs
* Update MainWindow.Events.cs
* Update MainWindow.Utilities.cs
* Update MainWindow.xaml.cs
* Update expect.txt
* Update MainWindow.Events.cs
* Rename AddPreviewtoRegfile.reg to AddPreviewToRegfile.reg
* Rename RemovePreviewtoRegfile.reg to RemovePreviewToRegfile.reg
* Update Resources.resw
* Update MainWindow.xaml
* Turns on self-contained mode
Updates the csproj file to compile the app as self-contained .
Includes fixes for code that expected the app to be in an ApplicationContainer.
Updates WindowsAppSDK from 1.1.5 to 1.2.230118.102.
* Updated to align with StyleCop errors
Multiple changes across the codebase that now aligns with StyleCop guidelines.
Tested again after the changes, to make sure no new bugs crept in.
* Added comments for spell-checker
Unclear if this side step should be done or not, but the kxz comes from a GUID and the other three names are constants.
* Adding code-custom.dic
Comments didn't work; trying a dic file
* Added four new terms to expects.txt file
Cleaning up attempt to update the spell-checker with dic file and moved it to expects.txt file
* Adding one more string
Adding one more string for Spell-Check
* Adding back egfile
Seems this is needed.
* Correcting a variable name
Seems one of the variable names that changed globally got missed in a XAML file.
* Update project to be more PowerToys friendly
Tweaking names and output file name to fit better with PowerToys.
* First pass at integration into Settings and Launcher
This PR is not as large as it seems:
- RegistryPreview's source moved around to a "better" directory that makes it look like the whole app changed. It didn't. In fact, I opened it in Beyond Compare and there's not much difference in the RegistryPreview app.
- Added RegistryPreviewExt that produces a DLL that the Launcher can run the EXE
- Changes to Runner calls the Ext DLL rather than the app
- Settings UI got a bunch of changes to enable the Settings page for enable/disable across ViewModels, Views, and string tables.
Still todo:
- Add "Preview" to .REG files, when the app is enable (and remove it when disabled)
- Update the thumbnail-screenshot in the Settings page
- Add support for OOBE
* Update expect.txt
Added REGISTRYPREVIEWEXT for recent changes and corrected an alphabetic sorting error.
* Updating project file for Release mode
Build failed due to a bad Includes path in Release mode.
* Adds REG registration but breaks settings
This update will update the HKCU branch of the Registry for REG files: if the app in PowerToys is enabled, it adds a Preview item to the context menu of REG files and disabling in PowerToys removes the menu item.
While working on this, I noticed that the application settings were broken, after moving to a self-contained EXE: there must have been old settings from past builds, when it was still using containers and family names.
Added TODO's to add a new way to save settings, likely as JSON.
* Re-enabled app settings
Moved from using ApplicationDataContainer for app settings and now use simple JSON.
Also cleaned up handling the scenario where the Launcher send in the PID from PowerToys' main thread.
Fixed past spelling errors as well.
* Update RegistryPreview.png
Captured new screenshot.
* Integration into OOBE
Integrates new page for Registry Preview into OOBE process.
* Removing old comment and unneeded calls
Two bits of source removed as they aren't needed any longer
Removing a chunk of old commented out code that doesn't make sense anymore.
* Merging file from upstream
Updating some files due to three merge conflicts from upstream changes and a couple of other changes to keep up.
* Update .gitignore
Adding two vcxproj files that have local updates for atls.lib locations.
* Update Resources.resw
Fixing a typo that involved a missing closing tag.
* Fix analyzer warnings
* Fix CI build
* Fix ARM64 build
Project file cleanup
* Add to installer
* expect.txt
* Remove unneeded dll
* Update MainWindow.xaml.cs
Added check for current Theme and adjust TextBox Foreground accordingly.
* Update expect.txt
Cleaning up merge cruft.
* Revert wrong .gitignore changes
* Fix ARM installer
* Update Brushes for textBox to use Theme based versions
Finally figured out how to use the built-in, Theme-aware Brushes for the font colors in the onscreen textBox. Also have it aligning the font color for the hover state.
* Align configuration in PowerToys.sln
* [installer] Add missing files
* Fix bad merge
* Fixes for stefansjfw's review
Includes:
- two new strings for UX localization
- adds compatibility section for Windows 10
- fix to only track successful activations
- Removes two REG files that were there for examples
* Fixes from review from htcfreek
Updates:
- Fixed an issue where TextBox_TextChanged was firing when you simply opened a file.
- Added clamp to prevent files larger than 10MB from being opened.
- Added support in the UX to show Keys and Values that are deleted via the file
- Added support to specially handle Keys that start with - and Values that have =- in them (delete scenario)
- Changed AppBarButton icon for Edit from Rename to NewWindow
* Create deleted-folder32.png
* Added Registry Preview to GPO
* Update expect.txt
Updating spellchecker works
* Updating Size/Move code for better results
- Moved the size/move to the MainWindow layer
- Cleaned up the JSON settings handling to avoid an access denied on first run
* Improving text handling
Changed how special characters are parse, which helps with live entry.
* Updates to parsing and other fixes
- Renamed the value PNG for parity
- Added new error image
- Added check that values have " at start and finish.
- Added support for a new "ERROR" type for Values
- Fixed support for @ versus "@" in values
- Fixed bug where Save wasn't activating in all scernarios
* Fix signing and versioning
* Update src/settings-ui/Settings.UI/ViewModels/RegistryPreviewViewModel.cs
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Apply suggestions from code review
Adds Launch button to the settings page.
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Update Resources.resw
Adding strings for new launch button
* Adding new version for GPO
Moving to 0.69.0
* More parsing bug fixes
- Changes to look for [- instead of -[ for syntax deleting keys (fix for developer's mental hiccup)
- Moved [- to top of the decision making stack, as it needs to come before [
- Added new StripEscapedCharacters function for both sides of a Value line
- Fixed crashing bug for scenario where no Keys are parsed before a Value
* Bug fixes from most recent review.
- Dictionary will now be case insensitive when searching for keys
- Added tool tips (and strings) to the images of the Keys and Values
- Updated delete handling for Keys, so that only the leaf-most node gets marked as deleted; also stops the top most roots from being marked deleted.
* Tweaking for @=-
Forces the UX to take @=- and treat it as @="" since that's what Registry Editor would do.
* Removing unused usings
* Updates app description
* Update src/gpo/assets/PowerToys.admx
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* cleanup proj file
launch process only if module is enabled
add process to bugreport process list
* Add context menu icon
* Update src/modules/registrypreview/RegistryPreviewUI/MainWindow.Utilities.cs
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Use modulesRegistry.h to apply/unapply registry changes
* Tweaked window settings
Moved the loading of the settings a little later in the initialization code, which gives more time for things to initialize.
* Update registry.h
Moving the definition out of the detail namespace to the registry name space to fix a compilation issue in RegistryPreviewExt.
* Unapply on creation
If module is disabled in settings.json, on startup reg entries should be unnaplied.
TODO: read m_enabled from settings file on creation
* Removing size/move main window
Added a TODO comment that responds to the size/position settings that are being saved out in the JSON blob on close as it doesn't always work on every PC, as the MainWindow initializes at different times.
* Change to always keep Save As active
No reason for this to be disabled, honestly.
---------
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* Add info that PowerToys run might get no focus when "Centralized keyboard shortcut" is used
* Fix spelling
* Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw
* Fix the issue of not being able to select an image for VCM
Camera mute while PowerToys is running elevated.
* change the buffer size for Path and filename
* move DLL import to native methods file
* Adding comment to rember to move back to WinUI3
when it is fixed
* making Dll Import methods internal
* changes from comments
* fix new c# errors
* Remove async
* [PTRun]Asynchronously load image and thumbnails
* Bring back check for Adobe PDF generated thumbnails
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* Fix ColorPicker sampling colour from the grid
Addresses #13831. The sampled pixel is now completely avoided by the grid.
Also, this should address the timing issue from the sampling being done
every 10ms, which overlaps strangely with monitor refresh rates at 16.6ms,
13.3ms, etc.
* Forgot extra library
* Revert rounding in GetPixelColor
* Ensure EnumDisplaySettingsW returns true
Assigning refreshRate only if EnumDisplaySettingsW returns true,
otherwise defaulting to 60.0Hz.
* Run spellchecker
* Spellcheck again
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* Check if the result from find item returns a valid item
and repopulate ExplorerItems()
* Call all the clean and populate methods only
when showRenamed is checked.
* Initial scaffolding for expiration configuration
* Simplifying the code and adding support for expiration events
* Bit more cleanup
* Initial support for expirable keep-awake
* Update some of the threading logic
* Logging and timing consistency
* Initial UI scaffolding
* Fix pathing issue for the icon when using config file
* Add missing definitions
* Update with basic interface
* Cleanup redundant calls
* Update name per convention
* Simplify declaration
* Proper binding to secondary Time property
* Cleanup the terminology use
* Standardize naming conventions.
* More Awake cleanup
* Ability to update the UI when the tray icon updates
* Small tweaks before ViewModel refactor
* Refactor the view model logic
* Some consistency fixes
* Remove the build props change
* Add settings scaffolding when a file does not exist
* Update expect.txt
* Fix typos
* Update build in logs
* Updating based on discussion in #24183.
This specifically addresses the fact that the `ExpirationDateTime` property was incorrectly auto-initialized to `DateTime.MinValue` when it should've been set to `DateTimeOffset.MinValue` to be consistent with the underlying type and assumptions around date/time.
---------
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Turn on warning 26497
This function function-name could be marked constexpr if compile-time evaluation is desired.
* C++20 has constexpr swap
* as constexpr is not only for compile time,
make all functions that can be constexpr constexpr
* constexpr functions are implicity inline
* Init
* Fix running settings
* UI design
* Left click trigger
Wire up colorpicker and pt run
* Wire up others
* Update FlyoutWindow.xaml.cs
* Removed comments
* Update FlyoutWindow.xaml
* More work
* Open Settings page
* More UI work
* Resolve conflicts
* [General] SystemTray Flyout: Add update on tray items' visibility when module gets enabled/disabled
Also remove context menu opening on tray icon.
* Adding app list
* Adding more buttons, resolving conflicts
* [General] Flyout: improving opening, closing flyout/settings window. Implementing basic bahaviour on enabling/disabling modules.
* [General] FlyoutWindow: proceed with implementation. GPO works. Main functionallity works (launching and enabling apps).
* [general] flyout: fix exit button
* [general] flyout: implement double click handling
* Localization
* [Generel] Flyout: Re-implement flyout launching, add workaround: disable flyout hiding in case the user switches on modules on the all apps page
+ minor changes
* [general] flyout: restore the context menu when right clicking on system tray icon
* Fix spellchecker
* [installer] fixing missing dll files + suppress error on not signed script
* Fix spell checker
* Fix flyout not focusing when activated
* Refresh Settings UI enabled state when flyout changes
* fix spellcheck
* Remove VCM from the list
* [General] flyout: fix settings window opening. Switch to general page only if there is no page opened
* [general] flyout: add launching hosts app
* Fix CI build
* adding check on elevation when launching hosts
* Use localization strings that already exist
* Remove dll not present in arm64 build
* Adding GPO policy check for the launcher page items
* fix hosts launching
* Add telemetry
* Also hide from all apps list when gpo is force enabling
* fix spellchecker
* Improve focus issues
* Fix flickering Bitmap Icons
* Fix telemetry error
* Fix telemetry call
* Fix wrong comment
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Laszlo Nemeth <laszlo.nemeth.hu@gmail.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Update parseRuntimes to use separate JSON for .NET Runtime / WPF
* Update parseRuntimes script to filter duplicate dlls from WPF Runtime List
* Fix spelling
* Override dlls
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* Added PowerShell script for parsing .NET Runtimes from deps.json
* Removed static list set of .NET Runtime and WPF file list
* Updated DepsFilesLists to write output. Moved to CustomActions directory
* Added space between runtime files variables
* Fix Parameter and Set-Content invocation
* Added PreBuild event to call parseRuntimes script
* Update spelling
* Removed runtime files from Product.wxs
* Updated script to add support for Product.wxs
* Modify process to create copies of unmodified files and restore them on post build.
* Fix spacing
* Fix spelling
* Updated script to create new Guid for Dotnet component
* Fix invalid regex
* Remove reverting Product.wxs in Custom Actions project
* Add Post Build Action in Installer to revert Product.wxs
* Set Post Build Event to run always on Installer
* Fix path to Product.wxs in Post Build Event
* Final fix to Product.wxs path
* Switch to use powershell.exe and read from ColorPicker directory.
* wip: fix release pipeline
* remove conditions for build events in PowerToysInstaller.wixproj
* System.Text.Json.dll
* System.CodeDom.dll
* System.Management.dll
* WindowsBase.dll
* Other
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* Added PowerShell script for parsing .NET Runtimes from deps.json
* Removed static list set of .NET Runtime and WPF file list
* Updated DepsFilesLists to write output. Moved to CustomActions directory
* Added space between runtime files variables
* Fix Parameter and Set-Content invocation
* Added PreBuild event to call parseRuntimes script
* Update spelling
* Removed runtime files from Product.wxs
* Updated script to add support for Product.wxs
* Modify process to create copies of unmodified files and restore them on post build.
* Fix spacing
* Fix spelling
* Updated script to create new Guid for Dotnet component
* Fix invalid regex
* Remove reverting Product.wxs in Custom Actions project
* Add Post Build Action in Installer to revert Product.wxs
* Set Post Build Event to run always on Installer
* Fix path to Product.wxs in Post Build Event
* Final fix to Product.wxs path
* Switch to use powershell.exe and read from ColorPicker directory.
* wip: fix release pipeline
* remove conditions for build events in PowerToysInstaller.wixproj
* Create verifyNoticeMdAgainstNugetPackages.ps1
* Update build-powertoys-steps.yml
* Update verifyNoticeMdAgainstNugetPackages.ps1
* Update verifyNoticeMdAgainstNugetPackages.ps1
* Update build-powertoys-steps.yml
* Update build-powertoys-steps.yml
* Update NOTICE.md
* Update NOTICE.md
* Update NOTICE.md
* Update verifyNoticeMdAgainstNugetPackages.ps1
* Update verifyNoticeMdAgainstNugetPackages.ps1
* adding back in the Community Toolkit items
weird, some how there was a checkin with this being removed
* Update .pipelines/verifyNoticeMdAgainstNugetPackages.ps1
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* Update .pipelines/verifyNoticeMdAgainstNugetPackages.ps1
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* Update .pipelines/verifyNoticeMdAgainstNugetPackages.ps1
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* Update .pipelines/verifyNoticeMdAgainstNugetPackages.ps1
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* shifting the restore for setup back to where it was plus moving the verification to end.
* moved wrong powershell, fliping back
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* [Quick Accent] add toggle switch to sort characters by usage frequency
* [Quick Accent] if enabled, then sort by frequency for all toolbar triggers
* [Quick Accent] add "start selection from the left" toggle switch
* [Quick Accent] fix error SA1000: The keyword 'new' should not be followed by a space
* Fix C# analyzer build error
* [TextExtractor] Extend settings with preferred language
* TextExtractor simplifying code, adding update languages on dropdown opening
* fix typo
* TextExtractor fixing bug with order of languages
- Previously there was a mixture of `1.` `1.` `1.` ... and `1.` `2.` `3.` ... indexing in the readme doc which is changed to a uniform use of `1.` `1.` `1.` ....
- There were errors in numbering at 2 places which get fixed by this.
* [ColorPicker] Restructure to have color names localized
* [ColorPicker] Restrucure code to have localised color names
* Fix analyzer errors
* [ColorPicker] add comments
* Remove unused Newtonsoft.Json package references
Replace with System.Text.Json in Settings test
* spellcheck
* Remove obsolete test
* Revert settings part
* Revert "Revert settings part"
This reverts commit ad2934ce0b.
* Increase JS heap size in CI
* Custom color format tweaks
* Delete vs. remove
* Update expect.txt
* [ColorPicker]Support BGR and RGB decimal value formats (#22771)
* ColorPicker add both decimal value formats
* ColorPicker, custom format dialog, resizing columns
* Custom color format tweaks
* Delete vs. remove
* Update expect.txt
* Fix rebase
* Fix error
* [Quick Accent] fix showing toolbar in the corner position
* [Quick Accent] set horizontal allignment according to toolbar position
* [Quick Accent] fix spelling mistake
C++ code analysis is a heavy process, which we are running in the PR CIs already, so code that gets into main should be checked already.
This PR conditionally removes C++ code analysis from the release pipelines. This saves 10-15 minutes in build time.
## Validation Steps Performed
Verified the release CI shaved some time off.
* ColorPicker fix format name duplicates
* ColorPicker: extend settings-loading with security code which skips color formats with empty name or duplicate names
* Spell checker fix, typo, sorry
* fix error blanks in japanese OCR
Kanji ,Hiragana, Katakana, Hankaku-Katakana do not need blank. (not only the range of CJKUnifiedIdeographs). Maybe there are more symbols that don't require spaces like \u3001 \u3002. But give it to ocr engine to improve may be a better choice ?
* Update ImageMethods.cs
fixing spelling
* Update expect.txt
adding in Hankaku
* Update ImageMethods.cs
* [PTRun] Support drag&drop to other application for files in result list
* [PTRun] use file/folder thumbnail as drag image
* (fix spellcheck)
* [PTRun] use _mouseDownResultViewModel.Image to generate the drag image
* fix spelling + refactoring
* ColorPicker fixing 'old' formats still represented in the old pre-defined format in color picker module.
* Fixing color picker tests, adding format strings
* ColorPicker fixing problem settings not sent to CP module (when newly created formats change)
* ColorPicker fixing problem Move Up button diabled for the 2nd element of the color formats list after creating a new color format.
* [Quick Accent] fix showing selector window
* Update layout before using size to calculate position
* Correct offset issues due to margin
* Up the offset to 24, as the margin value removed
* [ColorPicker] Development: custom color formats, first steps
* ColorPicker development of custom format handling.
* Custom color format developmnet.
Added common helper class for format string
Fixed settings loading
Added numbering if default name exists (My format (1))
* Custom color format implementation.
Extended the colorPicker settings with the format string
Updated the color to string conversion
* Custom color format in color picker, development.
Adding edit, delete buttons. Implement functionality
Re-arranging settings panel (newly created formats at the top)
Implementing details (valid parameters, more format elements, more types)
* Minor commit
* Development color picker custom formats. "Last" steps.
Replacing hard coded english strings with resources, polishing.
* Adding help to the format edit dialog.
* Undoing changes unwillingly commited in Host module
* Fixing bug unable to delete a custom format after renaming it - use the colorformat object as reference (and not the name)
Modifying the default custom formula
Removing unnecessary using directives
* Udating the default user defined color format
* Removing unnecessary using directive
* ColorPicker Implementing custom color formats: adding custom formats to the default format selection (dropdown box).
* Fix binding of name and example
* Custom color formats, implemented steps:
vorwarts compatibility loading settings.
Fixed UI as requested (removed one settings panel, added button to the first panel)
* Minor change in the UI: description modified
* ColorPicker Custom Color Formats develepoment.
Added conversion from old predefined formats to customizable formats.
Extended default settings (in case settings file is deleted/corrupted).
Minor fixes.
* Fixing color format parameters.
Implementing 3 different Saturation calculations, 2 Hue calculations and 2 Lightness calculations (depending color format)
* Color Picker: New/Edit Color format. Fixing bug when cancelling addition/edit
* ColorPicker. Updating help section, available parameters
* Fix spellchecker
* Remove the MinWidth so that scrollviewers can be drawn
* ColorPicker bugfix: Not allowing to delete the last color format.
* Adding unicode names and adjusting UI (WIP)
* Added changing letter names
* Add optioins to hide description (WIP)
* WIP
* Change to binding property
* Adress PR comments
* Set TextBlock in border
* * Added to settings
* Fixed string showing/not showing one time after switching character
* Removed unneccessairy command in SettingsService.cs
* Moved showdescription enum to settings.ui
* Adding Fluent design :)
* Fix merge errors
* Center list
* Fixed code not working. Accepted some code style changes.
* Merge main in branch #2
* [Quick Accent] support unicode description for UTF-16 surrogate pairs
* [Quick Accent] fix check-spelling-bot errors
* [check-spelling] accept LANGID as correct word
* [Quick Accent] fix delay when calling ShowToolbar for the first time
* [Quick Accent] use toggle switch to turn off/on Unicode description
* [Quick Accent] fix after merge
* [Quick Accent] add UnicodeInformation.dll to installer
Co-authored-by: Niels Laute <niels.laute@live.nl>
* Update projects to .NET 7
* Updated packages to 7.0-rc1
* [ColorPicker] Wrap WM_KEYUP param in unchecked context
* [PTRun][OneNote] Added a NoWarn to CS8981
* [MeasureTool] Wrap buffer in wstring_view in SetClipBoardToText
* Target .NET 7 for PowerToys.Interop
* Update publish profiles
* Removed System.Text.Json.dll from Product.wxs since it's included in .NET 7
* Use .NET 7 in CI
* Removed individual CodeAnalysis package from projects
* Updated CodeAnalysis package in Directory.Build.props
* Updated NuGet packages to latest 7.0 rc2
* Fix merge mistake with Settings.UI.Library project
* Updated installer with .NET 7 RC2 install
* [GPOWrapper] Updated GPOWrapperProjection to .NET 7
* [FileLockSmith] Updated to .NET 7
* [FileLocksmith] Update Interop to .NET 7
* Upgrade .NET 7 specific libraries to GA version
* [PowerToysSetup] Updated .NET 7 urls to GA
* [CI] removed .NET 7 SDK preview version from UseDotNet task
* [PowerToysSetup] Update HasDotnet variable name
* [PowerToysInterop] Downgrade target back to .NET 6
* [FileLockSmith] Downgrade Interop library back to .NET 6
* Revert "[FileLockSmith] Downgrade Interop library back to .NET 6"
This reverts commit 356ad048e3.
* Revert "[PowerToysInterop] Downgrade target back to .NET 6"
This reverts commit 74dbcfdefe.
* [Analyzers][CPP] Disable warning for 4679 caused by .NET 7 in C++/CLI
* [CI] Set maximum cpu count to 2 for PowerToys.sln build
* [CI] Set maximumCpuCount to false in hopes of arm64 working
* Changed .NET 7 runtime display name
* [ci] Use .net 7 sdk
* [release] Move NuGet feed from CDPx to DART
Since the release pipeline is run in the DART Azure DevOps project, we
no longer need to authenticate against it. The build agent will be
running with a token that allows access.
* restore nuget.config
* We should still authenticate against this org, not a specific feed
* rename the feed
* whoa whoa whoa okay
* [ci]Conditionally add labs package except in Dart (#22294)
* Propagate Jaime's change
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
6031 - Return value ignored: 'called-function' could return unexpected value
26451 - Arithmetic overflow: Using operator 'operator' on a size-a byte value and then casting the result to a size-b byte value. Cast the value to the wider type before calling operator 'operator' to avoid overflow (io.2)
28182 - Dereferencing NULL pointer.
* correct the uid
* Remove periods and generalize "Appearance & behavior" uid
Descriptions don't need a period, unless they're full sentences.
* simplify bold text to interactive elements
the 3 changes from bold to code are for readability
* rev feet
* -1 ing
* [QuickAccent] Add catalan
* Add missing l·l symbol
and improve order
* Fix build error
* Remove trailing white space
* [QuickAccent] put Catalan language in alphabet order (#22228)
Co-authored-by: CodingNeko <codingneko@gmail.com>
* Implement the delayed rendering
* Impelement settings UI
* Rename
* Set the minimum of ShortcutGuide_PressTimeForTaskbarIconShortcuts to 100ms
* Separate the animations of the global windows shortcuts and the taskbar icon shortcuts
* Amend
* Handle the case when the shortcut guide is not activated by win key long press
* Remove .vscode
* Keep the user's original setting of the win key press time
* Revert the default press time to 900 ms
* Restore default as 900
* add croatian, netherlands, swedish & welsh
* Rename Netherlands to Dutch
* Rename Netherlands to Dutch
* Change order of Dutch
* Put in place the good iso code for Welsh & Swedish
* Add .log support to Monaco preview handler
* Revert "Add .log support to Monaco preview handler"
This reverts commit 94b6219250.
* Add .log support to Monaco preview handler
* [ci]Conditionally turn off multi tasking for arm64
* Use var expression in variables instead
* Yet another try
* Fix release CI as well
* Use proper variables on matrix
* Try non-runtime expressions for release CI
* Remove debug prints
* Analyzers CPP
Changing the warning level from 3 to 4.
change some project files to make them use the warning config in cpp props file.
* Analyzers C++ turn on warning 4706
Change Cpp.Build.props file to enable 4706
fix BugReportTool code to get rid of 4706
* Turn on warning 4100 and fix the code
* Follow c++ core guidelines
* Adapting to PR comments
* Analyzers CPP
Changing the warning level from 3 to 4.
change some project files to make them use the warning config in cpp props file.
* Analyzers C++ turn on warning 4706
Change Cpp.Build.props file to enable 4706
fix BugReportTool code to get rid of 4706
* disable 4706 for external code
* [FileLocksmith]Query system processes if elevated
* Show warning if user is a system user
* Make text in the file list selectable
* Update src/modules/FileLocksmith/FileLocksmithLibInterop/NtdllExtensions.cpp
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
* Trim \0 no longer required
* Correct elevation detection logic
* Use theme approppriate colors
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
* Adding icon to project
* Adding icon to Settings
* Reference the right file
* Fix icon on Windows 10
* Add new Icon files to the installer
* Fix installer.
* rename Layout -> LayoutData
* simplify zone
* split ZoneSet: Layout
* refactoring
* split ZoneSet: LayoutWindows
* update trace
* split ZoneSet: remove ZoneSet
* fix initialization
* split unit tests
* remove unused
* warning
* nullptr check
* use current rect
* update work area tests
* use current rect
* simplify
* more meaningful name
* dismiss
* safety checks
* resolve conflicts
* reassign windows after switching vd
* avoid double-processing for window on switching vd
* extend windows fix
* check if window is on current desktop before cycling
* separated extend
* not reinit layout windows
* Imported offline solution
* Make solution compile
* Add Windows sample, doesn't work?
* Added new project to implement the dll
* Remove unneeded header
* Implemented IUnknown part of ExplorerCommand
* Implemented IExplorerCommand methods
* Implemented ClassFactory
* Implemented DLL register/unregister
* Implemented other DLL exports, not working?
* Implemented IShellExtInit inferface
* Implemented IContextMenu, it works!
* Implement command data fetching
* Make sample project compile on VS 2022
* Add plan
* Implement Lib as separate project
* Implemented IPC, not tested
* Console UI project skeleton
* Implemented basic console UI
* Implemented piping, there are bugs
* Prototype works
* Remove old project
* Added GUI project skeleton
* Mitigate issue with WinUI3
* Added a control for displaying results
* Add button
* Implement core functions in lib project
* Call new library function from console main
* Implement showing results
* Improve UI
* Implemented subdirectory search
* Remove useless code
* Set window size
* UI adjustments
* Implement killing process
* Rename variable
* Add lib project to main solution
* Add Ext and GUI projects to solution
* Tweak packages for GUI project
* Add a settings page
* Add a few resource strings
* Add one more resources string
* VS keeps trying to correct this
* Add references to File Locksmith in /,github
* Implement some parts of FileLocksmithModule
* Change output directory
* Change target name and add to runner
* Add logger
* Started implementing settings backend
* Fix log folder
* Settings work
* Add some basic tracing
* Attempt at adding resources
* Remove junk files
* Added missing defines
* Replaced some constants with resources
Something's not working
* Move resources to the Ext project
* Remove experiment
* Add binaries for signing
* Improve tracing
* Remove old Settings calls
* Show something when there are no results
* Change window title
* Move computation to another thread, improve UX
* Increase font size for default text
* Remove entries for killed processes
* Show user name
* Remove nonrecursive implementation
* Implement back end for getting file names
* Show list of files, UI tweaks
* Remove useless includes
* Implement back end for getting full process path
* Dark title bar on dark themes
* Using Expander, other UI adjustments
* Show "No results" after killing all processes
* Show progress ring
* Update configuration mapping
* Revert "Update configuration mapping"
This reverts commit d8e13206f3c7de3c6dbf880299bfff3bf9f27a37.
* Fixed solution configuration, ARM64 should build
* Backend for refreshing
* Variable window size
* Add refresh button
* New WinUI3 C# project for FL
* Started porting functionality
* Add Interop project
* Move IPC to Ext project
* Ported native functions to Interop
* Ported finding processes
* Ported most of Main Window functionality
* Display paths of files
* Implement killing processes
* Use resource string for "End Task"
* Remove entries for terminated processes
* Show User name
* Set default window size
* Make the new UI the default
* Reading paths from stdin, completed port to C#
* Fix small bug
* Moving to MVVM
* Adding Labs
* Merge branch 'ivan/file-locksmith' of https://github.com/microsoft/PowerToys into ivan/file-locksmith
Removing one parent commit for cleaner history
Co-Authored-By: Niels Laute <niels.laute@live.nl>
* Reintroducing features
* Moving UI strings to resources file
* Restored functionality
* Add missing dlls
* Add FIle Locksmith to publish.cmd
* Rebase fixes
* Try updating nuget.config
* Fix copy-paste blunder
* Add File Locksmith UI for publishing
* Add .pubxml file in FileLocksmith
* Change build output folder
* Fix installer build issues
Remove old projects from solution so MSBuild doesn't build them.
Downgrade target framework to what most other projects are using.
Fix publishing profile and project runtimes.
Remove unused CsWinRT references.
* [CI] Add clear to nuget packages
* Fix module reference counting
* Fix nuget for release CI
* Fix version and signing
* Fix path for resources
* Fix incorrect results when running 2 instances
* Fix default nuget source
* Windows 10 icon and fallback for UI
* Code clean-up and spaces instead of tabs
* Add gif showcasing FL
* Add screenshot of File Locksmith for Settings
* Add new files to the installer
* Add OOBE page
* Showing selected paths in the header
* Tweak path list
* Added new, wider gif
* Add GPO
* Add some logs
* [CI]Get CommunityToolkit.Labs from BigPark feed
* [CI]Use azure package feed for Nuget in release
* [CI]Another try for the labs source
* Revert changes to feed
* Use RestoreAdditionalProjectSources
* Add tooltip to file list
* Change tooltip to not trim the lines
* Add Tips and tricks section mentioning elevated
* Add some more logs messages.
* Grammar fix
* Add to bug report tool
* Fix UI virtualization not working
* Disable virtualization to avoid crashes
* Get better virtualization
* Add dialog instead of tooltip to show list of items
* No results refresh icon is now a button too
* Use managed methods for handling processes
* Remove registry code from Ext.
* Support drives too
Co-authored-by: Niels Laute <niels.laute@live.nl>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Add GPOWrapper headers and C++/WinRT library
* Check GPO before starting utilities
* Show message on GPO having disabled preview panes.
* Don't generate thumbnails if GPO disabled
* Fix FancyZonesEditor unable to recognize GPOWrapper
* Move settings view models to the settings project
* Use GPO to block enabling utilities in Settings
* Hide context menu entries when gpo disables utilities
* Apply gpo policies when enabling PowerToys on runner
* Add version and metadata to dll
* Add GPOWrapper to the installer
* Fix MSBuild errors on WPF apps by using Projection
* Signing
* Add gpo files and publish them
* Add GPO policies to the bug report tool
* Add some documentation for using GPO
* Mention support to actual lowest supported version of Windows
* Move PowerToys to the root of administrative templates tree
* Save policies on Software\Policies\PowerToys
* Support both machine and user scopes
* Fix documentation to reference computer and user scopes
* Mention incompatibility with outlook in gpo
* Set a better folder structure for gpo assets
* Move PDF Handler warning to the description
* Update doc/gpo/README.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Add actual minimum version of PowerToys to gpo files
* Fix identation
* Remove GPOWrapper Readme
* Add Active Directory instructions to doc
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* [QuickAccent] Added Portuguese (BR) language
* Fix- Correct indentation
* Fix - Added proper indentation to EOF
* Removed "(BR)" from text
* chore: Changed index switch to array
* Correct German and French order
Using Cpp.Build.props to setup C++ code analysis as default.
Starting with a ruleset based on Microsoft Recomended Native rules. But changing all to info. Future pull request should change a rulr from info to warning and fix the code.
* [OOBE]Fix not shortcut not updating
Fix for issue #20953.
Activation key update in the OOBE window
when the user changes it in the settings window.
Add settings repository reference to the ViewModel
constructor to use the repository settings object
(and not create a second instance of it).
* Fix for issue #20953.
Unit test fixed.
* add selection of country langages
* Add Greek and Iceland countries
* Update src/modules/poweraccent/PowerAccent.Core/PowerAccent.Core.csproj
* fix ß in all section
* remove greek
* improve UI
* langage to language
* remove GR reference
* change 'All' to 'All available'
* adding Romanian and Hungarian
* Missing characters
* Add Italian
* Fix translation key
Remove GameMode activation
* Fix PR build issues
* Callback to get if a letter is part of the language
* Add additional dlls to installer
* Fix new dlls signing
* Fix spelling
* Add description to language selection
Co-authored-by: Damien LEROY <dleroy@veepee.com>
* Wrap Quick Accent toolbar selection
Wraps _selectionIndex at beginning and end of range.
* Holding Shift + Space moves _selectedIndex backwards
Moves toolbar selection from right to left when Shift key is held.
* Fix formatting and typos
* Change EOL of files to LF
Changes PowerAccent.cs and WindowFunctions.cs back from CRLF to LF
* Rename IsCapitalState() to IsCapsLockState()
* Correct Logical Mistake (&& -> ||)
* Removed backward movement when holding Shift
* [ContextMenu Packages] Prefix identity and app id with Microsoft.PowerToys
* TEST: Set packages versions
* Fix packages version format
* Update display name
* Improve the icon shown for app execution aliases.
* Reverse validation check.
Resolve issue with null paths
* Improve to utilise app execution alias reparse point.
* Improve to utilise app execution alias reparse point.
Co-authored-by: Mike Barker <mibarker@microsoft.com>
* Removed prefix
Quick deletion. Quick run in VS gave no problems.
* Removed prefix
Quick deletion. Quick run in VS gave no problems.
* update for new files
* Remove using muxc includes
* [Awake] Don't use Process.Exit and move to CsWin32
* [PowerLauncher] Remove unused API
* [ColorPicker] Use cancellable NativeEventWaiter + cleanup using
* [TextExtractor] Don't use Environment.Exit
* [MeasureTool] Don't use Environment.Exit(0);
* [FZE] don't use Environment.Exit and fix WaitForPowerToysRunner
* [Screen Ruler] add 7% opacity to tooltip background
* [Screen Ruler] restrict mouse cursor to monitor while in bounds mode
* [Screen Ruler] Do not preview overlay ui on all virtual desktops (Win + tab)
* [Screen Ruler] add hotkeys for toolbar #20345
* [Screen Ruler] Make single snapshot capture mode a default and update warning
* [Screen Ruler] Fix touch input in bounds mode #20286
* [Screen Ruler] activate window and set HWND_TOPMOST flag again after initialization
* [Screen Ruler] simplify lines calculation
* [Screen Ruler] Add inches and centimeters support
* [Chore] prefer x64 toolset to avoid hitting C1076
* [Screen Ruler] Allow making screenshots in non-continuous mode
* [Screen Ruler] Use single d3d device for all ops
* [Screen Ruler] remove gpu mutex and clean up screen capturing
* [Screen Ruler] handle and log DXGI initialization failure
* [Screen Ruler] Add unhandled exception handler
* [Screen Ruler] comment out Units of Measure setting
* [Screen Ruler] introduce a separate device dedicated for capturing
As position is being set according to toolbar width&height (depends on num of
characters), on first toolbar-show size of the toolbar is wrong (list items are not set yet).
Therefore, first set characters and then position.
* [MeasureTool] initial commit
* [chore] clean up needless WindowsTargetPlatformVersion overrides from projects
* [MeasureTool] initial implementation
* Fix build errors
* Update vsconfig for needed Windows 10 SDK versions
* fix spellchecker
* another spellcheck fix
* more spellcheck errors
* Fix measurement being off by 1 on both ends
* UI fixes
* Add feet to crosses
* Remove anti-aliasing, as it's creating artifacts
* Use pixel tolerance from settings
* Tooltip updates
* Restore antialiasing to draw the tooltip
* remove comment for spell check
* Updated icons
* Icon updates
* Improve measurement accuracy and display
* Fix spellchecker
* Add less precise drawing on continuous warning
* Add setting for turning cross feet on
* Swap LMB/RMB for interaction
* Uncheck active tool's RadioButton when it exits
* activation hotkey toggles UI instead of just launching it
* track runner process and exit when it exits
* add proj ref
* toolbar is interactive during measurements
* always open toolbar on the main display
* refactor colors
* refactor edge detection & overlay ui
* refactor overlay ui even more
* simplify state structs
* multimonitor preparation: eliminate global state
* prepare for merge
* spelling
* proper thread termination + minor fixes
* multimonitor: launch tools on all monitors
* multimonitor support: track cursor position
* spell
* fix powertoys!
* ScreenSize -> Box
* add shadow effect for textbox
* spell
* fix debug mode
* dynamic text box size based on text layout metrics
* add mouse wheel to adjust pixel tolerance + per channel detection algorithm setting
* spelling
* fix per channel distance calculations
* update installer deps + spelling
* tool activation telemetry
* update assets and try to fix build
* use × instead of x
* allow multiple measurements with bounds tool with shift-click
* move #define DEBUG_OVERLAY in an appropriate space
* spell-checked
* update issue template + refactor text box drawing
* implement custom renderer and make × semiopaque
* spelling
* pass dpiScale to x renderer
* add sse2neon license
* update OOBE
* move license to NOTICE
* appropriate module preview image
* localization for AutomationPeer
* increase default pixel tolerance from 5 to 30
* add PowerToys.MeasureToolUI.exe to bugreport
* explicitly set texture dims
* clarify continuous capture description
* fix a real spelling error!
* cleanup
* clean up x2
* debug texture
* fix texture access
* fix saveasbitmap
* improve sum of all channel diffs method score calc
* optimize
* ContinuousCapture is enabled by default to avoid confusion
* build fix
* draw captured screen in a non continuous mode
* cast a spell...
* merge fix
* disable stroboscopic effect
* split global/perScreen measure state and minor improvements
* spelling
* fix comment
* primary monitor debug also active for the bounds tool
* dpi from rt for custom renderer
* add comment
* fix off by 1
* make backround convertion success for non continuous mode non-essential
* fix spelling
* overlay window covers taskbar
* fix CI
* revert taskbar covering
* fix CI
* fix ci again
* fix 2
* fix ci
* CI fix
* fix arm ci
* cleanup cursor convertion between coordinate spaces
* fix spelling
* Fix signing
* Fix MeasureToolUI version
* Fix core version
* fix race condition in system internals which happens during concurrent d3d/d2d resource creation
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Niels Laute <niels.laute@live.nl>
* Init commit
* Fix unintended GUID change of Microsoft.PowerToys.Run.Plugin.TimeZone.UnitTests
* Region and click word working
* Code style
* Close even when there is no result from the OCR
* Fix spelling concerns, and make overlay black to match snipping tool
* increase opacity of overlay to match snipping tool
* Code Style and cleanup
* Code style
* Create Logos and hook them into the project file
* Make the PowerOCR VCXProj more like Awake VCXProj
* Rename MainWindow to OCROverlay
* Add WindowUtilities and WindowForms
* Remove fsg to fix spelling error
* launch OCR Overlay on every screen
* Add PowerOCR to Runner Main.cpp
* Add PowerOCR Settings and Properties
* Add PowerOcrViewModel
* Fix wrong setting reference in PowerOcrSettingsVM
* Try to clean up the Cpp project for PowerOCR
* Went to ARM64 was x64 thanks @snickler
* Clean up PowerOCR C++ Proj with file refs
* Rewrite C++ dllmain comparing to awake
* Changes for spelling issues. The rest will stay
* Create PowerOcr Settings Page and add to settings shell
* Fix PowerOcr Settings
* Fix multi-monitor scaling issue
* Add close all overlays when escaping
* Update src/runner/main.cpp to call correct Power OCR dll
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* Update expect.txt
* Add many files from Color Picker for hotkey activation
* Organize project into helper folder
* Use new hotkey activation and keep process alive
* Fix bug where scalebmp wasn't working
* Add The file headers and dispose app.xaml.cs
* Code style changes
* Fix bug where PowerOCR was toggling Awake
* Unsubscribe from keyboard events making they don't fire twice
* Add SndPowerOcrSetting and add to SettingsVM
* Trying to make the runner close PowerOCR when runner closes
* Fix app_name
* Update spellcheck expect
* use mutex on PowerOCR app to keep to single instance
* Rebuild the module interface using ColorPicker as a template.
Process still stays alive.
* Fix project names of the module interface
* Put app startup args back to 0 like color picker
* Runner now finds and enables/disables PowerOCR
* remove unneeded item groups from settings proj, per stefansjfw
* Add PowerOCR Screenshots
* Revert changed project GUID
* Add OOBE content for PowerOCR
* Keep cursor on one screen since the OCR window does not span screens.
* reload settings when activation key is pressed
* New screenshots and OOBE text
* Add PowerOCR as a case in the settings App.xaml.cs OnLaunched
* Settings and OOBE Text Changes
* Using using on bitmaps and change OCR overlay to stay open if no result
* Keyboard activation is handled is true
* Remove unused start PowerOCR OOBE Method
* [PowerOCR]Add some telemetry
* Add some logging
* Don't recreate the OCR overlay Windows more times
* Add to BugReportTool to get event viewer errors
* Fix wrong comment
* Fix another comment
* Add files to installer
* Add to signing
* Don't take Esc away from other apps
* Default to Win Shift R
* Use low level keyboard hook from runner
* Remove esc from local low level keyboard hook
* Fix some nits
* Default to Win Shift T
* Progress!
* Progress...
* POC level.
* Added ability to delete from history using IPublicAPI
* Some sorting, works in some cases.
* Rename "Run History" back to just "History".
* Updated item from review.
* Slight change to PowerLauncher ref, set Copy Local = False
* Fixed missing history items if added to history without search term.
* Added placeholder unit test project
* Updates for new History plugin.
* Update Product.wxs, removed useless Unit Test project
* Removed actual files for "Microsoft.PowerToys.Run.Plugin.History.UnitTests"
* Added history.md, updated ESRPSigning_core.json
* Changes for review
* Removed now global CodeAnalysis/stylecop
* Made file too big string variable
* Performance improvements
* Add progress bar to indicate loading
* Added Logging
* Added name to log files
* Push
* Updated expect.txt
* Push
* * Fixes small bug I sometimes encountered by unloading the application
* Fixes bug where sometimes the loading bar kept stuck (on "file is too big" screen
* Update expect.txt
* Resolved review comments
Added LogTrace() function
* Unifying tasks
* Removed unneccesary log message
* * Added margin to loading bar and text.
* Changed color of background to monaco dark skin color
* Centred loading bar
* Changed logger path
* Changed log path
* Fixed align of loading label
* Fix label size and position
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* [PT Run] Fix web link with ports support (#14260)
* URL in the format of `domain:port` now directs to default browser
* Add tests to verify web link with ports scenario
* Fix test case and scenario where mismatching schema and port for IPv6 does not result in correct output
* [PT Run][Tests] Change and add more UriParser Tests
* Specifically of note is line 56, where [IPv6]:80 diverts to https instead of http.
* [PT Run][Tests] Add UriParser tests
* Add more tests targeting port handling
* [PT Run] Fix http handling
* This also fixes oddity with IPv4 and IPv6 handling
* [PT Run] Add second results depending on condition
* Test: update all test to reflect updated functions & add a little more tests
* Update function to show two results when URI is in the format of `domain:port` (situation where it can also be `schema:path`)
* Update regex style to follow previous code
* [PT Run] Change tests and filter localhost from certain results
* Add tests for 127.0.0.1, localhost, and ::1
* Move test around into more logical arrangement
* Filter localhost out from showing double results
* [PT Run] Fix spelling on comments
* [PT Run] Add some words to expect.txt
* [PT Toys] Clarify comment regarding [::]
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* [PT Run] Remove tests regarding tel protocol
* [PT Run] Clarify UriParser parameter
* [PT Run] Add UriParser tests for tel protocol
* Current code has a regression bug where tel:xxxx, if xxxx is more than 65536 it will break. Will fix in follow up commit.
* [PT Run] Refactor ExtendedUriParser and its tests
* Remove `isWebUri` from ExtendedUriParser, keeping only webUri and systemUri
* Tel protocol regression bug still exists
* [PT Run] Fix wrong icon when webUri result
* [PT Run] Fix regression bug for tel protocol
* Tel protocol will sometimes bug out when tel:xxxx if xxxxx is more than 65535, as UriBuilder will throw error thinking the port number has been exceeded
* [PT Toy] Fix tel test
* [PT Run] Changes to tests
* Add test for application uri to include ports, for all non-protocol, http and https variants
* Rearrange some more test to make more logical sense, and add comments
* [PT Run] Simplify code
* Move webUri and systemUri to be global, as per htcfreek's recommendation
* Add comment to empty catch
* Change null to default
* [PT Toy] Update test name
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* [PT Toy] Change result prompt when empty string
* [PT Toy] Fix typo in comment
* [PT Toy] Simplify line
* [PT Toy] Change result prompt when empty string
* Deselect previous selected item because it might not be valid.
* fast execute non-delayed queries
* Speling fixxes.
* Fixed _isTextSetProgrammatically check for when PTRSearchQueryFastResultsWithDelay = false
* Resoved some comments.
* Added partial delay for fast plugins
* Updates settings UI for second throttle value. Changed text.
* 'Verbiage' update
* [ci]Fail for binaries without a version
* Add version to AlwaysOnTop dll
* Add version to AlwaysOnTop executable
* Add a version to Awake module
* Add version to FancyZones module dll
* Add version to PowerRenameUI executable
* Add version to VideoConferenceMute module
* Add version to the Bug Report Tool
* Add version to Styles Report Tools
* Add version to Webcam Report Tool
* Add version to PowerToysSetupCustomActions
* fix spellcheck
* Update tools/WebcamReportTool/resource.h
* create common localization class
* add loc name to prog plugin
* fixes
* Tool tip fixes and comments
* cleanup and highlight fix
* change
* Improvements
* Add GetLocalizedPath()
* smal code improvements
* Change to allow new settings for results tuning.
* Change to allow new settings for results tuning.
* Added WeightBoost
* Fixed null-ref crash in QueryResults
* Change based on stefansjfw review. Remove PowerLauncher_PluginWeightBoost.Content
* Fixed another of my dumb null-refs...
* Updated some text
* Moved global sort order and set enable/disabled as needed.
* Fixed enabled-state of "Global sort order score modifier" setting.
* moved monitors identifying
* changed device id
* get wmi info
* convert old data
* save/load applied layouts
* changed monitor identification
* id comparison
* save/load app zone history
* moved com and security init
* update ids in editor
* lib fix
* updated tests
* changed comparison
* tests
* updated id comparison
* updated log
* moved definition
* spell check
* resolve conflicts
* refactoring
* update serial numbers if possible
* C++ impl of immersive dark mode
* Stop using the hardcoded value.
* Conjured up theme listener based on registry.
* Update MainWindow.xaml.cpp
* Update expect.txt
* Moved themehelpers to the common themes lib.
* Ported theme helpers back to .NET
* Update expect.txt
* Updated C# Theme Listening logic to mimic the one from Windows Community Toolkit.
* Replaced unmanaged code for RegisterForImmersiveDarkMode with unmanaged ThemeListener class.
* Fix upstream changes
* Update ThemeListener.h
* Update ThemeListener.h
* Proper formatting
* Added handler to Keyboard Manager.
* Update EditKeyboardWindow.cpp
* Added dwmapi.lib to runner, removed condition from additional dependencies.
* Update PowerRenameUI.vcxproj
* Added new deps for ManagedCommon to Product.wxs
* Crude attempts and understanding installer
* Removed Microsoft.Win32.Registry.dll from product.wxs.
* Updated dictionary
* Renamed ThemeListener class file for consistency, removed unused CheckImmersiveDarkMode in theme_helpers.
* Update Themes.vcxproj
* Update theme_listener.cpp
* Removed SupportsImmersiveDarkMode version check
* Removed SupportsImmersiveDarkMode version check
* Whoops
* Update expect.txt
* Adding OneNote plugin for PowerToys Run
* Updating to 3.0.1 dependency, updating md, spellcheck, ready for PR
* Updating spelling and using localized string
* Adding OneNote link to readme
* Adding OneNote requirement to description
* removing 'open' from description
* Updating interop version, PR feedback
* Adding query caching and delayedExecution to PT Run OneNote plugin
* Adding binaries to signing, and updating doc
* Adding dependency nuget package binaries to installer
* PR feedback and .editorconfig fix to ignore IDE rules that conflict with repo styling
* Fixing spelling
* Make sure we run CG component detection on main
I believe that there is a hidden "default branch" setting in Azure
DevOps, and ours is set to "master". CG only attempts to automatically
inject to builds off the default branch... and because we're a GitHub
repo running builds in AzDO we _can't change what the default branch
is_. Oops.
Copied from microsoft/terminal#e0bd76b30
* spellbot got mad at me
* [FileExplorer Add-ons][SVG preview] Swap order of default and svg namespace if default comes first
Inkscape v1.1 swapped order of default and svg namespaces in svg file (default first, svg after).
That resulted in parser being unable to parse it correctly and instead of svg, text was previewed.
MS Edge and Firefox also couldn't preview svg files with mentioned order of namespaces definitions.
* expect.txt
* Update comment
* Minor fixes
* Use full namespace definition instead of prefix
* Adding OneNote plugin for PowerToys Run
* Updating to 3.0.1 dependency, updating md, spellcheck, ready for PR
* Updating spelling and using localized string
* Adding OneNote link to readme
* Adding OneNote requirement to description
* removing 'open' from description
* Updating interop version, PR feedback
* removed IWorkArea interface
* split work area initialization
* changed rect type in zoneset
* tests
upd work area tests
removed obsolete, update others
updated work area tests
* get current vd windows
* update windows positions
* removed unused flag
* moved update window positions to work area
* check monitor
* refactoring
* [Installer]Ship Windows App SDK as self-contained
* Include windows app sdk localization files
* fix spellcheck
* Upgrade Win3.14 version
* Add RunWixToolsOutOfProc to try fixing wix hang
* fix spellcheck
* Try to get more information from wix build
* Remove unneeded flags
* Fix spellchecker
* Add version check exception for dll with 1.0.0.0
* Move to WinAppSDK-1.1.0
* expect.txt
* Revert "[Settings]Don't launch if explorer is running elevated"
This reverts commit c485da2816.
* Make copyright header analyze suppression module scope
* Move to WinAppSDK-1.1.0
* expect.txt
* Revert "[Settings]Don't launch if explorer is running elevated"
This reverts commit c485da2816.
* Make copyright header analyze suppression module scope
* Update ResizeOperation.cs
Add a new boolean to check if the image was resized, skip modifying the metadata if the image was not modified.
* Simplify code to prevent un-needed metadata work when the image isn't changed
Simplify code to prevent un-needed metadata work when the image isn't changed. Thanks Crutkas for the guidance.
* Add small delay to the search query before displaying results
* Reduce user input throttle to 150ms and fix issue with autocomplete text updating
* Add System.Reactive.dll to Launcher installer
* [ARM64]Build pipelines
* Fix localization in pipelines (no arm64 al.exe)
* Use lowercase arm64 for CI
* Build installer to arm64 folder and arm64 name
* Don't run arm64 tests, as there's no agent for it
* Fix pipeline conditions
* Divide symbol files by platform
* If SVG file is bigger than 2MB save it as html page and navigate WebView2 to it
Reason: WebView2.NavigateToString() has 2MB string limitation
* Cleanup and add limitation link to comment
* Lower the limit after testing it
* [ARM64] Cleanup PowerToys solution configuration
* [ARM64] Add Bootstrapper support
known issues:
- wix doesn't have arm platform -> using x86 instead, resulting in wrong default installation dir and inability to detect 605
- current winappsdk 1.0.3 installer is corrupted -> contains x64 packages
- we're still using hardcoded vcredist for some modules
* Remove duplicate Stylecop PackageReference
* [ARM64] Cleanup StylesReportTool configuration
* [ARM64] fix configurations for bootstrapper
* fixes
* [ARM64] VCM fix
* [ARM64] Fix LinkIncremental conditional in StylesReportTool
* fix#2
* perfect forwarding
* [ARM64] Switch to call vformat to compile with later MSVC toolkits
* Updated expect
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* Migrate PowerRename to Unpackaged WinUI3
* [ARM64] PowerRename (#18002)
* Migrate PowerRename to Unpackaged WinUI3
* Removed Project Config and update PlatformToolset to v143
* Updated solution config
* Migrate PowerRename to Unpackaged WinUI3
* Fixed configs changed from ARM64 build
* Left one project out of fix
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* Minor fixes
* Remove PowerRenameUILib from signing list - doesn't exist anymore
* Remove PowerRenameUILib from move_uwp_resources.ps1
* Bring back old dir name to see if localization is preserved
Remove move_uwp_resources.ps1 - not needed anymore
* Remove UWP localization docs part
* Fix minor UI quirk
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* search for contains too
* fix startup types & new filter
* fix spelling
* small fixes
* fix spacing
* Improve order and layout
* clean up
* switch to nullable int32
* Move Preview strings
Use as short (yet descriptive) a text as possible - at least for the Headers. The rest should be in Descriptions.
* Rewrite pointers for thumbnails
I made them `...ToggleSwitch_Thumbnail_extension` to be consistent with the `_Preview` pointers, and to represent UI hierarchy.
* sloppy typo
* Added a few example extensions
And a few tiny things.
* dots
* G-code spelling
* Update expect.txt
* Fix misplaced tag + icons
e914 = "Printer3D"
* Fixing error
Must've been line 634
* fix
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* etc to ellipsis
Small thing, but I see the translation value
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* CIEXYZ values should be labeled in upper case "XYZ" instead of "xyz"
* CIEXYZ values should be labeled in upper case "XYZ" instead of "xyz"
Updated example in settings UI
* Make launcher detect portable installations of VS Code in system PATH
This should fix#13362
* Move closing parenthesis
* remove trailing whitespace characters
* [Settings]Upgrade to WinAppSdk 1.0.3
* [Settings]Use the correct runtime identifier
* [Settings]Include native dlls after proper publish
* Update docs as well
* Removed x64 specific conditions
* Added RuntimeIdentifiers and ensured Platforms aligned
* Removed x64 specific configuration and normalized PropertyGroup configuration
* Removed Platform conditions from ItemDefinition and Property Group
* Adding Project Configurations to PowerToys.Interop
* Updated solution config for common projects
* [PT Run] UnitConverter float number precision is not enough
Introduced rounding to significant digits, not to digits after decimal separator
Added conversion to string to fix last digit errors
* [PT Run] UnitConverter float number precision is not enough
spell check fixes
* [PT Run] UnitConverter float number precision is not enough
renamed test method to HandleNanometerToKilometer
* [PT Run] UnitConverter float number precision is not enough
result copied to clipboard will not have unit, just a number
* Move MarkdownPreviewHandler from WebBrowser to WebView2
* Disable context menu
Open links in default browser
* Update expect.txt
* Move SvgPreviewHandler from WebBrowser to WebView2
* Migrate SvgThumbnailProvider from WebBrowser to WebView2
* Migrate CustomControlTest to WebView2
Remove WebBrowser related stuff
* Update tests
* Revert GetThumbnail return value
Disable javascript dialogs in WebView2 for Svg thumbnail and preview
* expect.txt
* Increase timeout for Markdown tests
* Add sleeps
* Add zero check
* Web search does not use my default browser #16549
updated DefaultBrowserInfo logic to get program location from shell open command not icon location
* Refactored DefaultBrowserInfo to start default browser with arguments specified in shell/open/command value for the browser.
Added fallback to Microsoft Edge if no browser information available.
#16549 Web search does not use my default browser
* fixed comment
#16549 Web search does not use my default browser
* removed resolution from device id
* update applied layouts device id
* app zone history device id updated
* moved old device id parsing
* updated tests
* remove resolution in the editor
* remove resolution from device id generation
* update editor params
* Added ARM64 Platform to Directory.Build.props
* Added ARM64 project configuration for Cpp.Build.props
* Added ARM64 configuration to solution. Keeping at x64 for now
* [FZEditor]Add narrator info to thumb buttons
* [FZEditor]Narrator information about the zones
* [FZEditor]Allow text to be focused for narrator
* Address PR feedback
* Make sure the *signed* MSI makes it into the bundle
* And don't let Bootstrapper force-build MSI
* Revert "And don't let Bootstrapper force-build MSI"
This reverts commit 77cea11008.
* try this wacky hacky sacky thing
* Revert "Revert "And don't let Bootstrapper force-build MSI""
This reverts commit 7d25009932.
* Revert "try this wacky hacky sacky thing"
This reverts commit 0fea6df635.
* ah the things i hate
* [PTRun][Program]Fix bug when renaming url shortcut
* Try to use the old full path for old app removal
* Guard against links to nowhere
* Fix test to have link point to existing location
* Update src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/Win32Program.cs
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Fix nit.
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Fix the path to the icon
* Need the reverse when not working in isolation
* Updating some tray behaviors
* Making sure we have constants separately, and a filter
* Update tray logic
* Remove unnecessary menus
* Cleaning up how exit is done.
* Adding handling for tray commands
* Update with settings for dynamic times
* Proper reaction to timed keep-awake from the tray
* Proper handling for timed keep-awake from the tray
* Making sure that code analysis works correctly
* Making sure that errors are set in native calls
* Making sure the right icon path is used after testing
* Proper disposal of the context menu
* Fix tray designation
* Update with latest information on changes to the builds
* Update with guidance on files
* Update changelog doc
* Fix project file
* Remove `VTABLE`
* Increase precision of CIEXYZ conversion matrix
The output has 4 decimal places, so the conversion matrix should be more than 6 digits to avoid round-off errors.
* Match unit tests and docs with new CIEXYZ conversion matrix
* Remove negative sign from zeros
I generated the unit test results from other color-management systems.
It seems that they sometimes output negative zeros for very small values.
Let's just remove the negative signs for aesthetic.
* Fix spelling mistakes in ColorConverterTest.cs
* Explain how to obtain CIEXYZ unit test reference values
* Explain the CIELAB output is D65 adapted version
* Add words related to CIEXYZ conversion to spellcheck bypass list
* [VCM] Track newly added microphones when [All] is selected in the settings
* [VCM] handle case when no mics are left
* fixup: fix crashes onNotify
* fixup: fix build
* Add common csproj/vcxproj settings to Directory.Build.props
* Set TreatWarningsAsErrors to true for all c# projects
* Minor fixes in unit test projects where Analyzers where not enabled before
* Clean up Directory.Build.props
* Remove properties from ImageResizer csprojs files
* [Community.PowerToys.Run.Plugin.VSCodeWorkspaces] Enable analyzer and fix warnings
* fix CA1824: Mark assemblies with NeutralResourcesLanguageAttribute
* Register .markdown with the correct handler
* Fix spelling
* Move file name extensions from "expect.txt" to "excludes.txt"
* Revert "Move file name extensions from "expect.txt" to "excludes.txt""
This reverts commit 710d5a4968.
I must have misunderstood the instructions.
* Revert "Register .markdown with the correct handler"
This reverts commit 5c37b009f3.
* Work in progress
* Code ready for testing
* Update excludes.txt
* Update excludes.txt
* Update modulesRegistry.h
* Update modulesRegistry.h
For the want of an exclamation mark, a kingdom is lost!
* Update modulesRegistry.h
* Work on modulesRegistry.h per code review in 16180
Removed all previous exclusions from Monaco preview handler. Added a new exclusion: SVGZ. It's a binary file that Monaco cannot, in any meaningful way, read.
* Update expect.txt
* Update accessory files
* Disable machine-wide checks for performance reasons
* [FancyZones] Set correct corner preference when snapping windows on Windows 11
* Changed magic numbers to use enum values.
* Added missing words to spell check list.
* Changed note: to todo: for future visibility
* Changed note: to todo: for future visibility
* Import vdh from poc
* last changes
* push changes
* small change
* add error handling to vdh
* last changes
* make spellchecker happy
* last changes
* last changes
* spell check
* fix settings defaults
* Improve WindowWalkerSettings class
* add comment
* New settings and improvements
* new features
* subtitle and tool tip
* spell fixes
* small fixes
* fixes
* Explorer info
* spell fixes
* fixes and CloseWindow feature
* last changes
* first part of implementing KillProcess
* killProcess Part 2 & Fixes
* text fix and installer
* update access modifiers
* some fixes
* update dev docs
* fix dev docs
* dev doc change
* dev docs: add missed infos
* dev docs: add link
* Update src/modules/launcher/Plugins/Microsoft.Plugin.WindowWalker/Components/WindowWalkerSettings.cs
* fix build
* resolve feedback
* fix settings
* add tests
* ColorPicker: Enable analyzer and fix warnings
* Suppress CA1711:Identifiers should not have incorrect suffix
Renaming everything would be a lot of work. It does not do any harm if an EventHandler delegate ends with the suffix EventHandler.
Besides this, the Rule causes some false postives
* CA1838:Avoid 'StringBuilder' parameters for P/Invokes
We are not concerned about the performance impact of marshaling a StringBuilder
* resolve pr comments
* Initial commit - simple idea for a time zone plugin
* Translations, better search results, copy to clipboard, cleanup
* fix typo
* Add shortcut search and prepare JSON for later usage
* Fix typo
* Use timezone Data only from JSON
* Exclude json file from spell checker
* fix wrong dst
* Improved results (title, subtitle, tooltip) and fix namespace/class problem
* Always show full offset (-##:## and +##:##)
* Add and show timezone names (first pass)
* Fix typos
* fix build
* JSON: fix wrong minus sign and put extra country info the end
* Improved Subtitle for many matched countries and allow full offset search (+ and -)
* Allow more than one names for time zones and remove leftover
* Add military time zone names, and fix name result
* Only use one JSON entry for one time zone
* Use TimeSpan for offset, use build-in calculation for time in time zone
* add descriptions for JSON schema
* Fix typos
* Split out names in separate properties
* Add many time names, time zone names and shortcuts
* Add additional options and most code documentation
* Fix unreadable TimeSpans in JSON and rename helper class
* Fix not allowed commas in JSON file
* Cut to long time and time zone names in title
* Fix missing results for names and offsets
* Better result and show only one result when offset are identical (respect daylight saving time)
* Show generic name fot time zones without names
* Typo fixes
* Fix not working serach by shortcuts
* Fix german resx file -> english resx file
* Translate all names and countires
* Fix not working context menu
* Typo fixes, fix wrong shortcut in names, comments, few better variable names
* New symbols - thx to niels9001
* Search by shortcuts for time names
* update schema
* Add more time zone names and shortcuts (second pass), make spell checker happy
* Reduce matching checks
* Show shortcuts in tool-tips, avoid string converting
* Show only names that match the query
* Make all translatable (Part 1)
* Make all translatable (part 2 of 2)
* XML Doc
* Fix plugin name (type)
* Fix Typos
* Add TimeZone Plugint to WXS
* Add TimeZone plugin to sign pipeline
* Add Documentation
* Remove double spell entries
* Remove TODO leftovers
* Fix for results with no countries
* Fix typos
* fix typos
* Fix broken siolution after rebase
* Update target framework to make build happy
* fix wrong guid count in WXS
* fix wrong output folder (setup wasn’t found files)
* Address feedback from @jsoref - fix spell check
* typo fix - one leftover in expect.txt
* Switch to .NET6 and update dokumentation
* Address feedbacks, and fix search bug
* fix installer build error
* fix spellchecker
* Address feedback from @htcfreek
Co-authored-by: Sekan, Tobias <tobias.sekan@axp-consulting.de>
* [Oobe]Add a What's New page
* Show What's New when version changes
* Add link to GitHub
* Use generic icon for now
* Get only the latest 5 releases
* fix spellchecker
* rename last_version_run.json
* Remove UserControl_Loaded
* Remove installer hash from the release notes
* constexpr some strings
* Add check your internet connection message
* Update nuget packages
* try to fix build (Microsoft.UI.Xaml)
* Removed dlls because there are not needed anymore
* Add binaries System.Text.Json.dll (5x) to wxs file
* Downgrade System.IO.Abstractions.* due to breaking changes
* Update Microsoft.NET.Test.Sdk
* Revert MSTest.* to 2.2.3
* Removed Search Interop tlb package. Added minimal Search API Com implementation
* Added CSearchManagerImp
* Updated Main with proper reference to CSearchManagerImp. Switched WindowsIndexerTest to use Indexer.Interop classes
* Updated with proper SearchAPI Interop implementation
* Deleted initial CSearchManager file that didn't work
* Updated namespaces to match folder structure
* Removed the interfaces and classes not being used from SearchAPI. Added suppressions
* Updated spell check. Renamed CSearch call back to original
* Fix spell check
* Switched back to original class name for Search Manager in tests
* Removed Microsoft.Search.Interop.dll from setup
* Removed Microsoft.Search.Interop package from PowerLauncher and signing scripts
* remove unnecessary sdk
* add .vsconfig to sln, remove dead link
* spell check
* Update WindowsTargetPlatformMinVersion to 18362 (Minimum required version in README.md)
* Some code cleanup
* Making sure that the native wrapper lives in Awake.Core
* Adding power state logging, as well as termination entries.
* Better logging.
* Typos and logging improvements
* Remove dependency
* [PT Run] Refactoring: combined all NativeMethods.cs files for plugins into Wox.Plugin/Common/Win32/
* Fixed spell check
* [PT Run] Changed NativeMethods.Helpers to Win32Helpers (seperate class) to not conflict with Microsoft.PowerToys.Settings.UI.Library.Helpers
* [PT Run] Renamed Constants.cs to ConstantsAndStructs.cs and moved all of them from NativeMethods.cs
* [PT Run] Merged ConstantsAndStructs.cs into NativeMethods.cs and renamed Constants to Win32Constants to avoid conflicting
* [PT Run] Added missing summaries + fixed missed refactored method
* [PT Run] Use using directive instead of alias + updated method call for .Net 6
* [PT Run] Fixed missed using alias + spell check
* Update release.yml
* Update ColorPickerUI.csproj
* Update release.yml
adding in .net6 sdk and moving stuff sooner
* Update release.yml
* Update release.yml
* fixing test
* Forcing vs17 and adding in .net 6 sdk
* forcing pool
* fixing issues in each pipeline
* moving release .net up
* fixing diff on agent version for nuget installer
* Removing system.text.json.dll as included now
* getting unit tests it looks like to work
* updating everythign to .net 6 minus wxs for runtime
* unit test still have
* getting 6.0 stuff up and going. Terminal Unit tests have file max length issue ....
* found i think the last .net 5 issue
* looks like i wasn't aggressive enough with the 6.0 upgrade
* Getting stuff .net 6 buildable again
* tweaking with new stuff for installer
* Update newly added merged projects to .net 6
* Fix HeatDirectory bug on VS 2022
* Settings still needs JSON dependency
* Revert "getting 6.0 stuff up and going. Terminal Unit tests have file max length issue ...."
This reverts commit b9cb4586dc.
* Update sln version
* supress obsolete warning, since this is not a new development
* Partially Revert "Getting stuff .net 6 buildable again"
This reverts commit 42b4201c6b.
* supress another obsolete warning, since this is not a new development
* Reduce the unit test project name to avoid MAX PATH in CI
* Upgrade project's toolset in the main solution
* Some TODOs to review HttpClient usage
* Upgrade project toolsets from other solutions
* Install .net 6 instead of .net 5
* Fix issue when disabling PowerToys Run on .net framework 6
* Update docs for Visual Studio 2022
* PR comments: manually upgrade missing VS 2019 references
* Discard no discard values to solve compiler warnings
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Create Readme.md
* Update Readme.md
* Rebased to master
* started integrating
* Resolve merge conflict
* Fixed merge conflict
* Edited expect.txt
* Tried implementig interfaces
* Push
* Push
* push
* push
* Deleted no longer used files
* push
* push
* Thanks @jaimecbernando for helping
* can load via url
* getting stuff semi stubbed out
* full render without passing vars
* making sure we clearly label the file was us
* push
* push
* push (does not work)
* Push
* push
* Added file size limit of 3 Kilobyte in standalone App (MoncaoPreview)
* Added monacosrc to excludes.txt (spell checker)
* Fixed XAMLHost loading issue and changed namespace of Settings.cs
* push
* Restructred some code in MonacoPreviewHandler (not functional)
* MonacoPreview changes:
Added maximal file size and error message as values in Settings.cs
Increased maxFileSize to 10 KB
Renamed variables and formed code according to style guidelines
Added many comments
Deleted usused code
Added unimplemented(?) NavigationStarted method to prevent navigation in WebView
Fixed scrollbar issues (Not beautiful, but still better)
Removed never seen laoding window
Added some debug information as well as some Exceptions.
MonacoPreviewHandler Changes:
Changed order of code executions (still not usable)
* Push
* Push
* Push
* push
* Oh my god, it works
* Added loading screen and resize
* Added some comments, changed variable names and integrated some stuff from MonacoPreview to MonacoPreviewHandler;
* Monaco Preview Handler:
* Removed accessibilityhelpurl
* Made background of loading screen like theme selected
* dev tools open now in Debug mode automatically
* Fixed error message for too big file size
* push
* Fixed a tiny bug
* Updated a NuGet Pasckage
* Removed some to-do points in FileHandler.cs and added them to #14957
* Removed some to-do points in FileHandler.cs and added them to #14957.
Supressed a warning and styled a function better in PrebiewHandlerCommon
* Fixed 2 comment typos and a font that didn't load. (Sadly his required enable CORS again :( )
* Removed old standalone project
* Removed old unused files & rebase to master #1
* Deleted everything from the monaco source code expect the minified version
* Push
* Added summary of all functions. Restructred/simplified/clarified some code.
* Added resources
* Update bug_report.yml
* Update translation_issue.yml
* Update expect.txt
* Update ProofOfConcept/MonacoPreview/monacoPreviewHandler/index.html
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* Update ProofOfConcept/MonacoPreview/monacoPreviewHandler/MonacoPreviewHandlerControl.cs
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* Update ProofOfConcept/MonacoPreview/monacoPreviewHandler/Resources.resx
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* Added some additional file types
* Added additional file types
* Moved to a json file for the available languages and some other changes
* Added error message when WebView2 is not installed
* Remoing throw error
* Update expect.txt
* Update excludes.txt
* Update excludes.txt
* Integrate Monaco preview handler into PowerToys
* Update excludes.txt
* Ignore .svg extension
* Update signing list
* Update signing list #2
* Changed monaco string
* fix
* Fixed wrong JSON field and changed date of Copyright
* Added check if WebView is installed
* Added error when webview2 is not installed
* Increased file size limit to 50kb
* Added new file generator for languages.json
* Remove unvisible symbol at the beggining of the file
* Regenerate resx file
* Update MonacoPreviewHandler.csproj
* tweaking script to ignore 1.0 check on theme dll
* Update src/modules/previewpane/MonacoPreviewHandler/Properties/Resources.resx
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
* Update src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
* Update src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
* Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
* Update excludes.txt
* Update src/modules/previewpane/powerpreview/Resources.resx
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
* Check and install WebView2 if needed
* Run spellcheck script
* Update ESRPSigning_core.json
adding font
* Update versionAndSignCheck.ps1
adding fonts to verify
* Adding in Monaco usage
* Update NOTICE.md
* Update ESRPSigning_core.json
* expect.txt update
* Use Common.UI/ThemeManager.cs
* No user facing strings should reference Monaco
* Fix build error
* monaco devdocs (#15691)
* Create update-monaco-editor.md
* Update and rename update-monaco-editor.md to readme.md
* Update doc/devdocs/modules/powerpreview/monaco/readme.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Update doc/devdocs/modules/powerpreview/monaco/readme.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Update doc/devdocs/modules/powerpreview/monaco/readme.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Update readme.md
* Update readme.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Fix WebView installer condition
* Using system.text.json
* Update ESRPSigning_core.json
* Remove Newtonsoft.Json.dll from installer
* Revert "WinUI bump (#15707)"
This reverts commit b6a207c4b6.
* Revert "Update Settings.UI.csproj (#15704)"
This reverts commit 1a25dacc73.
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Aaron Junker <aaron.junker@sus.schulen-stadtsh.ch>
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* [PT Run] Browser path bug fix
* [PT Run][URI/Web Search] Refactoring
* [PT Run][URI] Small change
* [PT Run] Small modifications
* [PT Run] Refactoring: moved common files to Plugins\Common and added references to plugins that use them
* Fixed spelling
* [PT Run][URI] Small adjustment
* [PT Run] Fixed refactoring error
* [PT Run] Reversed refactoring NativeMethods.cs into single file
* Fixed PR changed files list (unchanged files appeared modified because of different encodings)
* [PT Run] Moved BrowserInfo.cs to Wox.Plugin/SharedCommands and removed Plugins/Common
* [PT Run] Renamed BrowserInfo to DefaultBrowserInfo and made it static
* Minor modifications
* [PT Run] Fixed refactoring error
* Minor modifications
* [PT Run] Renamed Wox.Plugin.SharedCommands to Wox.Plugin.Common + small change
* Import files from old PR #15329
* Improvements
* hide uwp non-windows (#13637)
* update debug tool tip
* fix spelling and comments
* disable tool tip
* fix doc links
* remove obsolete using
* Update docs
* fix spelling
* rename elevation property and test method
* Add property <DoesExist> to WindowProcess class
* Close process handles correctly if not used anymore
* cleanup coed
* fix bug with sticky notes process
* add window class to tool tip
* small change
* make nativeMethods static class
* fix broken uwpApp property of WindowProcess class
* rename method
* Revert making NativeMethods class static. It contains instance members.
* improve loggign
* fix merge mistakes
* fixes
* remove obsolete delegate
* Improve SearchController to speed up search (#15561)
* add <IsShellProcess> property to <WindowProcess> class
* reorder code
* disable debug tool tip
* Update devdocs
* remove obsolete event handler
* update var name
* #15247 Powertoys Run | VSCodeWorkspaces- add support for vscode 1.64 new workspace.json file
* Get previous open workspaces for sqlite file
* check-spelling-bot Report fix
* add dlls to installer and set SqliteConnection to readonly
* Edit layout dialog title fix
* Added TextBlock in the contentdialog title to enable TextTrimming
* Fix text trimming and wrapping
* Too long name doesn't affect dialog width
Co-authored-by: niels9001 <niels.laute@live.nl>
* adding max length to hex textbox
* support hex code without hashtag
* new method
* Only user typed hashtag in text box
* code change
* set hex box casing to upper
* improve hashtag handling
* fix spelling and add comment
* spell fix
* fix condition and switch hex to lower case
* first try to fix with new idea
* small changes
* [PT Run] Updated QuryBuilder unit tests
* [PT Run] Updated QueryBuilder test
* [PT Run] Updated QueryBuilder test name
* Improvements
* Improve readability of test
* Improve Query-Tests for spellcheck
* clean expect.txt
Co-authored-by: cyberrex5 <ghassanjad2004@gmail.com>
* [PT Run][New Plugin] Web Search
* [PT Run][Web Search] Added plugin files to WXS and YML
* [PT Run][Web Search] Added docs
* [PT Run][Web Search] Added new option + minor modifications
* [PT Run][Web Search] Fixed a bug + minor refactoring
* [PT Run][Web Search] Updated docs and changed icons
* [PT Run][Web Search] Fixed capitalization for spell check + fixed icons
* [PT Run][Web Search] Fixed renaming
* adding cyberrex to name
* [PT Run][Web Search] Fixed typo in doc screenshot
* [PT Run][Web Search] Fixed plugin not working with Opera browser + minor modifications
* Fixed merge and typo
* [PT Run][Web Search] Removed globalization error suppression + changed action word
* [PT Run][Web Search] Added LocProject.json + minor modifications
* [PT Run][Web Search] Using plugin icon to not confuse with uri plugin + changed action word because another plugin uses it
* Added Firefox to spell-check expect.txt
* [PT Run][Web Search] Fixed bug with opera + changed default setting's value to false
* Added sourceid to spell-check expect.txt
* [PT Run][WebSearch] Changed action word
* Making Web plugin a dependency for launcher like other plugins
* [PT Run][Web Search] Now using JsonDocument + better way of getting browser name
* [PT Run][Web Search] Fixed bug
* adding in DLL to signing for release.yml build
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* [ColorPicker] Adjust window positioning in bottom & right corners of the screens
* Make it window height dependent
* Right side dead zone dependent on window width
* excluding launcher from fancy zones setting GWL_STYLE WS_POPUP
fix WS_POPUP type
* Migrate spelling-0.0.19 changes from main
* rebase fix
* fix spellcheck
Co-authored-by: Dustin L. Howett <duhowett@microsoft.com>
* lets move unneeded stuff out
* adding in direct installer yml
* forcing internal
* Create release.yml
* Update release.yml
* Try to use the right feed, scrub
* What if we don't do package ES...
* Update release.yml
* Update release.yml
* Update release.yml for Azure Pipelines
* Update release.yml
* Update release.yml
* seeing where we are in the world
* adjustment
* fixed a copy/paste
* think we're in root, having a dir command just to verify
* start copying over core files
* adding in tools + setup
* fixing telem
* ci: fix could not lock config file flakiness
* forcing root dir
* attempting to copy files again
* adding notes
* lets try this again
* trying a quicker way to figure out root
* maybe it is the slash not being there looking at docs deeper
* playing with slashes
* signing
* tewak
* fixing file path for signing. suprise, app driver and PT have different paths :)
* getting my sign on
* tweaking json
* Adjusting files and getting output from build
* fixing yml copy and paste oops
* fixing spacing ...
* getting bootstrapper added
* moving file and seeing if we can't get this pipeline goodness working
* trying my next oops at powershell ...
* shift in version location i bet this will fail, doing a parallel build to verify
* trying again for powershell passing in arg
* Dustin showed me the error
* forcing as string
* fdsfasd
* forcing as string
* getting sad panda
* trying to force array
* lets try this on single line ....
* i made a major oops
* Sync'ing naming, adding in signing for msi & boot
* breaking up signing into smaller bits
* grr, not everything committed
* Added a lot of comments
* fixing installer signing path
* fixing paths
* seeing if this fixes some of the signing quirks
* removing 3rd party double, removing the pipeline call
* centeralizing again
* more consolidation
* Going a bit more wide
* going very wide
* seeing if i can't do a dual but more targetted list
* think having leading slash caused a failure
* looks like the esrp does not verify paths don't exist
* fixing 3rd party
* reseting old stuff so old pipeline still works
* resetting version setting
* [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026)
* Fix localization
This commit makes a few changes:
1. It introduces a couple scripts for moving localization files
around based on Touchdown's output shape. They are well-documented.
2. It rewrites portions of the RESX->RC converter to avoid resgen and
handle the new touchdown language types.
* I forgot the cardinal rule of using YAML: Don't
* Fix duplicate keys in Keyboard Editor!
* Up the timeout
* Update the language list in the wxs
* Use IsPipeline
* Special case SvgPreviewHandler >:{
* Push this down to Clint's branch: fix the publish profile
* Reinstate the call to publish.cmd
* Document it
* build the publishing rules
* Remove the GitSubmodules hack
* Restore CDPx move_uwp_resources
* Don't need this any more! spelling.
* adding spelling
* sorting alphabetical
* fix spelling
* shifint to new dll naming
* Move GcodePreviewHandler's Resources to follow the preferred C# format
* Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format"
This reverts commit daf4c7ef3a.
* remove SVG workaround - requires #15054!
* cleaning up commented code dustin said i could delete :)
* fixing tab vs space
* Update release.yml
Fixing Dustin comments
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
Co-authored-by: Dustin Howett <duhowett@microsoft.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Dustin L. Howett <dustin@howett.net>
This commit introduces a localization pipeline that submits our
localizable content to Touchdown, the modern localization service we
should have been using the whole time.
The pipeline is scheduled to run after the end of the workday around 6-7
PM Pacific (depending on daylight saving time) if there have been any
code changes on main.
Some of our localizable files were out of spec, so I moved them into the
right places and the right format.
* metadata.Clone() fails also for situations where we still can recover metadata
metadata.Clone() is also an expensive operation (deep copy) and it is not necessary anymore as we build up the metadata object from scratch anyway
* If an exception is throw here something is seriously wrong with the metadata structure
We take all metadata we have read so far an write it to the resized image
* add log statement
* Adjust test written for #2447 as we are able to copy the metadata now
* Improve documentation
* Adds the GcodeThumbnailProvider
* Registers the GcodeThumbnailProvider
* Adds Settings support
* Reverts solution changes back to original
* Corrects "Gcode" text with "G-code"
* Adds gcode thumbnail setting description
* Follow up on PR review comments
* Adds GcodePreviewHandler
* Follow up on PR review comments
* Renames assemblies following #14903
* Adding in InfoBar warning when not running as admin
* small newline text shift
* rolling out a text fix i didn't mean to commit
* defaulting to off, there are other spots is seems like
* [Runner] introduce is_enabled_by_default method and keep VCM disabled by default
* getting file back in good state
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
* #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>
* 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
* [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
* [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>
* [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
* 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
* 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
* [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>
* 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
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
* 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>
* 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>
* 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
* 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>
* 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>
* 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
* 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>
* 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
* 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
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.
* 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
* [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
* [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
- 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
* 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
## 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
* Update VideoConference.xaml
Changed one incorrect icon (color picker was used) and two MDL2 icons because of #10331.
* Update VideoConference.xaml
fixed typo
* 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
* Set name to listview
* More fixes
* Narrator improvements
* Tab order
* Color order
* Color label fix
Co-authored-by: Niels Laute <niels9001@hotmail.com>
* Custom button with automation event on click
* Rename MyButton to ClickAutomationEventButton
* Rename property to OnClickAutomationValue
* Remove unneeded line
- 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
* [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>
* [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.
* 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>
* 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
* 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
* 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
* 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>
* 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
* 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>
* 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>
* [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>
* 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
* [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>
* 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>
* improve sorting vscodeworkspaces
* String.empty to string.empty. use ToLowerInvariant() instead of ToLower().
* more String.empty to string.empty. use ToLowerInvariant() instead of ToLower().
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.
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.
* 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>
* 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>
* new plugin checklist
* Fix paths
* spellings, paths
* fix pattern
* make checklist items more specific
* Make check boxes, enforce existence of .NET 5 dependency
* 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>
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.
* 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
* 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>
* 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
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.
* 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.
* 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>
* 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
* 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>
* 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>
* 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
* 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>
* [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
* 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.
* 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
* 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>
* 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
* 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>
* Add CodeQL Analysis (#8598)
* Create codeql-analysis.yml
* Add manual build steps for C++
* Add nuget restore
* Remove autobuild for C#
* Add CodeQL and Javascript to spell check
* Update to run daily only
Since the build performance is around an hour, this is a bit too slow for a PR build.
* Update codeql-analysis.yml
testing on push, will remove later
* Update codeql-analysis.yml
removing python
* Update codeql-analysis.yml
adding in comments then will remove push once this is verified working
* Update codeql-analysis.yml
Co-authored-by: Justin Hutchings <jhutchings1@users.noreply.github.com>
* bugreport: move to tools
* bugreport: skip packaging installers, format time with seconds, remove monitor-info-report tool
* bugreport: move BugReportTool to Tools folder
* fix CI
* fix CDPX
* added diagnostic tool project
* Add copy to a temp folder, escape private info and zip it
* Added diagnostic tool to installer
* zip folder path as cmd argument
* renamed project to BugReportTool
* do not use precompile headers for release
* Added zip lib
* Added license
* Delete old zip source files
* Use fork version while PR is not merged
* fix spelling
* exclude deps folder from spell checking
* exclude only zip
* removed redundant configuration from zip project
* fix spelling
* Add error handling to implementation
* Added build of BugReportTool.sln to pipeline
* Delete redundant info from BugReportTool.vcxproj
* Deleted submodule
* Added submodule
* fix build
* Restore nuget packages for BugReportTool.sln on CI
* spelling fix
* Use SettingsAPI
* changed git submodule
* added new sensitive info
* Removed zip project
* use json.h, add date to zipfolder, handle zip is not created
* fix spelling
* delete bad_alloc catch
* add new sensative info
* report monitor info
* report windows version
* fix spelling
* delete platform specific configuration
* fix output
* Don't capture Win+Arrows if there's no zone layout
* Reuse a variable instead of calling
* Renamed a Windows event
* Add an underscore to fix misspelling
* Implement File Watcher in FancyZones
* Simplify code, address PR comments
* Add check to result of CreateEventW
* Rebase fix
Removed unneeded newline. If we keep it now, VS will just remove it some other time.
* Move retrieveing file attibutes to PowerRenameRegex
Move file attributes unit tests to PowerRenameRegexTests
Add file time field to MockPowerRenameItem
* Add file attributes unittests to PowerRenameManagerTests
* Change variable name
* Rearrange function arguments
* Check if file attributes are used only once
* Change variable name LocalTime -> fileTime, date -> time
* Set fileTime as a member of PowerRenameRegEx rather than passing as an argument
* Change function name isFileAttributesUsed() -> isFileTimeUsed()
Check before resetting fileTime
* Fix small bugs
* Fix typos
* Refactor for readability, move free calls to reachable places
* Fix search for area empty bug
searchTerm being empty is not an invalid argument rather it must return OK without any operation
Tests must check if Replace() returns S_OK becuase later it checks its result
* Check return values of method calls in PowerRenameManager
Remove received argments checks from some methods because argument being null or empty string doesnt mean it is invalid or method fails
* Fix formatting. Remove overlooked comment. Fix error message.
* Change HRESULT declarations according to coding style
* Fix unhandled case. Refactor.
* Converted to SDK Style project and upgraded to .NET Core 3.1
* Cleaned up formatting
* Swapped System.Windows.Interactivity.Wpf for Microsoft.Xaml.Behaviors.Wpf
* More replacements to Xaml Behaviors
* No need for App.config
* Profile file cleanup. Added System.Drawing.Common package
* Moved entry point to a new Program.cs
* Set StartupObject to ColorPicker.Program
* Renamed assembly to ColorPickerUI to resolve conflict with module
* Added proper output path
* Updated list of files needed for installer
* Added InvariantCulture string comparion for ColorToHex.
Updated pipeline.user.windows.yml
* migrate Microsoft.Interop.Tests to target .NET Core 3.1
* put the stylecop nuget and stylecop.json
* refactor Microsoft.Interop.Tests.csproj to have x64 platform target
* Update build-powertoys-steps.yml
Getting interop tests actually on CI
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Fixing issue when color picker was frozen because other application was locking clipboard
* Fixed another issue where holding activation keys constantly would trigger show color picker numberous times and it would cause some events to be attached multiple times
* Initial Port of Wox.Plugin.Sys
* Add Unit Tests for Microsoft.Plugin.Sys
* Modified Microsoft.Plugin.Sys.UnitTests Properties
* Microsoft.Plugin.Sys x64 Launch
* Fix Styling for Microsoft.Plugin.Sys.UnitTests
* Fixed Misspelling
* Remove Any CPU from Configuration Manager
* Removed Old Icons and Added New Images
* Updated Titles for Localization and Added & Updated Light/Dark Theme Icons
* Added Light/Dark Icon Theme Unit Tests
* Updated QueryTest Expected Results for Microsoft.Plugin.Sys.UnitTests
* Added Spell-Check Expects for Microsoft.Plugin.Sys
* Updated Spell-Check Expects for Microsoft.Plugin.Sys
* Corrected Format in Microsoft.Plugin.Sys
* Corrected Descriptions and Added Comments for Localization
* Added StyleCop and Version Props
* Corrected Format of Microsoft.Plugin.Sys.Main
* Updated Unit Tests for Microsoft.Plugin.Sys
* Updated Spell-Check Expects for Microsoft.Plugin.Sys
* fixing build issue
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Ground base for WPF version of V2 color picker
* Added theming support
* Layout fixes, added UWP listview styling
* Updated UI
* Added theming and Fluent to colorpicker. Styles cleanup
* Added animation for "color copied" message
* Added color format control, testing transparency
* Added roll-over behaviour, selectable textbox and right-click context menu
* Revert "Added roll-over behaviour, selectable textbox and right-click context menu"
This reverts commit af35a23532.
* Delete context menu, mouse-over clipboard button and selectable text
* Implemented remove color command, set color editor topmost
* Missed some changes
* Added all currently supported color formats into editor, added support for future custom formats
* Added missed file
* Reverted WindowStyle = None
* Added drag and drop reorder behavior for color formats
* Removed custom close button, UI cleanup, added scrollviewer to colorformats
* Added close button
* Added color picker color control to configure current color
* Added possibility to add and remove color representations, commented out drag&drop reorder behavior
* Calculate color variations of the current color, on click adds a new color into the history
* Fixed reopening of editor, added rgb textboxes into color picker control, moved add color formats button at bottom
* Improved color schemes, similiar to Windows 10X
* Updated icon, window name and XAML cleanup
* Moved strings to Resources file
* Added Narrator support
* Accesibility stuff
* Revamped color picker color - now 3 sliders to configure color - hue, saturation, value, added bidirectional of setting values HEX/RGB/Sliders, validation of rgb and hex input
* UX improvements
* Removed color format management
* Removed colorformat hide context menu
* Improved colorpicker UI
* Added colorformats XAML to Settings
* Reverted runner change
* Margin fix
* Updated height of colorpicking tooltip
* Using dynamic width for color picker based on a content
* Fixed build
* Added H,S,V labels in front of gradient sliders in color picker control
* Color shades borders are now buttons, improved narrator support
* Added tabindexes
* Accesiblity improvements
* UI bugfix
* Fixed issue with occasional issue with saving color/removing colors due to locked settings file, decreased number of writes into settings.json, fixed throuttledActionInvoker to run only once, added rangeobservablecollection data type to be able to control notifications in observablecollection
* Updated installer with newly added libs
* Hide settings button since required functionality is not available yet
* Added comments to resource file
* Added reorder and enable/disable color formats from settings,
* Show message when colors history empty, open color editor in the center of screen
* Styling updates to now color selected popup
* Added horizontal gripper icon on pointerover
* Typo fix
* Added new color formats into editor
* Added 3 different activation actions to choose from
* Added new color formats into settings for editor
* Update src/core/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Updated expect.txt
* Removed MahApps
* Removed MahApps from installer for Color Picker module
* Updated settings page
* Typo fix and moved string to Resources
* Typo fixes and string improvements
* Fixing build
* Replacing DispatcherTimer with Timer from System.Timers
* Fixing tests
* adjustments
* adjustments
* removed periods
* Fixing build
* unifiying language
* Added using statement in tests
* Disabled drop shadow for Color Picker and Zoom Window due to poor performance
* Stylecop fixes
Co-authored-by: Niels Laute <niels.laute@live.nl>
Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Update primary desktop data after virtual desktop switch
* Don't remove zeroed-GUID inside RemoveDeletedDesktops method
* Minor refactoring in VirtualDesktopUtils
* Use std::vector::empty check instead of comparing size with 0
* fix compilation issues for VS 16.8.* release
* - VS 16.8 changed its template instantiation model, so now the compiler checks the syntax used in template even when it's not instantiated. we were relying on that behavior to declare the list of required localized strings from a shared header => replacing that template with a macro.
* - fix 3 C++ `const auto&` bugs the new compiler was able to uncover
* - enabled /Zc:twoPhase- for bootstrapper and PowerToysSetupCustomActions to workaround 10.0.17134.0 headers' issue.
- PowerToysSetupCustomActions.vcxproj now uses 10.0.17134.0 instead of "latest" SDK
* - PowerToysSetupCustomActions project leverages `goto` operator's power extensively, and the new compiler was able to uncover new uninitialized variables behavior, restructured declarations and changed `NULL`s to `nullptr`s.
* - Fix unit FZ unit test compiler error
* - format FZS unit test source file
* fixup fz tests
* use /Zc:twoPhase- for common-md as well
* Add boost-regex library
* If enabled use boost lib for regex
Add property `_useBoostLib` to `CPowerRenameRegEx`. If enabled for
replacements with regular expressions the Boost Library is used instead
of the Standard Library.
* Extend signatures to create RegEx with Boost
Extend create and constructor singatures of `CPowerRenameRegEx` with an
option to enable (or disabled, which is default) the Boost Library.
* Verify Lookbehind fails with STD library
To verify that the boost library is disabled as expected, check if a
lookbehind fails.
* Add Unit tests for RegEx with Boost
Add unit tests to verify regex replacement with Boost Library. They are
copied and adapted from the Standard Library tests.
* Improve verify capturing groups test with Boost
It is possible to use a capturing group followed by numbers as
replacement if the group number is enclosed in curly braces.
Added test cases based on the Standard Library tests.
* Add useBoostLib to settings interface
* Get library option from settings object
* Reduce signatures of RegEx by "useBoost"
Remove the parameter added in 19105cf, as it became obsolete.
* Settings: Read useBoostLib from JSON file
* Add UseBoostLib Option to UI
* Boost Lib label states the regex syntax difference
* Fix Regex with Boost Lib tests
- Do not load settings another time in CPowerRenameRegEx ctor
- Set flag correctly in standard library regex tests
* Add "lookbehind" to dictionary
* change Library to lowercase, and also add a comment
As suggested by @enricogior.
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
* Change Library to lowercase and add a comment
As suggested by @enricogior.
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
No other usage of GetLastError has the result assigned to a variable first in this code, so it is better if we make check_user_is_admin the same in that regard.
* added some test config files
* Added tests for each powertoy to ensure that they don't crash even when there is a corrupt json
* Revert "Added tests for each powertoy to ensure that they don't crash even when there is a corrupt json"
This reverts commit fe3ed40902.
* Revert "added some test config files"
This reverts commit d08928423a.
* add a settings utils to test that a default item is returned when the json file is corrupt
* Started work
* Good progress on D2D
* Visuals are good, functionality - almost there
* Opacity fix
* Animation works, WM_PAINT still doesn't
* Simplify code, remove flashZones, remove unused code
* Kinda works, but it's a bit laggy
* Works great, but needs refactoring/performance improvements
* Move code from .h to .cpp
* Polished the functionality
* Fix issue with changing monitors
* Rebase fix
* Finalize PR before review
* Couple two members of ZoneWindowDrawing
* Also request a low latency lock when hiding the zone window
* Move textFormat and textBrush out of the loop
* Thread-safe initialization
* Rebase fix: zone numbers
* Make zone borders crispy
* Fix offsets
* Another rebase fix
* Fix DPI bug
* CA1052: Static holder types should be Static or NotInheritable
* CA1041: Provide ObsoleteAttribute message
* CA1062: Validate arguments of public methods
* CA1304: Specify CultureInfo / CA1305: Specify IFormatProvider / CA1307: Specify StringComparison for clarity
* CA1802: Use Literals Where Appropriate
* CA1820: Test for empty strings using string length
* CA1707: Identifiers should not contain underscores
* CA1805: Do not initialize unnecessarily.
* CA1822: Mark members as static
* CA2227: Collection properties should be read only
* CA1054: URI parameters should not be strings
* CA1031: Do not catch general exception types
* CA1060: Move P/Invokes to NativeMethods class
* CA1308: Normalize strings to uppercase
* CA2000: Dispose objects before losing scope / CA2234: Pass System.Uri objects instead of strings
* CA2234: Pass System.Uri objects instead of strings
* CA1044: Properties should not be write only
* CA1716: Identifiers should not match keywords
* CA2007: Do not directly await a Task
* CA2007: Do not directly await a Task (Suppressed)
* CA5350: Do Not Use Weak Cryptographic Algorithms (Suppressed)
* CA1724: Type names should not match namespaces (renamed Settings.cs to PowerToysRunSettings.cs)
* CA1033: Interface methods should be callable by child types (Added sealed modifier to class)
* CA1724: Type names should not match namespaces (Renamed Plugin.cs to RunPlugin.cs)
* CA1724: Type names should not match namespaces (Renamed Http.cs to HttpClient.cs)
* CA5364: Do not use deprecated security protocols (Remove unused code)
* Enabled FxCopAnalyzer for Wox.Infrastructure
* fixed comment
* Addressed comments
- Changed Ordinal to InvariantCulture
- Added comments
- Removed unused obsolete code
- Removed unused method (CA2007: Do not directly await a Task)
* Addressed comments - fixed justification for CA1031 suppression
* Addressed comments - Fixed justification for CA1031 suppression in Wox.Core/Wox.Plugin
* Remove redundant default initializations
* Implement IDisposable in HotkeySettingsControl
* Mark classes and methods as static
* Move Interop.ShowWindow to NativeMethods class
* Fix string-related warnings
* Remove unused argument for KeyEventHandler
* Log caught general exceptions
* Use safe navigation operator for null argument checks
* Suppress CA2007 warnings and enable FxCop
* Suppress warning for unused event handler params
* Use TryParse in ImageResizerPage
* Use ConfigureAwait(false) for CA2007
* indexer drive detection helper code to not show the warning for a single drive
* removed interface from the namespace due to stylecop
* removed interfac which no longer exists
* filter out only fixed drives in the system and ignore the removable drives
* changed text to not all files are indexed, from not all drives are idnexed
* add additional info in the comment
* Added CultureInfo (CA1307: Specify StringComparison for clarity / CA1304: Specify CultureInfo)
* Check arguments and throw ArgumentNullException (CA1062: Validate arguments of public methods)
* Changed url parameter from string to System.Uri and added null checks (CA1054: URI parameters should not be strings)
* Rethrow exception without specifying the exception explicitly (CA2200: Rethrow to preserve stack details)
* Changed from Collection property to methods for PluginMetadata::ActionKeywords (CA2227: Collection properties should be read only)
* Changed from Collection property to methods for Result::GetTitleHighlightData (CA2227: Collection properties should be read only)
* Made Collection property read-only and added parameter in constructor for Result::SubTitleHighlightData (CA2227: Collection properties should be read only)
* Made Collection property read only and added parameter in constructor for ResultUpdatedEventArgs::Results (CA2227: Collection properties should be read only)
* CA1507: Use nameof in place of string
* Removed initialization for ThemeManager::_disposed (CA1805: Do not initialize unnecessarily)
* Changed Query::Terms array property to ReadOnlyCollection and added private set (CA1819: Properties should not return arrays)
* CA1060: Move P/Invokes to NativeMethods class
* CA1806: Do not ignore method results
* CA2101: Specify marshaling for P/Invoke string arguments
* Removed unnecessary empty interface IFeatures (CA1040: Avoid empty interfaces)
- Removed IFeatures interface and references
- Renamed IFeatures.cs to IContextMenu.cs according to guidelines
* Added comments for CultureInfo (CA1307: Specify StringComparison for clarity / CA1304: Specify CultureInfo)
* Added localization for Wox.Plugin and localized strings in FilesFolders.cs
* added a json exception catch statement as a fail safe to create a fresh configuration file when settings is corrupted
* change formatting
* add issue link
* add extra info in the comment
* Enable FxCop for Microsoft.PowerToys.Settings.UI.Runner
* Log exceptions in WindowsXamlHost_ChildChanged
* Add Debugger.Break in debug mode
* Move Debugger.Break into Logger class
* Added localization doc
* Update
* Added details for C++ projects
* Added table of contents
* Added more info about C++ and C# loc
* Update localization.md
* Update localization.md
* Update localization.md
* Align zone numbers between Editor and FancyZonesLib
Use zoneId on win+arrow
* Update tests
* Fix crash
* ZoneId starts from 0
* Define ZonesMap type
IFACEMETHOD_ macro is having trouble processing
std::map template when expanding, so return type needs
to be predefined
* Address PR comment
* Address more PR comments
* Handle .at
* Add shell page headings
* add headings for all the PTsettings
* add heading level 1 for the heading of each page
* Add heading level to the style instead of redifining it multiple times
* revert adding level2 for each control
* add heading level for run as admin because it does not follow the group style and rather the default style
* Moved Logger/Log.cs from Wox.Infrastructure to Wox.Plugin
- Installed Logger dependency in Wox.Plugin: NLog.Extensions.Logging
- Moved file Log.cs from Wox.Infrastructure/Logger/ to Wox.Plugin/Logger
- Moved file Constant.cs from Wox.Infrastructure to Wox.Plugin: This file was moved since Log.cs depends on this class
- Copied Wox.Infrastructure.Helper.NonNull to Wox.Plugin.Constant since Constant.cs depends on this method
- Replaced all "using Wox.Infrastructure.Logger" to "using Wox.Plugin.Logger" in all files as needed
- Replaced Wox.Infrastructure.Constant to Wox.Plugin.Constant in all files as needed
* Removed Nlog.Extensions.Logging from Wox.Infrastructure
* Added logging and suppressed general exceptions (CA1031: Do not catch general exception types)
* Resolved fxcop errors introduced by newly added Log.cs
- CA1307: Specify StringComparison for clarity
- CA2000: Dispose objects before losing scope
- CA1062: Validate arguments of public methods
* Replaced Wox.Infrastructure.Logger with Wox.Plugin.Logger
* Rename Interface to Interfaces in namespaces
* Rename Lib to Library in namespaces
* Rename project and directory and enable fxcop
* Add CA2213 suppression
* Minor fixes
* Added InvarientCulture info (CA1305: Specify IFormatProvider)
* Removed underscore from method names (CA1707: Identifiers should not contain underscores)
* Marked members as static (CA1822: Mark members as static)
* Removed initialization for DummyTestClass::IsFunctionCalled (CA1805: Do not initialize unnecessarily)
* Replaced Count with Any (CA1827: Do not use Count/LongCount when Any can be used)
* Changed WoxTest::DummyTestClass to private (CA1034: Nested types should not be visible)
* Suppressed warnings for uninstantiated internal classes used as TestFixtures (CA1812: Avoid uninstantiated internal classes)
* Enabled FxCopAnalyzer for Wox.Test
* Added suppression message for CA1812 in GlobalSuppressions.cs and removed inline supression messages (CA1812: Avoid uninstantiated internal classes)
* Changed InvariantCulture to Ordinal where appropriate
* Addressing comments: Updated justification for CA1812 in GlobalSuppressions.cs (Avoid uninstantiated internal classes)
* remove functions which mages cannot interpret and add in functions which mages can
* set validResult when the result is explicitly created to differentiate it form an empty CalculateResult
* Add condition to check that the input is not ending with a binary operation
* add tests for all the cases
* use valid result while calculating hash as well
* add test for e is valid within regex
* removed i from regex
* remove valid result to use decimal? instead
* remove duplicate rand and exp
* Enable Run as Admin Arguments
* Use a seperate function for both methods which were generating ProcessStartInfo fixes missing LnkResolvedPath missing in contextmenu (E.g. Shortcuts / PWA's).
* Update tests
* Move ProgramArguments to Result class
Co-authored-by: Roy <royvou@hotmailcom>
* Add AutomationProperties.Name to focusable elements
* Add AutomationProperties.Name to focusable elements
* Use AutomationProperties.LabeledBy with buttons / text boxes
* Address PR comments
* Add HSL and HSV color formats + cleanup + docu
* Fix build problem (lang version)
* Add CYMK color + replace float with double values
* ups - fix cmyk text format
* fix wrong settings text + doc typo fix
* Address feedback
* Address feedback + fix to small window size
* adress feedback + more cleanup
* typo fix
* Avoid possible division by zero + unit test
* Address feedback - move all represenation to own helper class + UnitTest
* Address feedback -> switch to mstest framework
* Create kbm md file
* Documented KBM main module (without links)
* Completed docs for backend except links
* Added docs for UI and created doc file for KBM Common
* Added docs for KBM common and for tests
* Add table of contents for all files
* Started updating links
* Added some more links
* Updated links
* testing link
* Resolve all links on keyboardmanager.md
* Added links in KBM Common
* Added comments for keyboardeventhandlers
* Added links for KBM-UI
* Added mention of shortcut to key
* Add section link for settings update code.
* Include more information on updating remap tables
* Fix autocomplete text issue on query change
* Update from invariant to ordinal case for exact byte to byte matching
* Add tests for checking when autocomplete should be empty
* Architecture and (#7267)
* Added debugging steps for PT Run
* Updated architecture markdown for launcher
* updated project architecture markdown for launcher
* Added telemetry docs for launcher
* Added the basic folder structure and files
* Added a basic overview of all common functionalities of the plugins
* Added information about the functioning of the calculator plugin
* update score section of overview
* added information about the uri plugin
* added info about the indexer plugin
* Added the documentation for the indexer plugin
* Added information about the program plugin
* Added info about the shell plugin
* updated some plugin info and added information about the ww plugin
* documenting the folder plugin
* updated window walker docs
* dev docs for the folder plugin
* added images to each of the plugins
* Added link to pt run documents
* fix typos and some minor corrections
* Add table of contents for pt run dev docs
* Fix image path and project link for Wox.plugin
Co-authored-by: Divyansh Srivastava <somm14divi@gmail.com>
* created a folder for settings and added an overview, hotkey information
* basic structure for communication between settings and runner
* Added information about the IPC communication between settings and runner
* Added information about the communication between the settings process and modules
* Added details on backward compatibility
* brief overview on settings utils
* added an overview of the viewmodels and anomalies
* minor modifications
* Settings v2 dev docs (#7334)
* Added settings architecture and tech stack dev docs
* Added telemetry and updated architecture docs for settings v2
* Fix image link in ui_architecture markdown
* Added table of contents for settings v2
* Correct file path for ui architecture image
* nit fix in table of contents heading
* Add doc for xaml island tweaks
Co-authored-by: Divyansh Srivastava <somm14divi@gmail.com>
* Added get_key to powertoysmodule interface
* Replace get_name with get_key
* Implement get_key function in modules
* Make key global constant in each module
* Update settings v1 to use key to load and save files
* Fixed fancyzones and preview pane unit tests
* Removed setings unit test as the case is not covered anymore
* Add constant files for modules and use it to reference module key
* Add constant string files to colorpicker, launcher and shortcut guide
* correct sunction signature in settings helper
* Fix powerpreview merge conflicts
* nit fix with include statement location
* add check for fields in from_json_string
* Updated preview pane tests with correct from_json_string signature
* Correct Image resizer naming
* Roll back changes for adding check for property and version
* Fix image resizer not working
* FxCop Fixes- added InvarientCulture info, suppressed warnings for general exception types
* Used IsNullOrEmpty to test for empty strings (CA1820: Test for empty strings using string length)
* Check if arguments are null and throw ArgumentNullException
* Removed unused function argument from PluginsLoader.cs
* Addressing comments- Using attributes to suppress errors for general exception types
* Addressing comments- Using attributes to suppress errors
* Addressed comments and changed InvariantCulture to CurrentCulture/Ordinal where appropriate
* Addressing comments - catching and logging specific exception in FontHelper.cs
* Suppress warnings for read-only collection properties (see code comments)
* Call ConfigureAwait on tasks
* Add CultureInfo and StringComparison policy for certain string operations
* Add checks and exceptions for null arguments to public methods
* Rename RaisePropertyChanged to NotifyPropertyChanged
* Suppress CA1000 warning on SettingsRepository class
* Implement Disposable pattern in HotkeySettingsControlHook
* Modify null argument handling in KeyboardManagerViewModel::CombineShortcutLists
* Add action keywords for each plugin
- Added keywords for each plug-in
- Change window walker search to use Query, not RawQuery (to get rid of action keyword)
- Make sure plug-ins that have action keywords as well as are in global list don't get added twice
All tests passed that passed before I started
Addressing issue #5823
* Fix bad formatting from the merge
* Do not add global plug-ins if we have an action keyword
Note side effect: you will not not be able to search for things that start with one of the plug-in keywords.
* Missed merge conflict repair!
* Revert "Do not add global plug-ins if we have an action keyword"
This reverts commit e3b0ecd708.
* Adjust keywords to suggested ones
* No need to ubild a query if we aren't going to use it
Didn't quite get the if statement right the first time I put it in.
* Do not add global plugins if we have an action keyword
This means, especially without a space, that global plugins do not become part of the search. Which really narrows down the search results, nicely.
* Update keywords as requested in the PR
* Modify shortcut to key code more similar to shortcut to shortcuts code. Manually tested cases
* Fixed existing tests and fixed scenario with other keys pressed and action key released
* Fixed dummy key usage
* Updated comments and removed dummy key usage in key to shortcut remaps
* Added tests for disable and shortcut to key. Pending tests for dummy key
* Added test cases for each usage of dummy key event
* Remove redundant check
* Pass zoneId on zone creaton and make it const
Refactor IZone and Zone - make methods const
and remove SetId
* Update tests
* Fix Grid layout zone order
* Improvements in enumeration of available screens (work areas)
* Minor code style improvement
* Address PR comments
* Store map of display device name to device index
* Address PR comments
* Update comment
* Break when suitable device is found
* Added PowerLauncher resource files
* Fixed typo in language
* Updated localized .NET framework projects to include all resx files
* Fixed typo in FZEditor.csproj
* Added FZ Editor (.NET framework) resource dlls
* Updated pipeline
* Tweaked artifact statement to get all resource dlls in pipeline
* Fix SvgPreviewHandler resx inclusion in csproj
* Added condition to allow local MSI builds to run without resources
* Generalized directory code
* Added all resources that are to be added from C# projects, Settings UWP pending
* Added markdown prev handler as keypath
* Added loc script for Settings to move resw files to UWP file format
* Separate markdown and svg resource components to allow guid auto-generation
* Removed old image resizer resources
* Fixed formatting
* Changed tabs to space
* Made drawing zones not clog message processing
* Fixed synchronization bugs
* call BufferedPaintInit
* Some refactoring, the animation is back
* Rename a function
* Align parameters
* Mark methods static and replace Count() with Length
* Use IsNullOrEmpty for null string checks
* Remove redundant initializations to default values
* Use nameof(property name) in place of string literals
* Add NativeMethods class
* Rename property getters in KeysDataModel & AppSpecificKeysDataModel
* Remove underscores from method names
* Mark Helper class static
* Address comments & typo fixes
* Add EncoderGuid property and fix failing build
* Update binding in GeneralPages.xaml
* Commented out enable/disable for File Explorer
* Revert UI changes
* Disable the toggles if PT is not running elevated
* Fixed compilation errors in tests
* Cleaned up preview pane code to separate thumbnail and preview panes as separate classes
* Fixed broken settings format and added elevation check and registry updated required logic. Preview Handler tested manually working, Thumbnail Enable/Disable needs to be fixed
* Updated Thumbnail enable/disable logic and added warning messages
* Update tests for File Explorer
* Fixed RegGetValue failing in Release config
* Renamed new classes
* Split wrappers for disable to work
* Modified enabled flag check to also check if user is on new settings. Fixed casing issue in powerpreview.h that caused a dialog prompt on first launch after install
* Update fontweight and margin
* Fixed release build not working
* Move UseNewSettings usage to powerpreview.cpp to avoid tests breaking. For new settings the enable check is done in constructor and for old settings it is done in enable
* Update src/core/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Update src/core/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Update src/core/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Moved dup code to method
* Use correct versions of general settings for backwards compat test
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* compare config files
* create settings files
* updated path check
* reverted color picker changes
* added test files
* removed settings uralted files
* Modifying directory structure and adding properties for backcompat test.
* Updating Unit test to use mock repositories.
1) BackCompatTestProperties exposes mock repository implementation because SettingsRepository is a singleton, and settings utils isn't typed.
2) BackCompatTestProperties, encapsulates logic to verify that the correct file was read from.
3) Validating each file is read twice. Once by the original file, and once via the view model.
* Adding 18.2 settings files.
* Fix compiler errors from latest merge
* Adding v0.19.2 test files.
* Adding in 0.20.1 settings. Removing 0.20.2 (as this was a dev build number)
* Adding settings tests for 22.1
* General Settings should update version when they don't match
* Adding v0.22.0 files
* Removing not settings related files from TestData for PT Run 21.1
* Referencing module name as *Settings.ModuleName in tests. Except for ImageResizer
* Using ImageResizerSettings to use Settings for the module name.
* Setting AllPlugins to empty list in case PluginManager.Save/Load/ReloadData is called before plugins are loaded
* Fixing fxcop errors
* using named parameters as per review feedback
Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>
* Unlock mutex before ResetModifierForLowerLevelKeyHandlers method to avoid crash if two instances of KBM are running
* Added alias for Shortcut DWORD variant to clean up code
* Removed mutex usage in single key remap method and added GetSingleKeyRemap
* Added more alias
* Moved to boolean disable remapping
* Added missing ! in condition
* Remove lock statement from bad auto-merge
* basic logic working
* Added a literal for ignore flag which cna be shared by all the files
* Added a condition that the other modifier keys should not be pressed
* Added comments to describe each scenario
* sometimes when multiple modified keys were involved the shift+tab key press was also being invoked, so added an additional check in the IsValid function
* use variable for vk_tab
* remove new line before initializing dwextraInfo
* move flag check if the filterKeyboardevent function
* use windows.system.virtualkey.shift instead of defining a constant for the shift key code
* removed latest settings to use internal settings instead. Removed the validity check while still within the hotkey other than if it's tab or shift+tab
* add a function to send input to the system instead of duplicating the send input code
* remove VKSHIFT declaration
* display all shortcuts/keys except tab and shift+tab
* remove header that is no longer needed
* Changed EnumerateFileSystemInfos to EnumerationOptions we don't have to catch the exceptions ourself.
* Change Matchtype to mimic old search method.
Co-authored-by: p-storm <paul.de.man@gmail.com>
* Matching explorer.exe also for explorer
Added unit test
Optimized multiple iterations for IProgram
* Fixed linter
Co-authored-by: p-storm <paul.de.man@gmail.com>
* Fixed the error that Files were named Folder
* Add and use resources in Results.
* Last item without resources in Plugin.Folder
* Changed to CurrentCulture, added N0 to Folder truncate warning.
Co-authored-by: p-storm <paul.de.man@gmail.com>
* Add exception handling to prevent program from failing due to error in one program
* Error handling for program path function
* Fix incorrect log value in ProgramLogger
* Made Plugin Folder Unit tests. Fixes '>' not recursive searching (with max). Added that paths with an UnauthorizedAccessException are ignored. Added expanding enviroment search.
* Fixed some merging errors
* Added feedback from review
* Made the change that ryanbodrug-microsoft suggested
* Stupid merge request... fixed
Co-authored-by: p-storm <paul.de.man@gmail.com>
* Added info on directly registering dll
* Update README.md
* Update README.md
* Update to regasm x64
* Add information related to assembly signing in readme preview pane handler
* Bold warning for taking registry route for installation
* changed default theme to be consistent with that of shortcut guide
* change the test to reflect that the initial settings theme or shortcut guide is 'system' and not 'light'.
* add a separate task to dequeue and create an app on installation
* Added tests to validate the behavior of the event handler
* release unmanaged memory
* validated that restart elevated and check for updates work.Removed isettingsUtils and reused settings repository
* reverted the name to ImageResizer instead of using ImageResizerSettings.Modulename to make it backward compatible
* Removed getSettings from moduleEnabled so that it doesn't have to reopen the file everytime
* To Lower to while checking the theme
* color picker doesn't reopen the file
* use the generalView model config directly for FZ
* Made the same change for all the viewmodels so that they access the general view model value directly instead of opening and reading the value from a file each time
* removed unused variable
* Fix initialization in tests
* should read the file only if general settings does not exist
* Added interfaces for all the powertoys to use the generalSettings singleton class
* Runner is responding to changes in settings, only issue is that every time the general settings page is loaded the information is being read because isInitialized property could not be ignored during serialization
* All tests pass
* Settings and runner are working as expected with the settings cache
* added a null check to read from the file only when the settings process is started
* use converter to deserialize an interface
* Renamed generalSettings within the cache to be called CommonSettingsConfig
* All tests pass, had to initialize the common settings config instance
* Added few comments to newly created classes
* encapsulating load and store of general view model
* reading from file is encapsulated
* settings and runner wotk with generic singleton
* Shortcut guide works as expected
* Fancyzones, shortcutguide and power preview use the settings repository and work as expected
* referencing GeneralSettings instead of the settingsRepository<GeneralSettings> within viewmodels
* unified access to General settings and removed the IGeneralSettingsData interface
* Passing settings to viewmodel as a parameter
* removed ISettingsConfig interface from the viewmodels which are not using the singleton to access settings
* have to use ISettingsConfig to use GetSettings
* refactored tests, all tests pass
* Added test for settingsRepository that a single instance is created
* Added comments and removed unnecessary headers/code
* added settings repository tests
* moq for each settings file
* Img resizer tests pass
* General tests pass
* FancyZones tests pass
* PowerPreview tests pass
* PowerRename tests pass
* shortcut guide tests pass
* Added GetModuleName to ISettingsConfig
* unify the way the Modulename is accessed. It was redeclared in multiple places and this would cause an issue if the name is changed only in one place. All the module names are accessed using the <T>Settings.ModuleName, eg: ShortcutGuideSettings.ModuleName.
* create PTRun settings file if it does not exist
* GetFile is now a private function. Modified the logic of KBM default.json access and PT Run so that we can re-use GetSettings instead of GetFile.
* Added UpgradeSettingsConfiguration to the ISettingsConfig interface so that the settings file can be upgraded based on some condition. Presently, only the GeneralSettings file is utilizing this to change the PT Version number based on the old PT version and the current PT version that it receives from the helper function. Verified that if the PT version is lower in the general settings.json file, settings saves the file with the new version info.
* The naming for the PowerToys was inconsistent and the variables were redeclared in multiple places. To have the settings.ModuleName as the main name, all other places should refer to that name. In the tests file the module name for ImgResizer was 'ImageResizer' and not 'Image Resizer'.
* renamed lock
* Remove unnecessary GetSettingsFileNAme function. It is no longer in use because the code does not use types to create a new BasePTModule object
* 1) Making Directory Methods private.
2) Removing the CreateDirectory / DeleteDirectory functionality from all Settings Unit Tests.
* Abstracting disk access via IIOProvider to be able to provide mocks for unit tests instead of writing to disk. This also prevents developers who are running unit tests from interfering with the PowerToys settings on their local dev box.
* Dependency Injecting stub SettingsUtils for all tests
* Removing ISettingsUtils from constructors of objects that need to be deserialized (ColorPickerSettings/PowerLauncherSettings) as this breaks System.Text.Json
* Removing unused namespace reference
* Removing redifined mock
* As per PR feedback. Stub Settings utils should work with any settings type if the intent is to compile / avoid null ref exceptions.
Strangely when implementing this fix it became apparent that a stub settings isn't enough, and disk access needed to be mocked. I can't explain why the tests were passing previously.
* Leveraging GetMockIOProviderForSaveLoadExists
* Added a keyboard hook to the runner
* Update RootKeyboardHook
* Enable reading the whole JsonObject property
* Renamed RootKeyboardHook to CentralizedKeyboardHook
* Fixed build break, changed callback return type to bool
* Added Hotkey struct which somehow went missing
+ Cherry-pick fixes
* Reorganized the kb hook
* Basic version works
* Various fixes
* Finishing touches
* Fix potential threading issue
* int -> size_t
* Add default initializers to the Hotkey struct
* Added a suggested comment
* Unified a constant
* Use C# classes instead of native calls for sync
* Added a claryfing comment
* Use std::move
* Renamed a method
* Possible fix for compilation errors
* Fix a regression
* Show a message on failure
* Added DISABLE_LOWLEVEL_HOOK support
* Allow running Launcher as standalone
* Rename string constants
* Add the setting for the Sensitivity Radius to JSON and the Editor
Use the setting when determining Zones to highligh
* Fix FanzyZones unit tests
Add test for Json upgrade
* Updated texts in FancyZone Editor
More Text to Resources / Use Resources
* Added constant for default of Sensitivity Radius
* When installing from scratch of when a new device is added set the sensitivity radius to the default.
Move all the constant values to a single namespace
* restore correct formatting
Co-authored-by: Remy Blok <remy.blok@prodware.nl>
* Implemented possibility to add commandline arguments in the Program Plugin
* Add missing return statement inc ommandArgumentParser loop
* Fix typos
* Fix Additional Typo
* Changed -c to /c to make it a valid cmd argument
* Added small comment about importance of order in _programArgumentParsers
Co-authored-by: Roy <royvou@hotmailcom>
* Do not zone window if it merges with other window (e.g. merge Chrome tab into other Chrome window
* Small move of func call
* Address PR comment
* remove include
* Address PR comment 2
* Added an Alt key hook
* Refactor a block of code into a method
* Again refactored existing code
* Apparently Win+Alt does not reach FancyZones
* Using Ctrl+alt instead of Win+alt for now
* It works
* Fixed VD change
* Remove unused member
* Fix compilation error
* Enable shrinking
* Fixed comments in .h files
* Remove newline
* Refactored a function into two
The next task is to simplify their code.
* Updated a comment
* Update a variable name
* Reverted to the old implementation of directional move
* More refactoring
* Remove space
* Fixed windows getting stuck
* Changed function name
* Updated UnregisteredApps code
* Added file type checking code and Folder and File classifications
* Added more file formats
* Removed run as admin for lnk folders
* Added script files as executable and changed hashset to case insensitive
* Removed runasadmin for generic files
* Removed FileTypes enum
* Extended ApplicationTypes enum
* Fix file format error
* Cleaned use of ApplicationType enum to public and match AppType and used ApplicationType in OnAppRenamed
* Modify tests to use ApplicationType enum
* Added tests for new App types
* Modified dummy appref
* Mock Directory.Exists and add tests for GetAppTypeFromPath
* Combined tests
* Adding FxCop to Microsoft.Plugin.WindowWalker
* Delete WindowResult.cs -- Fix for CA1812 WindowResult is an internal class that is apparently never instantiated. If so, remove the code from the assembly. If this class is intended to contain only static members, make it static (Shared in Visual Basic).
* Fix for CA1806 UpdateOpenWindowsList calls EnumWindows but does not use the HRESULT or error code that the method returns. This could lead to unexpected behavior in error conditions or low-resource situations. Use the result in a conditional statement, assign the result to a variable, or pass it as an argument to another method.
* Fix for: CA1066 Type Microsoft.Plugin.WindowWalker.Components.InteropAndHelpers.RECT should implement IEquatable<T> because it overrides Equals
* Fix for: CA1052 Type 'FuzzyMatching' is a static holder type but is neither static nor NotInheritable
* Suppress for CA1069 - These values are defined in
https://docs.microsoft.com/en-us/windows/win32/winmsg/extended-window-styles.
CA1069 The enum member 'WS_EX_LTRREADING' has the same constant value '0' as member 'WS_EX_LEFT'
CA1069 The enum member 'WS_EX_RIGHTSCROLLBAR' has the same constant value '0' as member 'WS_EX_LEFT'
* Supress CA1069
Code Description
CA1069 The enum member 'SWP_NOREPOSITION' has the same constant value '512' as member 'SWP_NOOWNERZORDER'
CA1069 The enum member 'SWP_FRAMECHANGED' has the same constant value '32' as member 'SWP_DRAWFRAME'
* Suprress CA1069 for ShowWindow values. See
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindow
CA1069 The enum member 'ShowMaximized' has the same constant value '3' as member 'Maximize'
* Fix code formatting error
* Fix for CA2235: Making POINT serializable
CA2235 Field MinPosition is a member of type WINDOWPLACEMENT which is serializable but is of type Microsoft.Plugin.WindowWalker.Components.InteropAndHelpers.POINT which is not serializable
CA2235 Field MaxPosition is a member of type WINDOWPLACEMENT which is serializable but is of type Microsoft.Plugin.WindowWalker.Components.InteropAndHelpers.POINT which is not serializable
* Fix CA2235 Making RECT serializable
CA2235 Field NormalPosition is a member of type WINDOWPLACEMENT which is serializable but is of type Microsoft.Plugin.WindowWalker.Components.InteropAndHelpers.RECT which is not serializable
* Fixes for CA2101 Specify marshaling for P/Invoke string arguments.
* Fixes for CA2007 Consider calling ConfigureAwait on the awaited task
* Fixes for the following (CA1822 / CA1801):
CA1822 Member 'OnOpenWindowsUpdate' does not access instance data and can be marked as static
Code Description
CA1801 Parameter value of method add_OnOpenWindowsUpdate is never used. Remove the parameter or use it in the method body.
CA1801 Parameter value of method remove_OnOpenWindowsUpdate is never used. Remove the parameter or use it in the method body.
* Fix: CA1710 Rename OpenWindowsUpdateHandler to end in 'EventHandler'
* Fix CA1822 Member 'GetProcessIDFromWindowHandle' does not access instance data and can be marked as static
* Fix CA1062 In externally visible method 'List<int> FuzzyMatching.FindBestFuzzyMatch(string text, string searchText)', validate parameter 'searchText' is non-null before using it. If appropriate, throw an ArgumentNullException when the argument is null or add a Code Contract precondition asserting non-null argument.
* Fixes for CA1304 The behavior of 'string.ToLower()' could vary based on the current user's locale settings.
CA1304 The behavior of 'string.ToLower()' could vary based on the current user's locale settings. Replace this call in 'FuzzyMatching.FindBestFuzzyMatch(string, string)' with a call to 'string.ToLower(CultureInfo)'.
Code Description
CA1304 The behavior of 'string.ToLower()' could vary based on the current user's locale settings. Replace this call in 'FuzzyMatching.FindBestFuzzyMatch(string, string)' with a call to 'string.ToLower(CultureInfo)'.
* Supressing warning for CA1814: Prefer jagged arrays over multidimensional however this might be something to consider if needing to optimize the window walker search.
* Fix: CA1062 In externally visible method 'List<List<int>> FuzzyMatching.GetAllMatchIndexes(bool[,] matches)', validate parameter 'matches' is non-null before using it. If appropriate, throw an ArgumentNullException when the argument is null or add a Code Contract precondition asserting non-null argument.
* Fix for CA1062 In externally visible method 'int FuzzyMatching.CalculateScoreForMatches(List<int> matches)', validate parameter 'matches' is non-null before using it. If appropriate, throw an ArgumentNullException when the argument is null or add a Code Contract precondition asserting non-null argument.
* Fixes for CA1806 Calls x... but does not use the HRESULT or error code that the method returns. This could lead to unexpected behavior in error conditions or low-resource situations. Use the result in a conditional statement, assign the result to a variable, or pass it as an argument to another method.
Using discard for methods that return void, and checking the hresult before returning parameters.
* Fix for CA1820 Test for empty strings using 'string.Length' property or 'string.IsNullOrEmpty' method instead of an Equality check
* Supress CA1031 Modify 'get_WindowIcon' to catch a more specific allowed exception type, or rethrow the exception
* Code Description
CA1062 In externally visible method 'List<Result> Main.Query(Query query)', validate parameter 'query' is non-null before using it. If appropriate, throw an ArgumentNullException when the argument is null or add a Code Contract precondition asserting non-null argument.
* Fixes For CA1304 The behavior of 'string.ToUpper()' could vary based on the current user's locale settings.
CA1304 The behavior of 'string.ToLower()' could vary based on the current user's locale settings. Replace this call in 'SearchController.SearchText.set' with a call to 'string.ToLower(CultureInfo)'.
CA1304 The behavior of 'string.ToLower()' could vary based on the current user's locale settings. Replace this call in 'Window.ProcessName.get' with a call to 'string.ToLower(CultureInfo)'.
CA1304 The behavior of 'string.ToLower()' could vary based on the current user's locale settings. Replace this call in 'Window.SwitchToWindow()' with a call to 'string.ToLower(CultureInfo)'.
CA1304 The behavior of 'string.ToUpper()' could vary based on the current user's locale settings. Replace this call in 'Window.ToString()' with a call to 'string.ToUpper(CultureInfo)'.
CA1307 The behavior of 'string.Equals(string?)' could vary based on the current user's locale settings. Replace this call in 'Microsoft.Plugin.WindowWalker.Components.Window.SwitchToWindow()' with a call to 'string.Equals(string?, System.StringComparison)'.
* Fix: CA1710 Rename SearchResultUpdateHandler to end in 'EventHandler'
* Fix CA1060 Move pinvokes to native methods class
* Fix: CS0067 The event 'OpenWindows.OnOpenWindowsUpdateEventHandler' is never used
1) Remove SearchController::OpenWindowsUpdateHandler(object sender, SearchResultUpdateEventArgs e) as it wasn't being called and was redundant with Update Search Text.
2) In Main.cs calling UpdateOpenWindowsList before UpdateSearchText so that the latest enumerated windows will be called.
3) Removing unused OnOpenWindowsUpdateEventHandler and related code.
* Revert "Fixes for CA2101 Specify marshaling for P/Invoke string arguments."
This reverts commit b3dfe07915.
* Fixing CA2101 by turning off best fit mapping for methods that require ANSI marshalling.
See: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2101?view=vs-2019
* Previous fix for CA1806 misunderstood int result as hresult. The actual return value is number of characters written.
NativeMethods.GetWindowText(hwnd, titleBuffer, sizeOfTitle);
* Previous fix for CA1806 misunderstood int result as hresult. The actual return value is number of characters written.
NativeMethods.GetClassName(Hwnd, windowClassName, windowClassName.MaxCapacity);
* Removing unused window code. This was done instead of validating fxcop changes in WindowIcon.
* Fixing typos in Window.cs (charachter -> character)
* Refactored logic and made it unit testable
* Changes after code review
* Added to build steps, and modified bracket to new class with unittest. Validates complexer cases now.
Co-authored-by: p-storm <paul.de.man@gmail.com>
* fxcop fixes
* more fixes, not done yet
* supressing 1031 and ca2000 since we are expressly disposing this correctly
* catching a possible crash due to null ref if run twice
* addressing feedback
* Updated error message when SetWindowsHookEx fails to show correct error message
* Added telemetry for exception in SG, FZ and KBM
* Rename exception to error
* Added an accessible name for the combo box
* Add name for the type shortcut button
* Add accessible name for the add new remapping button in both key remapping as well as shortcut remapping windows
* Set accessible names for the delete button
* Set the accessible name to the remapped to icon
* Fix the font icon issue faced while using narrator
* Fix accessible name for Add shortcut remapping button
* Set the accessible name for the target app text box when it loses focus
* fix comment
* Removed xaml files, added resx file and removed references for PowerLauncher project
* Added resx file for wox.plugin
* Moved Calculator resources to resx
* Migrated resources for Folder and Indexer plugins
* Migrated resources for Program and Shell plugin
* Migrated resources for URI and Window Walker
* Removed GetTranslation, tests need to be refactored
* Removed internationalization classes
* Removed Wox.Core.Resource references
* Fixed Programs plugin tests
* Fixed tests
* Removed language xaml files from installer
* Added locProject.json files
* Fixed resource not found error
* Remove unused strings from PowerLauncher
* Removed all unused strings
* Reverted addition of resx file for Wox.Plugin
* Added more resources for Folder plugin
* Added resources for Folder and Indexer plugin
* Added resources for Program, Shell, Uri and WW plugins
* Changed string from Wox to PT Run
* managed common files
* Add accessible names for the KBM key remapping list and list item
* Add accessible name for the shortcut list item
* Add accessible name for shortcut remapping list
* Added accessible names to all icons
* Add accessible name for image
* Fix font icon narrator issue
* Added context menu to first folder result
* Added context menu to first folder result
* Add localization for string in folder plugin
* Fixed issue with context menu not showing on first selected item
* Add exception logging
* Removed xaml files, added resx file and removed references for PowerLauncher project
* Added resx file for wox.plugin
* Moved Calculator resources to resx
* Migrated resources for Folder and Indexer plugins
* Migrated resources for Program and Shell plugin
* Migrated resources for URI and Window Walker
* Removed GetTranslation, tests need to be refactored
* Removed internationalization classes
* Removed Wox.Core.Resource references
* Fixed Programs plugin tests
* Fixed tests
* Removed language xaml files from installer
* Added locProject.json files
* Fixed resource not found error
* Reverted addition of resx file for Wox.Plugin
* Screen reader detecting List view
* Fixed narrator text for listview items and context menu items
* Renamed custom textbox to a more meanigful name
* Renamed custom textbox to a more meanigful name
* Fix formatting of LauncherControl.xaml
* Added support to control multiple elements
* Initial commit
* Code review changes
* Added PowerShell script to clean up PowerToys
* Removed commented code
* Added about and comments to script, fixed deleting of DontShowThisAgain directory inside registry
* Added type to var's, changed positions of comments
* Changed RegDeleteKey to RegDeleteTree
* Add DLIMAGES to WebBrowserExt ambient control flags to allow display of img links in SVGs. We still specify FORCEOFFLINE so we are not actually performing a download. This is to target SVGs with xlink base64 encoded data.
* Fix unit test
1) the same variables are being compared against each other.
2) BasePTSettingsTest doesn't override equals to Equals compares the objects. This change compares the json strings directly.
* Implement basic functionality
* Change approach.
move filter controls to manager
edit redrawing to always work with new GetVisibleItemCount() and GetVisibleItemByIndex() calls
* Fix performance issues. Some refactoring.
* Handle toggleAll correctly
* Handle dangling elements when filter is on
Make an item visible if it has at least one visible subitem
* Support filtering for selected and shouldRename
* Refactor for readability, remove useless member from PowerRenameUI
* Change variable names in PowerRenameUI for clarity
Use wrapper function RedrawItems() and SetItemCount() for consistency
* Handle result value properly in getVisibleItemByIndex()
* Add FlagsApplicable filter
* Add visual indication of filters
* Improve performance
Check if no filter is selected
Call SetItemCount() only when necessary
* Refactor for readability
* Get lock in setVisible()
* Change function names to camel case
* Change function names to start with uppercase
* Change filter behaviour when search area is empty
Show all elements when search area is empty and ShouldRename filter is selected
Avoid warnings
* Resolve conflicts
* Added localization code to pipeline and created one LocProject json for Settings
* Fixed typo
* Reordered nuget source
* Moved nuget install to restore step
* Added FZ.rc file to LocProj
* Added FZ resx file and modified rc file
* Fixed file names
* Changed to check folder for LocProject files
* Updated folder
* Changed directory
* Changed to src directory
* Changed language set and name format, removed rc file localization
* Added all projects with resx/resw files
* Added newline to end of file
* Removed nuget source as it is not used
* Updated comments
* Updated keyboard manager to use resx file
* Tweaked resources.resx and added it to project files
* Added comments and added in string table to resx script
* Remove change from bad merge
* Fix syntax error in convert stringtable
* Changed file type to None
* Migrated color picker's resources
* Migrated resources for Microsoft.Launcher
* Migrated resources for fancy zones
* Revert fancyzones changes
* Migrated resources for ImageResizer and modified script to add language specific code
* Added try catch and checks for modification to avoid unnecessary file creation
* Changed tab insertion to 4 spaces to avoid mixed file types in rc file
* Migrated resources for power preview project
* Added LocProject.json file for 5 projects
* added resgen exception check
* Moved non-localizable strings out of resx for powerpreview
* Move out hardcoded strings from dialog box and set them at runtime from string table
* Migrated resources for powerrename
* Added locproj
* Added missing ImageBase extern declaration
* Added build script in UWP UI project since PowerRenameExt is not referenced
* Resolved merge conflicts
* Added localization code to pipeline and created one LocProject json for Settings
* Fixed typo
* Reordered nuget source
* Moved nuget install to restore step
* Added FZ.rc file to LocProj
* Added FZ resx file and modified rc file
* Added localization code to pipeline and created one LocProject json for Settings
* Fixed typo
* Reordered nuget source
* Moved nuget install to restore step
* Added FZ.rc file to LocProj
* Added FZ resx file and modified rc file
* Fixed file names
* Changed to check folder for LocProject files
* Updated folder
* Changed directory
* Changed to src directory
* Changed language set and name format, removed rc file localization
* Added all projects with resx/resw files
* Added newline to end of file
* Removed nuget source as it is not used
* Updated comments
* Updated keyboard manager to use resx file
* Tweaked resources.resx and added it to project files
* Added comments and added in string table to resx script
* Remove change from bad merge
* Fix syntax error in convert stringtable
* Changed file type to None
* Migrated color picker's resources
* Migrated resources for Microsoft.Launcher
* Migrated resources for fancy zones
* Revert fancyzones changes
* Migrated resources for ImageResizer and modified script to add language specific code
* Added try catch and checks for modification to avoid unnecessary file creation
* Changed tab insertion to 4 spaces to avoid mixed file types in rc file
* Migrated resources for power preview project
* Added LocProject.json file for 5 projects
* added resgen exception check
* Moved non-localizable strings out of resx for powerpreview
* Migrated shortcut guide resources to resx
* Added LocProject.json
* Added localization code to pipeline and created one LocProject json for Settings
* Fixed typo
* Reordered nuget source
* Moved nuget install to restore step
* Added FZ.rc file to LocProj
* Added FZ resx file and modified rc file
* Fixed file names
* Changed to check folder for LocProject files
* Updated folder
* Changed directory
* Changed to src directory
* Changed language set and name format, removed rc file localization
* Added all projects with resx/resw files
* Added newline to end of file
* Removed nuget source as it is not used
* Updated comments
* Updated keyboard manager to use resx file
* Tweaked resources.resx and added it to project files
* Added comments and added in string table to resx script
* Remove change from bad merge
* Fix syntax error in convert stringtable
* Changed file type to None
* Migrated color picker's resources
* Migrated resources for Microsoft.Launcher
* Migrated resources for fancy zones
* Revert fancyzones changes
* Migrated resources for ImageResizer and modified script to add language specific code
* Added try catch and checks for modification to avoid unnecessary file creation
* Changed tab insertion to 4 spaces to avoid mixed file types in rc file
* Migrated resources for power preview project
* Added LocProject.json file for 5 projects
* added resgen exception check
* Moved non-localizable strings out of resx for powerpreview
* set the labeled by property of number box to point to the textblock heading so that 'Press duration before showing (ms)' string is read when the number box is highlighted
* Added comments on the accessibility issues that are dependent on the winui radiobuttons control
* Added information to the shortcut guide image on the right, it previously said only the word graphic
* Added an automation name to the custom list view
* Added an automation property for the text box
* changed the name to 'Configuration'
* Added an automation property for the combo box
* Add automation property for number box
* added a name for the times symbol
* Added the height name automation property
* Add automation property for image resizer size combo box
* Add name and uid for button
* Add automation name for the grouping of list views
* Add automation property label for number box
* Add name for the filename format edit box
* Added more information to the image
* Added wox code for tiling
* nit fixes in plating function
* Added feature to plate images based on theme
* Improve code readability
* added altform based paths
* Error handling in fetching logo
* Re add fix sequence empty exception on calling max in program plugin
* Move path and logo setting code to setIcon function
* Add corner radius to packaged apps icon
* Revert "Add corner radius to packaged apps icon"
This reverts commit 9be496e662.
* Returning individual queries for each plugin
* Changed cancellation token from Query type to directly using the rawQuery
* Changed the way we get the plugins for which we execute the query
* updated UpdateResultView to take a string instead of query
* Changed the way we set a query for each plugin
* removed todo comment
* global plugins are added as a part of the query builder
* Fix for plugin.json of Folder plugin being copied into the shell plugin
* >,< and : are not allowed in file paths and indexer creates a query which searches compares if a file name is greater than or lesser than the query
* Reformatted the regex
* catching the exception
* fixed existing tests
* modified it so that it works with action keyword as well as action keywords
* Added unit tests for non global plugins
* fixed test
* add back whitespace that was removed by mistake
* fix regex
* modified the cold start query
* remove extra condition
* terms being modified as expected
* used key value pairs to iterate through the dictionary
* renamed variable
* added check for an empty dictionary
* remove : because it may appear in the file path
* fix some whitespace warnings that were being treated as errors
* Added automation property for the button
* Added an automation property name for the glyph
* added name automation property for the shortcut window
* fixed the name null for zone highlight button
* fixed the name for the inactive color dropdown
* fixed the accessibility issue with the border color downdown button
* fixed the issue with dropdowb buttons
* add description to the image
* Capitalize Z otherwise it reads it in an expected way
* made the naming generic as it the custom window is not only specific to fancyzones but is also used by colorpicker and PTRun to set their shortcut
* Added the setting
* Refactored existing code, the main feature isn't implemented yet
* Renamed a method
* Updated a comment in IZoneWindow
* Added the zone selection algorithm, didn't test it
* Basic features work
* Single monitor cycling works
* Seems that the feature works well
* Polished the settings page
* Rebase fix
* Fixed a null pointer dereference
* Use classic if syntax
* Fixed bad indentation
How did these lines unindent themselves?
* Removed TODO comment
* Rebase fix
* Another rebase fix
* Removing non thread safe member variables, as well as the check to ensure that they have been disposed.
* Removing 'ExecuteQuery_ShouldDisposeAllConnections_AfterFunctionCall'.
This call previously required the use of member variables that were not thread safe. There is no reason to share this state across threads. Arguably this test verifies an internal implementation detail and is not suitable for a unit test anyway.
* Use only fff for milliseconds
* Refactor
* Handle double $ signs.
Move isFileAttributes check to Helpers.
Move File Attributes to perform before regex operation
* Fix typo
* Format date/time test
* Disable problematic features. Add comments
* Fix month/day names
* Add tests
* Add line between tests
* Add local month/day names support
* Make sure month/date names are capitalized
* Fix formatting
* Added localization code to pipeline and created one LocProject json for Settings
* Fixed typo
* Reordered nuget source
* Moved nuget install to restore step
* Added FZ.rc file to LocProj
* Added FZ resx file and modified rc file
* Fixed file names
* Changed to check folder for LocProject files
* Updated folder
* Changed directory
* Changed to src directory
* Changed language set and name format, removed rc file localization
* Added all projects with resx/resw files
* Added newline to end of file
* Removed nuget source as it is not used
* Updated comments
* Fixed formatting of json file
* Move loc step to end
* grouped radio buttons together
* grouping radio buttons together
* the word version is now read along with the version number
* Information regarding the image is read
* added a comment with the link to the issue in the winui repository
* attempting to run CI unittests as seperate passes for .netframework and .netcore, based on assemblies.
* Mocking CSearchManager to avoid the following exception running in CI.
Retrieving the COM class factory for component with CLSID {7D096C5F-AC08-4F1F-BEB7-5C22C517CE39} failed due to the following error: 80070422 The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. (0x80070422).
* Setting proper connection string for unit test.
* Mocking sqlQuery with FilePath vs m*
* Temporarily Ignoring test that is throwing exception in CI.
* added MSTest project
* enabled settings tests run in the build pipeline
* migrated KBM settings
* fixed typo
* moved the callback function initialization to the top
* fixed build
* Implemented "hidden files" flag in native Windows Search
* add missing file
* Change InitQueryHelper back to static
* Fix Line Endings
* Add files via github
Co-authored-by: Roy <royvou@hotmailcom>
* Added tests for loading and saving remappings in the UI
* Added tests for ApplyRemappings methods
* Moved single key remap validation logic to separate method so that it can be tested
* Added tests for single key remap validation in UI
* Refactored shortcut validation code to be testable
* Added some shortcut validation tests
* Refactored code to be cleaner
* Added tests for action key and modifier key selection and formatted file
* Added tests for selecting None
* Added tests for selecting Null
* Added tests for WinL error
* Added CtrlAltDel tests
* Added tests for MapToSameKey
* Added tests for mapping repeated shortcut
* Fixed const correctness
* Clean up type names with type alias
* Clean up ValidateAndUpdateKeyBufferElement tests and tweak ValidateShortcutBufferElement signature
* Fixed bug when None selected
* Refactored one test as per test case framework
* Cleaned up more tests
* Cleaned up buffer validation tests
* Added tests for KBM Common Helpers and Shortcut
* added MSTest project
* migrated general settings tests
* enabled settings tests run in the build pipeline
* added tests
* move relay command class to separate file
* added a foldername parameter for general settings view model
* Added the version number for all launcher projects so that they are in sync with the powerToys version number
* Removed internals visible to Wox.dll as we no longer have that library
* Adding FxCop to Microsoft.Plugin.Program.UnitTests
* CA1707: Identifiers should not contain underscores
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1707?view=vs-2019
* CA1307: Specify StringComparison
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019
* CA1812: Avoid uninstantiated internal classes
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1812?view=vs-2019
* More CA1707: Identifiers should not contain underscores fixes now that class is public
* More fixes for https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1812?view=vs-2019
List Repository and Win32ProgramRepository
* More CA1707: Identifiers should not contain underscores fixes now that class is public
ListRepository and Win32ProgramRepository tests
* Adding `ConfigureAwait(false)` and removing Assert.DoesNotThrowAsync as thowing an exception will fail the test anyway, and the DoesNotThrowAsync method can't be awaited.
Fix for CA2007: Do not directly await a Task (Consider calling ConfigureAwait on the task).
CS1998 This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
* Setting treat warning as errors to true for release and debug.
* Added regex code
* Added regex based method to remove all LIKE queries
* Made regex readonly
* Added plugin interface and code to execute slower plugins after the fast plugins
* Added scoring for indexer and added statement to remove old indexer results
* Refactored from master and added thread sleep for debugging
* Removed lock from indexer plugin and added checks to avoid exceptions
* Remove debug statement
* Removed selected index update and fixed tests not building
* Added tests
* Removed scoring
* Removed lock
* Resolve merge conflicts
* Moved dispatcher code to function and add parallel foreach loop
* Removed DelayedExec metadata and modified QueryForPlugin to run only delayed exec plugins when bool param is true
* Removed metadata from plugin.json
* url handler plugin
* updates
* Add seperate interface classes
rename to uri module
* Update path
* Update implementation to remove slow DNS lookup ( and let browser handle it)
* tabs to spaces
* - Update icon/assets
- Finalize Project
* Update wix project
* Implement UpdateBrowserIconPath
* Implemented Microsoft.CodeAnalysis.FxCopAnalyzers
* Add Language component to installer
* Update logic to determine icon
* Update Translation File to "Open in browser"
* Added test for typing http://test.com and which result to expect on each keystoke
* Implement StyleCop
* Added ipv6 tests
* Fix Solution LineBreaks
* Added Microsoft.Plugin.Uri as build Dependency
* Use ArgumentNullException instead of InvalidOperationException
* Fix wrong Directory in wix installer
Co-authored-by: Roy <royvou@hotmailcom>
* Added the setting
* Added a property to Editor Settings
This will be used later
* Fixed a bug in the previous commit
* Simplified a method
* Added snapping points to the editor
* Simplified a method in ZoneSet
* Updated ZoneSet testcases
* Add a method to FancyZones / ZoneWindowHost
* Almost works
* The editor now launches, but FZ does not understand the results
* Refactored some code
* Snapping to a zone by dragging seems to work
* Hotkeys seem to work
* Refresh the work area handler after changing settings
* Fixed zones not snapping to monitor edges when moved
* Remove unused method in FancyZones.h
* Fixed an issue with DPI awareness
* Renamed setting to spanZonesAcrossMonitors
* Renamed a function
* Fixed a bug with the magnetic effect
* Fix restoring window positions on layout changes
* set the name automation properties for the result elements
* Added name properties to search box
* removed the name for the grid
* localized the automation property names of the launcher control
* Localized the automation name property for the result list
* Uncommented out the Hide() function which was commented out to run Accessibility Insights
* modified resources from static to dynamic
* reverted access modifier to internal as we are no longer using this
* updated csproj file
* fixing MSB3052
* adding back in to unblock build
* More agressive refactor. Moved the define constant to wixproj and actual version into src file version prop
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
* getting app to not use it, now installer
* removed windowinput.dll from inputsimulator nuget package
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
* Enabling code analysis, and treating warnings as errors
* Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. Change either name to eliminate the conflict. Microsoft.Plugin.Indexer C:\repos\powertoys\src\modules\launcher\Plugins\Microsoft.Plugin.Indexer\Settings.cs 9 Active
* Removing keyword "Interface" from namespace to fix fxcop warnings
* Fixing static analysis warnings on ContextMenuLoader
* Fixing general exception warnings for static analysis
* Fixing public list variables, non static methods, and general exception warning
* Implementing IDisposable on OleDBSearch although in practice these objects were already being disposed.
Also Validated we were not using user input directly for sql strings.
* Removing VS generated comments from dispose methods as per PR feedback.
* Setting translated text to use current culture as per PR feedback.
* Explicity specifying 'internal' access modifier for Indexer 'Main' class, as per PR feedback
* Updating to FxCop 3.0.0
* Fixing PowerLauncherViewModelTest.cs. These OpenConsole functionality was accidentlly removed in a merge conflict, which broke the build. The build was fixed, but the unit tests didn't work. 034079b441 is the offending change.
* Color picker tests need to remove the ShellPage.DefaultSndMSGCallback on cleanup.
* Fixing casing that was updated in previous change.
* updated to Microsoft.Windows.CppWinRT.2.0.200729.8
* actually adding in packages.config and updating
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
* Removing hardcoded version numbers from c# telemetry events.
* Removing dependency on powertoysInterop for getting version string.
* Defensive checks around getting assembly version
* Added telemetry for Color Picker module
* Closing color picker with Esc and added a telemetry for that
* Missed update of csproj
* updated installer to include telemetry.dll for color picker
* removed telemetry.dll it was alrady there
* after review changes
* Added fast observable collection
* Updated to use 1 collection changed event per query
* Moved result updating to background thread
* Changed collapsed to hidden for virtualization
* Moved all token cancellations inside try catch
* Fixed freeze on deleting first letter
* nit fixes
* Moved update logic to plugin result loop
* Updated doc comment for AddResults function
* fix result clear on empty query
* fix report window error icon
* fix for launching web page to create new issue
* Made icon theme aware
* removed exception that was added by mistake
* modified the issue reporting link to match that in the settings page
* added comment
* Updated FZ page with new resizing logic
* Multiple UX fixes. Added updated resizing logic to other pages
* Added ImageResizer file format example snippets to tooltip
* Added warning icon in hotkeysettingscontrol
* Fixed formatting
* Keys label can now be set
* Replaced custom titleblocks with converter
* Updated strings
* Added correct links to the images. Added PT description on General page as well.
* Colorpicker image updates
* Rounded corners
* Fix
* Added back in correct subtitles
* Added union class
* Added key to shortcut backend implementation
* Added tests
* Added tests for CapsLock/modifier workaround for key to shortcut
* Added correct JSON loading step
* Cleaned shortcut remap code to use helper function for modifier keys
* Removed RemapKey class
* Enable Key to Shortcut in UI along with Type Shortcut in Remap key window
* Fixed orphaning and unsuccessful remap dialog
* Fixed column width
* Renamed second type key button
* Fixed Type Shortcut issues
* Fixed shortcut to key backend logic and manually tested most scenarios
* Added s2k in UI, manually verified its working
* Added one more k2s test
* Added tests for s2k
* Added tests for Caps Lock workaround in shortcut remaps
* Fixed formatting
* Fixed formatting
* Removed safety code since it can cause issues with code generated key up events
* Added test for key up scenario
* Tweaked warning text
* Tweaked text
* Tweaked text to fit in two lines
* telemetry additions
* Adjustments on default keystroke and removing key string whihc really didn't do anything
* moving color picker into alphabetical order
* removing removed property
* adjusting comment based on feedback from martin
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
* Renaming properties
* Update PowerLauncherProperties.cs
trying to kick CI
* PowerLauncher is way for naming.
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
* stack new zones
* Changed startup location of window editor
* Zones start in upper left
* Changed Focus Zone Initialization
* Zones.Add
* Reset zone position when it goes off screen
User has actually signed CLA, see #4722
* Clear capturing groups with more than 1 digit
* Fix issue in regex pattern
* Add unittest
* Fix regex patterns
* Edit unittest
* Fix regex pattern, add some tests
* Added functionality for left/right key navigation
* Update Behviour of left/right navigation
* Code cleanup
* Null check for results VM
* Added tests for results view model
* Update test namings
* Turning on static analysis and removing warning for NoMages.
* Fixing static analysis errors in NumberTranslator.cs
* Fix: Severity Code Description Project File Line Suppression State
Error CA1810 Initialize all static fields in 'Main' when those fields are declared and remove the explicit static constructor Microsoft.Plugin.Calculator C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Calculator\Main.cs 30 Active
* Throwing exception if arguments are null to fix static analysis errors.
* Ignoring CA1031
* Logging exceptions for Calculator queries.
* Remove os-detection project
* Removed os-detection project from sln
* Added os-detection to PowerToysInterop
* Removed references to os-detection and added PowerToysInterop.dll to the ImageResizer folder
* We should not deny other processes access to this item
* added a catch block for argument exception
* using memory stream instead of URI
* removed denyNone as it is the default config
* opens new settings search options
* Catching file not found exception
* removed unnecessary header files
* Added display strings and cleaned up code
* reduced the number of max results to 30
* added log statement for exception
* Added drive detection to settings ui but still doesn't reflect on toggling it
* added getter setter for DriveDetectionWarning
* Got UI and backend to work as expected
* Reading value from registry working as expected
* Added test for settings
* Added tests for drive detection
* rename drive detection
* Localized indexer string
* formatting
* resolving merge conflict
* Added theme aware warning icon
* changed text for the warning
* Added the warning images to the installer
* New color picker module - integrated from github.com/martinchrzan/ColorPicker
* Trying to fix build in github
* Replaced icon in the settings to use font icon instead of path icon
* Closing ColorPicker.exe when PowerToys process closed, added color picker project into runner dependencies, restoring cursors on exit, added ManagedCommon as a dependency into installer
* User/ryanbod/fix colorpicker release (#5046)
* Changing configuration to x64 instead of AnyCPU. The previous configuration was preventing the ManagedCommon binary from being loaded in Release.
* Updating MSI Installer with new icons (#4998)
* Adding missed dll into installer
* Fixed potential exception
* Creating settings.json on the first start when there are none, fixed default keyboard shortcut
* Added ColorPicker.exe.config into installer
* Start filewatcher after default settings file is created
* Fixing build
Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>
* Added file system wrapper and interface
* added win32program repository which would load store app and also handle new apps being added/deleted
* Added event handlers to win32 program repo
* added paths to monitor and setting FSWs for each location
* Events firing as expected
* filter extensions added, events fire as expected
* override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected
* implemented setter for filters in FileSystemWatcher
* Rename adds item but does not seem to delete the previous app
* catching an exception when a duplicate item is inserted
* Removed notify filter for directory because we only need to monitor files
* Added exe programs to be indexed in the desktop and startmenu
* created a new class to init FileSystemHelpers instead of main
* Added fix for shortcut applications to work as expected while renaming and deleting them
* Added wrappers for file system operations
* Added some tests
* Added all tests for appref-ms and added a condition to search in sub directories
* Added tests for Exe applications
* Added lnk app tests
* Added tests for shortcut applications
* removed unnecessary wrappers
* override Equals for win32
* removed debug statements
* Fixed exe issue
* Fixed internet shortcut exception
* fixed renaming shortcut apps
* Added a retry block for ReadAllLines
* capitalized method name - RetrieveTargetPath
* made naming consistent, helper variables start with underscore
* Added the exception condition back
* renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers
* made win32Program repository variable static
* changed list to ilist
* disposed file system watchers
* make retrieveTargetPath upper case in tests
* Add basic using file attributes functionality
* Correctly return result
* Refactor
* Move retrieving date attribute to get function
* Cover various milliseconds patterns, retrieve file attributes only when needed
* Correctly check if date/time pattern is used. Remove wstring cast
* Use correct flags on CreateFile call to handle directories
* rebase to master
* Perform transform operation at last to make it not mess with date/time variables
* Refactor, remove extra space
* Swap resizers on drag
* Update resizers on split if existing split is used
* Fix accuracy error
* Zone ids are ordered
* Cancel merge on other actions
* Split if one of the snapped splitters is dragged
* Implemented Clear Input On Launch
* Move logic to seperate command on viewmodel
* Added Settings Sync
Moved logic from OnDeactivated to OnActivated
* Complete after testing
Co-authored-by: Roy <royvou@hotmailcom>
* Updated (plugin) icons with MDL2
* Image wasn't updating
* Based on feedback, updated app icon and windowwalker icon
* Updated app icon
* Updated Window Walker icon
* Change build action / Copy to output directory to None and Do Not Copy - like it was originally
* Fix
* Fix
* Resized images
* Added theme awereness based on somil55s PR
* Added theming to Shell and WindowWalker
* Revert "Added theming to Shell and WindowWalker"
This reverts commit f492c4efdb.
* Revert "Added theme awereness based on somil55s PR"
This reverts commit 8edd3226be.
* Typo fix
* Added new theming support for the new Calculator, Shell and WindowWalker icons
* Added Unit test reference back in
* Remove WinUI include in KeyboardManagerState.h
* Changed include steps
* Clean up headers in KeyboardManagerUI except XamlBridge.h
* Cleaned up headers in KeyboardManager common and test
* Cleaned up headers in KeyboardManager project
* Removed headers from XamlBridge
* Removed some headers from kbm common pch
* Added MP flag to reduce build time
* Added missing include
* Enable app specific shortcut remapping
* Fixed lowercase function call
* Add test file
* Moved GetForegroundProcess to II and added tests
* Fixed runtime error while testing due to heap allocation across dll boundary
* Renamed function
* Changed shortcutBuffer type
* Linked App specific UI to backend
* Added shortcut validation logic on TextBox LostFocus handler
* Moved Validate function and changed default text
* Changed to case insensitive warning check
* Changed to case insensitive warning check at OnClickAccept
* Fixed alignment and spacing issues
* Added app-specific JSON support in backend
* Updated landing page
* Make listview horizontally scrollable
* Added tests
* Consider all case variants of All Apps in textbox to be global shortcuts
* Added wrapper for PackageManager and Package class
* Added tests for package in development and framework mode
* Renamed UWP test file
* Improved readability of UWP tests
* Added custom tooltip style (with theming support) that represents the UWP tooltip style.
* Removed unnecessary space in text
* Fixed run as admin casing
* Fixed casing for Indexer plugin
* Started work
* Did something, not yet sure that it works
* Sort of works
* Cleari highlighted zones when using Ctrl after leaving a monitor
* Remove unnecessary line
* Enhanced UX. Maybe refactor?
* Changed the logic behind zone selection when dragging
* Various fixups
* Merging in Theme changes and moving win32Tests to Microsoft.Plugin.Program.UnitTests
* Fixing message format for exception
* Changing test structure. Need to add unit tests.
* Updating packagerepository comment based on pr feedback
* Fixing potential race condition in ListRepository. Now internally implemented as a concurrent dictionary.
* Removing unecessary implementation of IRepository interface as this is implemented by the base class.
* Restoring checks for invalid uwp apps based on PR feedback. This was accidentally removed when moving the initialize outside the constructor.
* Fixing comments
* Adding newline to end of file for IProgramRepository
* Revert "Adding newline to end of file for IProgramRepository"
This reverts commit d55cac80bf.
* Revert "Fixing comments"
This reverts commit a1ecdc9bfa.
* Revert "Restoring checks for invalid uwp apps based on PR feedback. This was accidentally removed when moving the initialize outside the constructor."
This reverts commit 0e8c1cb0fd.
* Revert "Removing unecessary implementation of IRepository interface as this is implemented by the base class."
This reverts commit 1c724280f5.
* Revert "Fixing potential race condition in ListRepository. Now internally implemented as a concurrent dictionary."
This reverts commit 9ff8246a9d.
* Revert "Updating packagerepository comment based on pr feedback"
This reverts commit 2c45956030.
* Revert "Changing test structure. Need to add unit tests."
This reverts commit 1c267a55d5.
* Revert "Fixing message format for exception"
This reverts commit f60bdc3dd4.
* Revert "Merging in Theme changes and moving win32Tests to Microsoft.Plugin.Program.UnitTests"
This reverts commit 030dfc2370.
* Enable app specific shortcut remapping
* Fixed lowercase function call
* Add test file
* Moved GetForegroundProcess to II and added tests
* Fixed runtime error while testing due to heap allocation across dll boundary
* Renamed function
* Changed shortcutBuffer type
* Linked App specific UI to backend
* Added shortcut validation logic on TextBox LostFocus handler
* Moved Validate function and changed default text
* Changed to case insensitive warning check
* Changed to case insensitive warning check at OnClickAccept
* Fixed alignment and spacing issues
* Added run as admin context menu item to apps returned by indexer plugin
* Added a test and localized strings
* localize strings
* Add more tests for folder and other file types
* fixed run as admin -> run as administrator
* resolved merge conflict
* refactored tests
* moved common code to helper and added logs
* moved start process to the helper class
* added more info in a comment
* fixed count in tests as open in console was added
* removed additional code that was added while fixing merge conflicts
* Added open in console for indexer
* Added open in console fpr indexer and folder plugin
* Added open in console to program plugin
* Added string localization for program plugin
* Added test for win32 program
* Added test for win32 programs
* Added test for indexer plugin
* Localization for context menu title
* Added tests for folder plugin
* Added tests for indexer plugin
* Code cleanup
* Improved logging and nit fixes
* Updated tooltip for open in console
* Updates tests
* Removed subtitle property from contextmenuresult class
* Improved logging for context menu loaders
* Update app zone history on every new window assignment to zone
* Compare window positions with already placed windows
* Remove window property only after processing window removal from zone
* Only persist data when applying existing layout if it is scaled
* Fix applying edited Focus layout
* Fix different Focus zone sizes in editor and engine
* Fix codestyle
* Initial design for opening window on active monitor
* Perform entire handling in DPI unaware thread
* Codestyle improvement
* Improve resizing mechanism and optimise code a bit
* Remove unneeded code, make simple helper functions inline
* Make this feature configurable
* Code optimization, improve positioning for some applications
* Retry positioning for certain applications
* Improve readability
* Address PR comments: Minor code style improvements
* Remove retries in custom positioning
* Position new toggle in settings menu
Due to changes in the directory structure of the `doc/images` folder, the link for `examples_settings.png` was broken and image was not showing up. I have fixed the link and image is showing up in the README.md file.
* Added tests to verify that the name is always set as the title and never the description
* removed AppType as an argument
* refactored code
* added comments
* localized strings
* removed empty constructor
* made setsubtitle private
* removed the mock Win32 class used for unit testing
* removed the UWP tests
* Fix multiline title issue
* Added code to display tooltip for program and indexer plugin
* Added tests for Result class
* Theme based color for tooltip
* Added colors for tooltip
* Added string tags to tooltip
* Add initial show delay
* Seperated textbox for title and path
* Enable app specific shortcut remapping
* Fixed lowercase function call
* Add test file
* Moved GetForegroundProcess to II and added tests
* Fixed runtime error while testing due to heap allocation across dll boundary
* Renamed function
* Remove unused code
* Changed process checking step to include substrings
* Changed back to exact match included match without file extension
* Folder plugin - copy path
* indexer plugin - localized
* removed program plugin reference as it was not needed
* program plugin localized
* shell plugin localized
* removed extra semi colon
* Added loc files in other languages as well for indexer
* Added the inotifyPropertyChanged to all the properties and that stops the memory for shooting up
* some more inotify properties added
(cherry picked from commit 26fa05d9b661dadc5ab0257d540ab838a07c43a6)
* Revert "some more inotify properties added"
This reverts commit 845a94c9b2.
* Removed unnecessary inotifypropertychanged interfaces and cleaned up the code
* removed the ctrl+c from folder plugin
* removed unnecessary init
* Added unit test to check if PropertyChanged is called
* renamed var
* refactored the tests
* formatting and adding comments
* changed access modifier in test
* Used observable collection instead of a list
* clearing the observable collection instead of setting it to a new one
* Add basic transform functionality
* Add basic transform functionality
* Change toupper/tolower/isspace to towupper/towlower/towisspace. For loops omitted if possible.
* Avoid wcslen() in for statement
* Avoid wcslen() in for statement
* Add basic transform functionality
* Change toupper/tolower/isspace to towupper/towlower/towisspace. For loops omitted if possible.
* Avoid wcslen() in for statement
* Avoid wcslen() in for statement
* Add basic transform functionality
* Change toupper/tolower/isspace to towupper/towlower/towisspace. For loops omitted if possible.
* Avoid wcslen() in for statement
* Adjust Powerrename Interface
* Add trimming rename string
* Remove leading and trailing spaces from rename string
* Add support for transforming only item name or extension. Temporarily remove trimming to refactor. Change CAPITALIZED to TITLECASE
* Fix bug when search for area is empty
* Add trimming back with refactor(leading spaces, trailing spaces, trailing dots)
* Now supports transforming when search area is empty
* Add smarter titlecase
Transformation breaks when new filename contains an unusable character (\/?:*?"<>|)
These characters need to be removed from new name anyway.
* minor bugfix
* Add unittests, contains failing tests
* Remove unnecessary/failing tests
* remove generated file
* some code formatting and fix memory leak issues
* Use proper allocation, change int to size_t
* Refactor. Move transforming to Helpers.cpp
* Refactor. Move trimming to Helpers.cpp
* Change StrDup to SHStrDup. Some refactoring.
* Fix memery leak, add proper result controls, use newNameToUse in functon calls becaause it is where the final form of the string is tracked
* Change declarations of strings, add proper result controls
* Slightly widen the labels to cover the whole text
* Add extended characters support
* Rename a variable
* Correctly identify the last word for titlecase
* Add empty line to last line of resource.h
* Started work
* I can't debug anything, cleaning
* Added settings, [[Not Tested]]
Not even compiled
* Tested, the most basic features work
* Refactor, add RestoreSize
* Added DPI awareness
* Fixed a potential issue with resizing zoned windows
* Fixup: Potentially unsafe memory-layout of std::pair replaced with std::array
* Fixup: Use .data() instead of a pointer
* Further refactoring
* Integrated Win+Arrow keys with the Restore size feature
* Fixed an issue where window's on-screen position is not restored properly
* Fixed a bug pointed out by Enrico
* Migrate theme manager to infrastructure and added it as input to public API instance
* Working event-delegate for PublicAPIInstance
* Theme aware UWP applications
* Theme aware program plugin
* Update query icon on theme change
* Theme aware calculator plugin
* Fix issue with query running before theme change
* Theme based changes in ImageLoader
* Removed ErrorIcon direct references and added references from ImageLoader
* Nit fixes
* Removed unnecessary TODO in UWP.cs
* Added preference to theme based icons
* Added IDisposable interfaces to unsubscribe events
* Clean termination of powertoys process.
* Fixed issue with run not responding to WM_CLOSE
* Fixed serialization error in pinyin and image cache
* Fixed merge conflict
* Fixed nit wrt to master
* Basic framework of clearing up of cache is working
* formatting
* removed the default argument of load
* fixed nit comment
* rewriting the PowerToys version
* Each storage file has an associated version file which helps decide whether or not to delete that file on loading
* removed unnecessary reference
* renamed file to StoragePowerToysVersionInfo
* adding log files
* Checking whether the version strings are null, if so, we would clear the cache
* Added filepath to log files to make it more informative
* fixed nit naming
* using lesser than to compare instead of portable version
Co-authored-by: Divyansh Srivastava <somm14divi@gmail.com>
* reducing storage of images
* Added task.run
* cleaned up code and added comments
* Renamed variable
* refactored code
* Removed task.run because it was leading to race conditions in the concurrent dictionary and it was taking only upto 10 ms for reordering the dictionary
* Added comments and fixed variable name
* Clean termination of powertoys process.
* Fixed issue with run not responding to WM_CLOSE
* Fixed serialization error in pinyin and image cache
* Fixed merge conflict
* Fixed nit wrt to master
* Fixed undeterministic behaviour of Environment.Exit function
* Update timing for terminate process
* Added extended key flag to more keys
* Add test for extended key flag
* Move shlwapi.lib reference
* Added shcore ref
* Fixed pipeline incompatibility
* Fixed lib declaration in common
* Fixed formatting
* Remove unused statements
* removed another statement
Error CS0436 The type 'ActionKeywords' in 'C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\ActionKeywords.xaml.cs' conflicts with the imported type 'ActionKeywords' in 'Wox, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\ActionKeywords.xaml.cs'. PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\ActionKeywords.xaml 7 Active
Severity Code Description Project File Line Suppression State
Warning CA1060 Move pinvokes to native methods class PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\App.xaml.cs 24 Active
Warning CA1812 ReportWindow is an internal class that is apparently never instantiated. If so, remove the code from the assembly. If this class is intended to contain only static members, make it static (Shared in Visual Basic). PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\ReportWindow.xaml.cs 15 Active
Warning CA1307 The behavior of 'string.IndexOf(string)' could vary based on the current user's locale settings. Replace this call in 'PowerLauncher.MainWindow.ListView_FirstItem(string)' with a call to 'string.IndexOf(string, System.StringComparison)'. PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\MainWindow.xaml.cs 269 Active
Severity Code Description Project File Line Suppression State
Warning CA1823 Unused field '_progressBarStoryboard'. PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\MainWindow.xaml.cs 27 Active
Severity Code Description Project File Line Suppression State
Warning CA2007 Consider calling ConfigureAwait on the awaited task PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\MainWindow.xaml.cs 305 Active
Warning CA1801 Parameter text of method DelayedCheck is never used. Remove the parameter or use it in the method body. PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\MainWindow.xaml.cs 303 Active
Warning CA1820 Test for empty strings using 'string.Length' property or 'string.IsNullOrEmpty' method instead of an Equality check. PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\MainWindow.xaml.cs 291 Active
Warning CA1031 Modify '.ctor' to catch a more specific allowed exception type, or rethrow the exception. PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\SettingsWatcher.cs 33 Active
Settings.json is locked by the settings application and throws a system IO Exception. This should be syncronized with the settings application, but for now I'm just fixing the exception to be more specific and not hide unexpected exceptions.
System.IO.IOException: 'The process cannot access the file 'C:\Users\ryanbod\AppData\Local\Microsoft\PowerToys\PowerToys Run\settings.json' because it is being used by another process.'
Severity Code Description Project File Line Suppression State
Warning CA1031 Modify 'OverloadSettings' to catch a more specific allowed exception type, or rethrow the exception. PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\SettingsWatcher.cs 76 Active
Severity Code Description Project File Line Suppression State
Warning CA1822 Member 'ConvertHotkey' does not access instance data and can be marked as static PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\SettingsWatcher.cs 85 Active
Severity Code Description Project File Line Suppression State
Warning CA1822 Member 'WaitForPowerToysRunner' does not access instance data and can be marked as static PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\App.xaml.cs 130 Active
Severity Code Description Project File Line Suppression State
Warning CA1401 P/Invoke method 'OpenProcess' should not be visible PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\App.xaml.cs 125 Active
Warning CA1806 Main calls TryParse but does not explicitly check whether the conversion succeeded. Either use the return value in a conditional statement or verify that the call site expects that the out argument will be set to the default value when the conversion fails. PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\App.xaml.cs 45 Active
Warning CA1062 In externally visible method 'void App.Main(string[] args)', validate parameter 'args' is non-null before using it. If appropriate, throw an ArgumentNullException when the argument is null or add a Code Contract precondition asserting non-null argument. PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\App.xaml.cs
Warning CA1001 Type 'MainWindow' owns disposable field(s) '_firstDeleteTimer' but is not disposable PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\MainWindow.xaml.cs
Warning CA1816 Change App.Dispose() to call GC.SuppressFinalize(object). This will prevent derived types that introduce a finalizer from needing to re-implement 'IDisposable' to call it. PowerLauncher C:\Repos\PowerToys\src\modules\launcher\PowerLauncher\App.xaml.cs
* Search for programs in the path env variable
* removing list of disabled programs
* Added env variable string to classify apps
* reverted the fullpath change
* removing full paths while calculating dups
* removed dups
* removed debugging code
* Renamed to run command
* Added condition to filter run commands unless there is an exact match
* renamed occurances to RUN COMMAND
* localized the subtitle - Run command
* Added tests
* add fullpath back to hash calculation
* renamed the function
* Added support to index desktop app
* Fixed dedup for url files
* Added internet shortcut scheme for epic games
* Added test for internet shortcut dedup
* Updated hostname for steam game
* save general settings to file upon launch
* ImageResizer: Added flags to disable and hide extra boxes
Co-authored-by: Lavius Motileng <laviusmotileng-ms>
* Added functionality to not display hidden files
* Added interfaces for seperating db layer
* Updated variable naming and refactored Database connection class
* Added tests for WindowsSearchAPI class
* Fixed nit with braces
* Added function to test that all connections from database are closed
* Move window into last known position on active work area (if possible)
* Refactor code to avoid double checks
* Address PR comments
* Perform all HWND checks at one place
* Improve handling of active/primary work area in app zone history
* Address PR comments: naming, arguments checks
* Rename some functions to increase readability
* Implement special handling in 2+ monitor scenario
* Minor naming change
* Simplify
* Improve readability
* Remove blank line
* Don't move away from secondary monitor if there is no app zone history
* Update comment
* FancyZonesEditor should not be zoned
* Preserve width and height (if possible) when opening on active monitor
* Maintain w/h whenever possible
* Remove scaling, add window coordinates on active monitor top-left corner
* If there is no app zone history on secondary screen, fallback to default windows behavior.
* Fix capturing group bug when Match All Occurrences is not checked
* Capture groups are now available when Match All Occurences option is not selected
* Bug fix when capture group is indicated with leading zeros. $01 should be considered as $1 etc
* Use flags in regex_replace() when Match All Occurences is not selected
Now the behaviour is consistent with how regex works when Match All Occurences is selected.
* Add workaround for Japanese IME Caps Lock issue
* Changed tweak to reset modifier key rather than Caps Lock
* added tests
* Fixed test comment
* Moved environment initialization in KBM tests to TEST_METHOD_INITIALIZE
* Search shows up steam games
* Formatting
* Filtering only those steam shortcuts which run an application
* Using equals instead of ==
* PWAs should not show up when searching for the main app
* Modified the subtitle to say progressive web application
* renamed to web application
* To search for web applications for all chromium based browsers
* Renamed it to WebApplication
* Added unit tests and refactored code
* made string global const
* Added localization tags
* Added a separate function for localization as the IPublic API was not available to all
* Removed unnecessary references and variables
* Update src/modules/launcher/Plugins/Microsoft.Plugin.Program/Languages/de.xaml
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Added enum for application types
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Add test proj, refactor proj with filters, and move single remap function to a separate header
* Moved all methods to header files
* remove more unused commented code
* Reverted sln file
* Fixed sln file
* Added interface wrapping SendInput calls
* fixed formatting
* Created test mock class
* Added keyboard input logic
* Fixed compilation errors and added nuget reference to CppWinRT
* Added tests for single key remapping
* Refactored code for adding shortcut remap tests
* Separated test classes
* Fixed tests in release mode
* Added more tests
* Resolved comments
* [Launcher/Settings] Low Level Keyboard Hooks
* [Run] LowLevel Keyboard Hook for Hotkeys
* Prevent shortcuts from auto repeating when keeping the keys pressed down
* first adjustment to wiki move
* Image Resizer and deleting imgs for FZ
* updating stuff to aka links
* updating app to leverage aka links
* moving files to wiki
* KBM adjustment
* updating
* getting PT Run moved over
* Shortcut guide and fixing launcher's readme text
* Update README.md
* img for shortcut guide moved to wiki
* updated setting img to be aka link as well
* Restart explorer.exe programatically after successful update
* Move RestartManager related code into common
* Add newline at the end of files
* Note that explorer.exe should not be localized string
* Search shows up steam games
* Formatting
* Filtering only those steam shortcuts which run an application
* Using equals instead of ==
* Case change in Internet shortcut
* Initial work, not tested
* Forgot the most important part
* Use target argument instead of hardcoded string
* Removed old way of running Launcher
* Completed rebase, updated some code
* Added fix for UWP icons not showing up
* updated comment and reversed the list of target sizes
* find the icon closest in size to the appIcon size
* Remove nlog reference that was added by mistake
* Add skip to currently invoked shortcut code - should change no behavior
* Fixed Alt tab issue
* Added comment
* Added step to check if original shortcut action key should be pressed
* Fix number of cases in comment
* Removed Wox Theme Manager
* Added Light and dark theme and template for high contrast theme
* Updated themeManager to remove strings
* Fixed issue with high contrast theme not being applied
* Fixed formatting
* Updated MSI to include dll for Mahapps and controlzex
* Added support for multiple high contrast themes
* Remove app zone history belonging to deleted virtual desktop.
* Implement support fancy zones app zone history on multiple desktops.
* Break when device id is located to avoid unnecessary loop iterations.
* Fix failing unit tests after JSONHelpers API changes.
* Use valid UUIDs in json helper unit tests.
* User properly formated test data in app zone history unit tests.
* Don't delete entire app history when moving out of zone on one desktop.
* added error handling for FZ Hotkeys
* moved hint to hot key control text
* updated icon size 16px
* updated styling and fixed typos
* fixed typo
* moved text to string resource
Co-authored-by: Lavius Motileng <laviusmotileng-ms>
Connect Wox's existing "ignore hotkeys in fullscreen mode" setting to PowerLauncher and the PowerToys settings UI.
This allows PowerLauncher to ignore hotkeys if any application is currently in fullscreen mode, whether it's real exclusive fullscreen or borderless windowed mode. This applies to things like fullscreen games, video and presentations but not maximized windows.
* reverted the dedup code, file explorer shows up but so do duplicates
* Fixed file explorer and dedup
* Formatting
* Added tests for all the cases
* Formatting
* Tests
* take name and exe into consideration while calculating hash
* unique primes while calculating hash code
Microsoft changed the name of Fabric UI to Fluent UI. Updated title and URL (which still links to the same page, just with a direct link instead of a redirect).
* Basic WPF searchbox working
* Updated key navigation and removed coldstart for searhbox
* refactored and added code back in commented
* Removed XAML Island references
* Basic searchbox+listview working
* Getting a bit more back
* got color there
* Result list bit better now
* Added image loader for WPF Image
* Partially got the context menus rendering again
* adjusting coldstart to load, control will load with main form
* getting context menus back
* mouse over works now
* Click now works, started to remove Win.XAML references
* being a bit more forcusful on focus
* Shadow text is not aligned
* fixing focus if listbox was used
* small tweak to fix shadow text
* inputs don't work but gotta figure out why. commenting out
* preview text
* adding back in delay
* fixed height issue
* Applied the correct context button styles
* Created custom ItemContainerStyle to fix the blue highlights behind the command buttons
* Applied the correct highlight / mouseover styling
* Removed vertical scrollbar in listview
* fixed for alt-space prompt
* Fixed right click focus issue
* Somil55/wpf modifier keys (#3378)
* Removed DPI change as it was not required
* Global key hooks for context menu items
* Updated Key for shell, folder and indexer plugin
* Updated key mapping for indexer plugin
* Somil55/wpf context menu selection (#3389)
* Removed DPI change as it was not required
* Global key hooks for context menu items
* Updated Key for shell, folder and indexer plugin
* Updated key mapping for indexer plugin
* Add trigger to selection on tabbing
* Minor shadow adjustments so its more similiar to default shell shadow. Added intro/outro animations
* Added UWP-like scrollbar style for the results list
* Fixed formating and naming
* Removed Powerlauncher UI project
* Update PowerToys.sln
* Commented out scrollbar and fade in/out animations
* Added missing features from UWP branch
* Fixed formatting for Product.wxs
* Add dragging to WPF window
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Niels Laute <niels.laute@live.nl>
* Initial design for improving handling of different engaged work areas in fancyzones.
* Remove active device id check in ZoneWindow.
* Remove concept of active device identifier in JSONHelpers.
* Refactor interface description and add new method.
* Simplify ZoneWindow initialization.
* Default value for active ZoneWindow during move/size.
* Add newline at the end of file.
* Use COM pointers for ZoneWindow instead of passing raw ptr.
* Solve few issues after merging with master.
* Fix typo in documentation.
* Update settings header: Remap keys
We write "Remap Keyboard" but it must be "Remap keys" because we not remapping the whole keyboard. We only remap single keys.
* Tweaked c++ side naming
Co-authored-by: Arjun <arjunbalgovind@gmail.com>
* Add test proj, refactor proj with filters, and move single remap function to a separate header
* Moved all methods to header files
* remove more unused commented code
* Undo test project addition
* Treat warnings as errors
* Adding Uninstall instaructions to ReadMe
* Fixed issue link
* Move "uninstall hint" link
* Did requested changes
Remove hand emoji, move link and fix text mistakes.
After reading the rest of the paragraph, I believe the intention was for this to read "This project welcomes contributions of all types" rather than "This project welcomes contributions of all times" or "..at all times"
* Sync'ing nuget packages. more to do
JSON, islands
* updating sql and oledb
* upgrading to 2.0 RTM for MahApps
* consolidated Microsoft.NETCore.UniversalWindowsPlatform
* updating Microsoft.Windows.ImplementationLibrary
* Microsoft.Windows.SDK.Contracts
* Persist app zone history in a separate file
* Almost ready to be functionally tested
* Now all unit tests pass
* Bug fixes, it seems to work
* Various fixups
* Improved performance of FancyZones::UpdateWindowsPositions()
Have not seen this requirement mentioned anywhere until PowerToys is already installed.
For those installing PowerToys specifically to try this, it would be useful to know the requirement in advance, especially given that https://github.com/microsoft/PowerToys/blob/master/README.md mentions only 1803.
* Increase score for exact matches in the name
* Added tests for exact matching
* Used TestCase
* variable for bonus score
* Removed comment, variable is self explanatory
* updated general settings tests
* reverted changes to solution files
* fetch test strings from a string resource
* updated bidning variable name to avoid confusion
Co-authored-by: Lavius Motileng <laviusmotileng-ms>
* Adding privacy event tags to each telemetry event.
* Moving Privacy events to Telemetry base, Removing tag values, and fixing namespaces.
* Adding documentation comments to fix style cop errors in release
* UTCReplace_AppSessionGuid boolean property to all C# telemetry events.
* Adding hardcoded version number to boot events.
* Adding reference to telemetry in settings unittest
* Adding Preview Pane events for loading w/ hardcoded version number
* Adding telemetry.h to msi for svg and markdown events
* removing unused explicit interface exception
* Removed AppxPackaging dll
* Added helper class and fixed some AppxPackage errors
* Modified it to use the COM interface
* Got it to build without errors but UWP apps don't show up
* Added app to the array
* Deleted the AppxPackaging.dll
* Added github reference
* Removed unnecessary uwp app argument
* Removed dll from installer wxs file
* Change auto-download setting's title
The update don't get automatically downloaded when the user is connected over an metered connection.
This is something the user should known about. Because of not have to be afraid on having extra costs and to not being confused if it not works on metered connections.
* auto-download title (old settings)
Did the same change also for the old web-settings.
* Deleted the dll
* Added Shell Link helper class
* Add activation manager helper
* Use helper shell link and remove shell namespace
* removed using shell and added Activation helper namespace
* Removed the dll from the installer
* formatting
* nit formatting
* Replaced UWP searchbox with WPF
* Updated foreground color scheme for textbox
* Add focus on visibility changed
* Updated initial hiding of window
* Fixed list box border
* vis issue on start, fixing border
* Revert "Merge branch 'somil55/MigrateSearchBoxToWPF' into fewTweaks"
This reverts commit 3525171621, reversing
changes made to b5daffca55.
* Remove change in startup visibility
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Added the settings hyperlink code back
* Moved the os detection code to a different file so that it can be imported by image resizer
* Added code to the Image resizer project to react to import the dll
* Added an empty dll project
* Added a dll which can be imported by image resizer
* ImageResizer binding works
* Added the setDllDirectory to load the os-detection dll
* Removed the OS detection files that has been added to the common project
* Added reference to os-detect and removed reference to common/OS-Detection.h
* Modified project files
* Revert "Modified project files"
This reverts commit 75f9d73f30.
* Removed unnecessary showAdvanced bool variables
* Removed OS Detection code from common project
* Cleaned configuration properties of soln and projects
* runner is dependent on os-detection
* Added the os-detection.dll to wxs file
* nit space formatting
* Added reference to os-detection
* Added os-detection header file
* Add os-detection reference
* Added os-detection.dll
* removed the set dll directory and using relative paths instead
* Add relative path
* WIP Confirmation dialog for orphaned keys
* Confirmation Dialog for orphaned keys
* White OK button, Anyways capitalizef
* Change Apply to Ok for shortcuts
* Validate that mappings can be made before changing keyboardManagerState
* Set fixed MinWidth for OK button
* Fix typo
* Partial remappings confirmation dialog
Both for Shortcuts and SingleKey
* Remove warning icon callback in OnClickAccept
* Add text wrapping for OrphanKeys dialog
* Updated the add button styles to a standard used in W10 settings
* Updated the "About this feature" text to About [Module name]
* Set larger changes to the Shortcut Guide opacity numberbox
* Re-organised the General page
* Improved width of the add button so it's inline with the corresponding listview.
* Seperated warning label from header. Re-organised general settings
* Consistent formatting of the word 'administrator'
* Typo fix
* Warning text is collapsed when the user runs the app as admin
* Removed underline of version number
* XAML fix
* Fixed foreground issue and added arrow
* Tweaked Remap Keyboard UI
* Fix errors in warning handling and update UI layout
* Tweaked sizes and centered to screen
* Fixed flyouts appearing on search for Single key remaps
* Fixed flyouts appearing on search for Shortcut remaps
* Remove warning exclamation icon and tooltip
* Fixed a bug where setting None on a drop down which would create a shortcut with a conflict would cause a crash
* Remove IsTypeKey logic
* Changed warning text
* Resolve comments
* Fixed foreground issue and added arrow
* Tweaked Remap Keyboard UI
* Fix errors in warning handling and update UI layout
* Tweaked sizes and centered to screen
* Changed size to scale based on resolution
* Fixed comments
* Raising Telemetry events when svg and markdown preview pane is turned off
* Properly serializing Bool property. This allows us to be backwards compatible with .17 settings but interact with the properties as boolean elements, and fire events on property changed notification
* Updated UWP app to set entry point type for each app
* Working run as admin for packaged app with permission
* Updated UWP to allow apps with mediumIl trust level to be run as admin
* cleanup variables not required
* Had reverted the changes made in the Microsoft.Launcher.rc file by mistake while resolving merge conflicts
* reverted company name to how it was before
* Add new text for Remap Keyboard
* Added text in KBM windows
* Tweaked KBM landing page view
* Changed to transparent background
* Tweaked text
* Tweaked text
* Added code to detect os build number
* To set the settings.exe according to the powerToys version that is running
* Modified the description of old UI for launcher and keyboard remapper
* Using API contracts instead of registry
* Removing file that was included by mistake
* Clean up resources taken by closed virtual desktops on FancyZones module startup.
* Overload GetVirtualDesktopIds to return wide string.
* Refactor OnDisplayChange method.
* Commented out ToggleToMod and AppSpecific function calls
* Added logic to make sure key remaps don't occur on Edit Keyboard Window
* Changed behavior such that remappings only apply after window is closed
* Update version in General Settings
* Set version in settings.json file
* Only overwrite the settings.json file if it is newer than the old version.
* Fix tests
* Fix test names and added comment
* Added output folder
* Added FileExplorerPreview output folder for all projects
* Added extra dlls and FileExplorerPreview to path
* Added folder and modified path for registry setup of preview handlers
* fixed run-elevated error and powerpreview settings not working
* removed EXTENDED_STARTUPINFO_PRESENT flag
* removed test string
* Update Microsoft.PowerToys.Settings.UnitTest.csproj
* Rename PowerLauncher.cs to PowerLauncherViewModelTest.cs
* Bypass XamlBridge Window focus handling
* Constrain only one window can be opened at a time
* Revert changes on files changed in another PR
* Changed WM_DESTROY to WM_NCDESTROY
Co-authored-by: Tomas Raies <tomas.raies@gmail.com>
* Fixed left and top window
* Added dpi Aware launcher positioning code
* Code cleanup
* Added support to drag window
* Multi monitor support added
Remaining fix : Launcher doesn't open first time on changing monitor
* removed code handling change in DPI manually
* Code cleanup
* Fix to support multimonitor display
* Code cleanup
* Revert "Code cleanup"
This reverts commit 38f39924f0.
* Revert back to WOX helper for calculating normalized DPI
* Move part of the virtual desktops related logic from FancyZones to VirtualDesktopUtils.
* Post WM message from vritual desktop tracker thread to FZ thread.
* Minor improvements in RegisterVirtualDesktopUpdates method.
* Close registry key after HandleVirtualDesktopUpdates thread finishes execution.
* Remove comment explaining workaround to VirtualDesktopUtils namespace.
* Move HandleVirtualDesktopUpdates to VirtualDesktopUtils namespace. Resolve PR comments.
* Fix typos in window messages description.
* Remove lock from OnKeyDown method to avoid deadlock.
* Handle scenario with only primary desktop and no desktop swithc in current session.
* Add scoped lock when changing current desktop id. Address PR comments.
* Explain purpose of UpdatePrimaryDesktopData method.
* Fix typo in documentation.
* "Unhooked" the Shortcut guide module from the PT event dispatcher
* Fixup: warning/undefined behavior/terrible bug
* SetWindowsHookEx and UnhookWindowsHookEx now fail silently
* Updated a comment in shortcut_guide.h
* Renamed a method, added an error message
* Removed unnecessary styling resources.
Fixed searchbox overlay.
Fixed a bug where the command buttons would fall of the list
* Fixed a bug where the app icon could overlap the title/path textblocks
* Consistent background / border color
* Tweaked shadow, background color now theme depended
* minor modifications in README
* Added launcher project and changed references to common
* Added the code to launch another process
* added shellapi header
* Added launcher to runner
* added functions to remove the abstract class error
* added the wox launcher dll
* Readded the reference to common
* modified the additional include directories for the release version
* changed the name to be displayed from Wox.Launcher to Launcher
* Localized the strings of Launcher
* Added a SearchResult Helper class
* Created a helper class to use indexer and return search results
* Added the main and settings file which declare most of the plugin interfaces
* Added references and renamed a class
* Added the images folder which contains the windows indexer icon
* Added the image
* Added the plugin.json file
* Minor changes in project files
* Added plugin.json to the project
* Modified the output paths to create the dll for the plugin in the correct location
* Refactored the code to make it unit testable
* Made the code unit testable and added unit tests for the indexer plugin
* Removed commented out code
* Code to terminate wox when we exit PowerToys
* Copy from Jeremy's fork PR
* Removed unnecessary plugins from source tree
* add missing files
* Fix postbuild event
* Added x64 for all Wox project - Debug mode
* Removed the AnyCPU config - Debug
* Added the build paths for release x64 (removed AnyCPU)
* Set warning level to 4 : Release
* Set warning level 4 : Debug
* set optimize code to false
* Removed notify icon component
* Removed setting UI XAML file and references
* Readded necessary callback functions
* Removed python path and python plugin functions
* Removed UI related to python path and the bindings related to that
* Remove python bindings
* Removed the localized string translations from pythonDirectory and SelectPythonDirectory
* Manually resolving conflicts
* Fix Wox build in project settings
* deleting unused project files
* Undo change internal
* Fix internal variable
* All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release.
* Ported Indexer plugin to .net core 3
* Added the test project back
* Removed the .net framework indexer folder
* readding the plugin.json file
* Changed the anyCPU config to x64 for windows indexer plugin
* Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process.
* Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins
* removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread.
* Remove anyCPU config and changed it to x64
* Removed anycpu of test proj
* Adding dependency
* Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder
* Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github.
* adding support for xaml islands
* Added Neils UI code
* Replace Niels Code references
* Added assets and behaviours
* Add missing reference
* Add main view model binding
* Using proper executable name when closing 'PowerLauncher' process
* changed x:bind to Binding to avoid reference
* Updated bindings for launcher
* Added binding on searchBox
* Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects.
* Fixed exception preventing result display
* Fixed issue with wpf marshalling events to a non UI thread
* Optimised result binding by inserting search result from multiple plugin in parallel
* copy resource files to output folder
* Corrected the output path for the indexer plugin
* windows indexer plugin is working
* Remove console print statement
* Added callback function for mouse click on search result
* Working App execution
* Cherry picked pinyin performance changes from jjw24's master branch
* change nuget package to msft for winrt compat
* Working up/down arrow key
* updating references and removing a few that seem uneeded for how stuff is referenced
* adding two back in
* Removing Squirrel dll. unsure on updating so i kept that logic in
* Updated functionality on suggestion chosen in autosuggestbox
* Added the <useWPF> tag to remove the warning
* Removed an unnecessary <useWindowsForms> tag
* Removed the item group for properties from calculator plugin
* Removed the item group for properties from folder plugin
* Removed the item group for properties from indexer, program and shell plugin
* Removed itemgrp from wox.core and wox.test csprojs
* Removed the unnecessary wox files to clean up codebase
* Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer
* Renamed Wox.Launcher to Microsoft.Launcher
* To avoid DBNull to String typecast exception
* Added query submitted event to handle default action on clicking a list view item
* Merge pull request #42 from microsoft/AddPinyinPerformance
Cherry picked pinyin performance changes from jjw24's master branch
(cherry picked from commit b9e437c6cd)
* Rectyfying title display
* Title display working correctly
* Removed .yml files
* adding checks
* Making wox.csproj build wox assembly instead of powerlauncher
* Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project.
* Making Query internals visible to wox.
* Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update.
* Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj
* Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj
* Downgraded the library to the latest stable version
* single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately
* Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException
* Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support.
* Removed STAThread
* Modified the output folder produced
* Renamed the dll produced
* Added dependency on PowerLauncher to the Microsoft.Launcher project
* modified the name of the dll in the indexer plugin
* Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build
* Added fix for closing wox on pressing escape and app execution (#75)
* adding useWPF to get rid of warning
* Launcher resize issue on selecting search result (#77)
* Added fix for closing wox on pressing escape and app execution
* Added fix to prevent autosuggestbox resize
* Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210
* suggested fix
* removing unused mutex string
* Searches for keyword only in title and not content to improve the quality of results
* Display the title from System.Title directly instead of extracting it from the path
* Removed additional README instructions before moving to the powerToys repo
* Fix Query builder test (#86)
* Revert base viewModel class to fix tests.
* Removing unused post build and deploy scripts.
* tweaked url
* Update plugin.json
* Update README.md
* removed unused dep (#2080)
* removed reference to everything (#2133)
* SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName
* Search result thumbnail for PowerLauncher (#2124)
* Replace WPF Imaging library with UWP
* Removed UWP and WPF namespace conflicting files from Wox
* Removed Image hashing as it wasn't used anywhere
* Updated formatting
* Set MainViewModel visibility to hidden on startup
* Enable CI build on PowerLauncher Branch (#2181)
* Enable CI build on PowerLauncher Branch
* Updated Nuget restore to latest and added AssetTargetFallback property
* tweak text (#2177)
* [Window Walker] Migrate to Launcher (#2093)
* Copy the existing calc. plugin foldeR
* Blindly rename a bunch of things to Window Walker
* Update the solution to reference the new plugin
* Get basic Yo returned
* Remove all the languages except english
* Lower quality of icon as well as test showing it
* Add the core non-ui parts to the plugin
* Delete calculator png
* Get it to compile
* Added the actual code which apparently doesn't work
* Finally start showing results
* Fix up strings
* Switch working
* Remove unused classes
* Remove unneeded async
* Added MSI support for Launcher (#2242)
* Fixed typo in output folder of calculator plugin
* Calculator plugin works
* Modified the name of the image to remove space as space is assumed to be a separator in wcx file
* Fixed typo in calculator dll
* Fixed typo in calculator plugin
* Shell, Program, Folde and indexer plugin working
* Added the ww plugin
* Fixed typos in the calculator plugin
* Delete file that was added unintentionally
* revert calculator rename changes
* Reverted other files changed
* Reverted renaming of file with space
* Pull changes from master to dev/powerLauncher (#2255)
* Dpi unaware placement bug (#2121)
Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right.
This fixes only single-monitor scenario
It skips correction for dpi unaware window that leaves a gap
* Move markdown parsing logic outside control thread (#2099)
* Move markdown parsing logic outside control thread
* Update MarkdownPreviewHandlerControl.cs
* Remove trailing whitespace.
That'll teach me for trying to make an edit from the GitHub page.
* Migrate power rename MRU lists from registry to JSON (#2090)
* Handle most recently used search/replace strings within settings.
* Check for last modified time of json file and reload it if needed.
* Handle changes in MRU search / replace lists size.
* Improve handling of changes in MRU list size.
* Don't check for last modified time in every getter method. Load only when starting application.
* Add const identifier to getter methods.
* Address PR comments: Add const to reg and json file paths and set them in constructor initializer. Check pushIdx validity. Move implementation to cpp of PowerRenameUI constructor.
* Add error checking when getting values from registry.
* Implementing changes suggested in #1992 (#2116)
* Implementing changes suggested in #1992
* Update Product.wxs
Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu>
* Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117)
* Fix for issue #1532
[PowerToys] Show version on tooltip
* Update src/runner/tray_icon.cpp
Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
* FZ editor: Splitted zones positioning (#2158)
* Added a mutex to ZoneWindow, ensured no data races occur (#2154)
* Added a mutex to ZoneWindow, ensured no data races occur
* Protected draggedWindow* members with a mutex
* Ensured that critical reads happen in a single transaction
* Dpi unaware placement bug - multimontior with same DPI settings fix (#2156)
* Dpi unaware placement bug - multimontior with same DPI settings fix
* Using different enumerating method
* Changed AllMonitorHaveSameDpiScaling method
* Removed accidental file
* small rename
* Changed some methods to CamelCase
* Review comments fixes
Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com>
Co-authored-by: Ben Randall <veleek@gmail.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com>
Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu>
Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com>
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
* Somil55/merge custom ui into launcher (#2271)
* Remove Autosuggest box (#2192)
* Update Settings.Designer.cs
* Revert "Update Settings.Designer.cs"
This reverts commit a1bc0dda56.
* Updated LauncherControl XAML to add textbox and listview
* List View displayed
* Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work
* Updated MainViewModel to Remove context menu and history
* Added Resultist XAML Island project
* Updated SelectedItem and SelectedList Binding.
Issues : List box doesn't open when query is written for first time but opens in subsequent queries.
* 1. Mouse Click working
2. List View is can't be focused
3. Fixed width of Launcher
* Removed two way QueryText box binding
* Removed SelectedItem two way binding and replaced with a callback
* [Cleaning] Remove redundant UWP project
* [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher
* Thmbnail fixed for NEW UI
* Removed PreviewMouseDown function required by older WOX code
Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>
* Added the auto-complete feature
* Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design.
* Fixed merge conflicts
* Set only when index is 0
* One way binding
* Removed unnecessary binding
* Deleting unused (commented out code) that was legacy from wox project.
* Binding Buttons to appropriate context menu commands.
1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin.
This change also deletes unused commands.
Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future.
* manually handling tab in mainwindow
* Loading context buttons on Selecting a suggestion list item
* Allowing hover event to load content menu items and display them as well.
* Adding context buttons to Indexer plugin. This allows for the following:
1. [Files] Open Containing folder
2. [Folders/Files] Copy Path
* Remove White background of list (#2218)
* Remove white background of list
* Removed comments
* Changed to ContainerContentChanging event
* add const variables instead of numbers
* Added comment before the updatelistSize function
* Search box UI (#2224)
* Added backdrop and rounded corner
* Fix for two alt+space press to bring searchbox issue
* Fixed merge conflict
* Clean Mainwindow.xaml code
* Fix for textbox focus on first visible
* Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items.
* Renaming SelectedIndex to ContextMenuSelectedIndex
* Enabling key accelerators on context buttons.
1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results.
2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel
3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus.
* Launching explorer instead of the UWP application when selecting 'open file location'.
* Added fix for border showing up when result count is zero
* Updated fix for border on no result
* Adding visibility after clearing result in MainViewmodel
* Launcher Light/Dark mode (#2235)
* Fixed issue with list view background not updating with Windows theme change
* Added theme change for WPF
* updated ShadowDepth for dropshadow
* Updated border thicknes of searchbox and listview
* Diff issue with ResultList.xaml
* Removed change in result delay
* Added code to pull colors from UWP
* Updated border resource to use system based SystemControlHighlightAccentBrush
* Updated corner radius in dark mode
* Updated Launcher description text
Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>
Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com>
* Changed to SystemChromeLow from Accent brush (#2272)
* Removed ListView animations
* Positioning ContextButtons and adding background.
* Disabling scrollbars for gridview items.
* Removed folder plugin
* removed deployment for uwp apps (#2298)
* Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250)
* text is selected whenever launcher gets hidden and is then set to visible (#2315)
* Update nuget packages across solution to latest (#2334)
* simplifying the xaml and making things tighter (#2327)
* Setting runcommand as the default execution method, and turning off run as admin by default.
* Opening explorer if the user has types a file path.
* Enable PowerLauncher toggle
* Launcher MSI - Added a required dll and removed folder plugin (#2355)
* Modified the product.wxs file
* Added the x64 config
* Modify scoring algorithm for fuzzy search (#2361)
* Modify scoring
* modified to if else
* Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over.
* Fixes an issue where PointerExit would hide the selected context buttons.
* Result List - Bad rebase overwrote margin and translation fields.
* Fixed process executing on clicking enter if no text in search box
* Codeflow cleanup when selectedItem is not null
* adjusting how programs are displayed. (#2369)
* Removing description from title
* adjusting subtitle
* removing accidently paste
* removing desc for uwp apps
* Revert "Removed folder plugin"
This reverts commit 064d638588.
We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories
* Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects.
* Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line.
* - Making Open Directory subtitle fixed, and the title as the current directory.
* Adding back binding to QueryText and updating the cursor position similar to how wox originally did it.
* Add the folder plugin wxs back in (#2374)
* Deduping results for program plugin (#2375)
* Removing description from title
* adjusting subtitle
* removing accidently paste
* removing desc for uwp apps
* Getting dups removed from list if LNK exists
* adjusting subtitle
* removing accidently paste
* Getting dups removed from list if LNK exists
* changed to normal forloop
* Removing WinR (#2381)
* Updated program execution to call action on background thread. (#2370)
* PowerLauncher Settings integration
* Added cold start fix (#2385)
* - Fixes cursor jumping around issue.
- Seperating the ability to set the text from initiating a query.
- Plugins have to explicitly request the query be updated.
- Updating Folder plugin to explicty update the query on folder selection.
- Removing unused changes from 'Wox' that don't compile.
* Fixing gap in logic where query was triggering when programatically setting text.
Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event.
* Updating the QueryText to the selected item when navigating up/down with the arrow keys.
* Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin.
* Making folder results from the search indexer plugin behave like folder results from folder plugin.
* Folder Results open the explorer window when selected.
* The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results.
* Initializing query text strings.
* Defensive check for QueryText being empty
* Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps
* Removing unused namespace.
* Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing
* Fix project references
* Fix MaxResultsToShow
* Fix Alt + Space display
* Fix settings defaults
Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com>
Co-authored-by: bkudiess <bakudies@microsoft.com>
Co-authored-by: Divyansh <somm14divi@gmail.com>
Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>
Co-authored-by: Barbara Kudiess <bkudiess@me.com>
Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: udit3333 <udit3333@gmail.com>
Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com>
Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com>
Co-authored-by: Ben Randall <veleek@gmail.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com>
Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu>
Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com>
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
* Fixed right margin
* Fixed issue where the background of the gridview would light up on pointerover.
* Fixed issue where application title/path run through command buttons. Centrally aligned image/icon.
* Updated the shadow so it looks more like a UWP ThemeShadow.
* Handled invalid input for single key remaps
* Added some functions
* Added better error message functions and finished warnings for edit keyboard
* Updated dropdown order of keys
* Added new warning template for shortcuts
* Added show warning on Apply code
* Removed old flyout code
* Fixed issue where tooltips were replaced on Apply
* Simplified == operator
Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event.
- Seperating the ability to set the text from initiating a query.
- Plugins have to explicitly request the query be updated.
- Updating Folder plugin to explicty update the query on folder selection.
- Removing unused changes from 'Wox' that don't compile.
* Removing description from title
* adjusting subtitle
* removing accidently paste
* removing desc for uwp apps
* Getting dups removed from list if LNK exists
* adjusting subtitle
* removing accidently paste
* Getting dups removed from list if LNK exists
* changed to normal forloop
* Deprecate ATL based IPC wrapper library
* C# projects now use named pipe server implementations from two_way_pipe_message
through the interop C++/Cli library.
* Added Unit testing to interop library
* Added grid to edit keyboard
* Fixed all issues for Edit keyboard window with grid
* Added step to delete row definition and move row indices
* Handled grid operations for Edit Shortcuts
* Added dynamic layout for edit shortcuts
* Fixed resize windows message behaviour and removed warnings
* Added missing c++17 compile flag to common-md-flag
* Remove .NET native tool chain from Settings.UI release config
* This flag has to be removed because .Net Native does not support
mixed assemblies, like PowerToysInterop.
* Compare window desktop id with currently active work area desktop id.
* Improve error handling and conform to coding guidelines.
* Move virtual desktop helper functions to ZoneWindowUtils namespace.
* Ensure thread safety when creating instance of VirtualDesktopManager.
* Remove static qualifier from ServiceProvider.
* Return instead of break, as there is no need to check for other monitors, virtual desktop is the same for all.
* Move virtual desktop related helper functions to separate files.
* Skip comparing desktop ids if zone window has empty GUID for desktop id.
* Add comment describion scenario for which we need this fix.
* Fix HotkeyControl virtual key display
* A new interop project was setup to provide wrappers for C# projects
that want to access functionality in the common project.
* Add assembly info
* Remove WIN32 configurations
* Remove Autosuggest box (#2192)
* Update Settings.Designer.cs
* Revert "Update Settings.Designer.cs"
This reverts commit a1bc0dda56.
* Updated LauncherControl XAML to add textbox and listview
* List View displayed
* Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work
* Updated MainViewModel to Remove context menu and history
* Added Resultist XAML Island project
* Updated SelectedItem and SelectedList Binding.
Issues : List box doesn't open when query is written for first time but opens in subsequent queries.
* 1. Mouse Click working
2. List View is can't be focused
3. Fixed width of Launcher
* Removed two way QueryText box binding
* Removed SelectedItem two way binding and replaced with a callback
* [Cleaning] Remove redundant UWP project
* [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher
* Thmbnail fixed for NEW UI
* Removed PreviewMouseDown function required by older WOX code
Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>
* Added the auto-complete feature
* Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design.
* Fixed merge conflicts
* Set only when index is 0
* One way binding
* Removed unnecessary binding
* Deleting unused (commented out code) that was legacy from wox project.
* Binding Buttons to appropriate context menu commands.
1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin.
This change also deletes unused commands.
Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future.
* manually handling tab in mainwindow
* Loading context buttons on Selecting a suggestion list item
* Allowing hover event to load content menu items and display them as well.
* Adding context buttons to Indexer plugin. This allows for the following:
1. [Files] Open Containing folder
2. [Folders/Files] Copy Path
* Remove White background of list (#2218)
* Remove white background of list
* Removed comments
* Changed to ContainerContentChanging event
* add const variables instead of numbers
* Added comment before the updatelistSize function
* Search box UI (#2224)
* Added backdrop and rounded corner
* Fix for two alt+space press to bring searchbox issue
* Fixed merge conflict
* Clean Mainwindow.xaml code
* Fix for textbox focus on first visible
* Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items.
* Renaming SelectedIndex to ContextMenuSelectedIndex
* Enabling key accelerators on context buttons.
1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results.
2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel
3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus.
* Launching explorer instead of the UWP application when selecting 'open file location'.
* Added fix for border showing up when result count is zero
* Updated fix for border on no result
* Adding visibility after clearing result in MainViewmodel
* Launcher Light/Dark mode (#2235)
* Fixed issue with list view background not updating with Windows theme change
* Added theme change for WPF
* updated ShadowDepth for dropshadow
* Updated border thicknes of searchbox and listview
* Diff issue with ResultList.xaml
* Removed change in result delay
* Added code to pull colors from UWP
* Updated border resource to use system based SystemControlHighlightAccentBrush
* Updated corner radius in dark mode
* Updated Launcher description text
Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>
Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com>
* Dpi unaware placement bug (#2121)
Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right.
This fixes only single-monitor scenario
It skips correction for dpi unaware window that leaves a gap
* Move markdown parsing logic outside control thread (#2099)
* Move markdown parsing logic outside control thread
* Update MarkdownPreviewHandlerControl.cs
* Remove trailing whitespace.
That'll teach me for trying to make an edit from the GitHub page.
* Migrate power rename MRU lists from registry to JSON (#2090)
* Handle most recently used search/replace strings within settings.
* Check for last modified time of json file and reload it if needed.
* Handle changes in MRU search / replace lists size.
* Improve handling of changes in MRU list size.
* Don't check for last modified time in every getter method. Load only when starting application.
* Add const identifier to getter methods.
* Address PR comments: Add const to reg and json file paths and set them in constructor initializer. Check pushIdx validity. Move implementation to cpp of PowerRenameUI constructor.
* Add error checking when getting values from registry.
* Implementing changes suggested in #1992 (#2116)
* Implementing changes suggested in #1992
* Update Product.wxs
Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu>
* Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117)
* Fix for issue #1532
[PowerToys] Show version on tooltip
* Update src/runner/tray_icon.cpp
Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
* FZ editor: Splitted zones positioning (#2158)
* Added a mutex to ZoneWindow, ensured no data races occur (#2154)
* Added a mutex to ZoneWindow, ensured no data races occur
* Protected draggedWindow* members with a mutex
* Ensured that critical reads happen in a single transaction
* Dpi unaware placement bug - multimontior with same DPI settings fix (#2156)
* Dpi unaware placement bug - multimontior with same DPI settings fix
* Using different enumerating method
* Changed AllMonitorHaveSameDpiScaling method
* Removed accidental file
* small rename
* Changed some methods to CamelCase
* Review comments fixes
Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com>
Co-authored-by: Ben Randall <veleek@gmail.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com>
Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu>
Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com>
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
* Fixed typo in output folder of calculator plugin
* Calculator plugin works
* Modified the name of the image to remove space as space is assumed to be a separator in wcx file
* Fixed typo in calculator dll
* Fixed typo in calculator plugin
* Shell, Program, Folde and indexer plugin working
* Added the ww plugin
* Fixed typos in the calculator plugin
* Delete file that was added unintentionally
* revert calculator rename changes
* Reverted other files changed
* Reverted renaming of file with space
* Added a mutex to ZoneWindow, ensured no data races occur
* Protected draggedWindow* members with a mutex
* Ensured that critical reads happen in a single transaction
* Added combobox
* Formatted and removed unused code
* Added drop down support for Edit Keyboard window
* Reordered the displayed key list
* Add shortcut stack panels and drop downs linked to detect shortcut
* Add more selected item logic
* Added complete dropdown support for edit shortcuts window
* Added Flyout warning for incorrect drop down input
* Tweaked warnings
* Removed MainWindow code
* Changed SelectedValue toSelectedIndex
* Removed unnecessary assignments
* Added a warning for two dropdowns and the first one is changed to an action key
* Added function comments in cpp file
* Fixed some comments
* Fixed all allocation and out of scope issues
* Fix most issues except reloading shortcuts
* Fixed issue while reloading shortcuts
* Fixed type cast warnings
* Changed delete to delete[]
* tweaked
* Copy the existing calc. plugin foldeR
* Blindly rename a bunch of things to Window Walker
* Update the solution to reference the new plugin
* Get basic Yo returned
* Remove all the languages except english
* Lower quality of icon as well as test showing it
* Add the core non-ui parts to the plugin
* Delete calculator png
* Get it to compile
* Added the actual code which apparently doesn't work
* Finally start showing results
* Fix up strings
* Switch working
* Remove unused classes
* Remove unneeded async
* Added Tests and Refactored code
* removed un-used file
* delete test files when test completes
* removed extra build configs
* added clean-up method
* removed unused variable
* re-added removed attributtion
* added error handling and move strings to string resource
* added error handling to file explorer view model
* moved varible assignment to if statement block
* removed savin of settings file from the UI
* re-added open source notice
* added missing controls for powerrename and fancy zones
* removed dead coded
* remove un-used configuration
* added error handling for file saving and updated powerreanme constructor
* removed added configurations
* added settings state
* Replace WPF Imaging library with UWP
* Removed UWP and WPF namespace conflicting files from Wox
* Removed Image hashing as it wasn't used anywhere
* Updated formatting
* Handle most recently used search/replace strings within settings.
* Check for last modified time of json file and reload it if needed.
* Handle changes in MRU search / replace lists size.
* Improve handling of changes in MRU list size.
* Don't check for last modified time in every getter method. Load only when starting application.
* Add const identifier to getter methods.
* Address PR comments: Add const to reg and json file paths and set them in constructor initializer. Check pushIdx validity. Move implementation to cpp of PowerRenameUI constructor.
* Add error checking when getting values from registry.
* Move markdown parsing logic outside control thread
* Update MarkdownPreviewHandlerControl.cs
* Remove trailing whitespace.
That'll teach me for trying to make an edit from the GitHub page.
Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right.
This fixes only single-monitor scenario
It skips correction for dpi unaware window that leaves a gap
* Added CustomAction Data Models
* Updated data model
* Updated Button command trigger for keyboard manager
* Integerated custom actions in Keyboard manager module backend
* Allow Runner to launch windows on foreground
* Refactor and moved the execution logic to background thread
* Removed non-required unlock calls
* Fixed typo
* Resolve PR comments
* updating a ton of warnings.
* bunch of cleanup
* few smaller ones
* fixed naming
* reversing an oops
* adjusting json to use attribute
* more json properties
* Refactor a method which resizes windows
* Completed initial work for MultiZones
Without changing any test, they all pass!
* Implemented a basic version of Multizones, updated some tests
* Reduced the sensitivity radius
* Added a few must-have unit tests for Multizones
* Some fixups
* Took care of the conflict between this and #1938
* Improved how zones are detected, reverted a change in one unit test
* Resolved another merge conflict
* Fixed bugs related to stamping
* first set of warning fixes
* Since this is a Interop item, it should have a _
* Update Window.cs
* Update InteropAndHelpers.cs
looks like there was a space a the top
* Update Window.cs
* Added unique lock mutexes for thread safety
* Fixed a bug in detect key logic
* Changed dword to word
* Added early unlock statements to fix issue with shortcut guide
* Fixed type conversion warnings
* Migrated detect shortcut window to use Shortcut class
* made changes in Apply button logic
* Revert thread safety changes
* refactored code works on the UI side
* Refactored remapping code to use new Shortcut class
* Refactored to SetKeyEvent function
* Moved function to cpp file and added more comments
* Refactored map variable and handled common Win key
* Remove debug code
* Change arguments to const references
* Added unique lock mutexes for thread safety
* Fixed a bug in detect key logic
* Added early unlock statements to fix issue with shortcut guide
* Added comments for unlocks before SendInput and changed some unique_locks to lock_guards
* Added check keyboard state function
* Added keyboard state check to avoid n-key shortcuts being affected by 2 key shortcuts
* Added support for n key shortcuts in backend and UI
* Added a fix to ensure mouse buttons states are not checked
* reverted some debugging changes
* reverted some debugging changes
* Added EditShortcuts Window and added Detecting shortcuts functionality
* Fixed build error
* Changed detection to take place only when window is in focus
* Added solution folder
* Added a common project and refactored shared variables to an object with wrapper functions
* Added dynamic addition of shortcuts
* Moved all shared variables in detection to state variable with wrapper functions
* Added code to re-load saved shortcuts in the UI
* Added comments
* Fixed argument modifiers in Helpers
* Updated arg modifiers in all functions
* Removed unused headers and added precompiled headers
* Created PowerKeys project
* Swapping tab with shift
* Added hash map and iterators for remapping code
* Added PowerKeys flag and added toggletomod function
* Added shortcut base code
* Fixed os level shortcut functionality
* Added 1 extra event
* Added check for same modifier and comments
* Added app-specific remapping for 4 apps including UWP apps
* Changed foreground window logic
* Added a separate hook for PowerKeys which can be re-hooked by enabling and disabling
* Added a separate hook for PowerKeys which can be re-hooked by enabling and disabling
* Fixed all priority issues and changed injection flags
* Added another msedge.exe shortcut
* Added a UI which is linked to the backend hook
* Cleaned code and added comments
* Added second button
* Renamed some files/variables and added an extra button
* Use JSON data file for storing PowerRename settings instead of registry
* Address PR comments and made several improvements
* Remove WindowsApp.lib dependencies in test app and unit tests
* Revert changes in vcxproj for unit test
* Solve linker warnings generated while linking WindowsApp.lib
* Don't migrate enabled flag. Always read / write from registry.
This was needed while we were migratin device-info so
active layout could be migrated as well. At some point
we dropped migration of device-info. Therefore, this has no
puprose anymore.
* Improved styling so it looks more Fluent and native to W10
* CanvasZone border is now using the active accent color
* Updated GridZone to a similiar Fluent styling as the CanvasZone. Added a mouseover state to the GridResizer.
* Better app listing like Alt-Tab supports UWP apps and hidden apps running in another virtual desktop just like Windows Alt-Tab
* Modified not to hide cloaked apps i.e. also show apps running in another virtual desktop
* Improved listing apps, with readability and reusable abstract properties.
Including a function to detect cloaked UWP apps for future use.
* added power preview settings
* Added link to module oververview
* create settings file if one is not found
* removed run oon start up speficic callback
* Update src/core/Microsoft.PowerToys.Settings.UI.Lib/ModuleSettings.cs
Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
* fixed merge conflicts
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
* archive
* formmated code
* reverted changes to test class file.
* reverted changes to test file: reverted name
* added class models and updated link
* removed test console project
* Enable Unit tests for PreviewPane Test Assemblies in CI
* Added Preview handlers unit tests project back
* throw for Svg to debug tests
* Removed failing test
* Removed throw statement
* Added MD unitests in yml
* Run ui tests on STA thread
* Throw svg to debug failing tests
* Updated test adaptor
* Removed failing test to validate CI
* throw svg failing test with full stack trace
* Check if mock stream is causing the issue
* narrow down the failing tests code - 1
* narrow down the failing tests code -2
* dispose all controls
* Restore SVg preview control
* Update test adaptor and dependency to latest
* #1821 Support device names with underscores (such as 'Default_Monitor') in JSONHelpers.isValidDeviceId
* Make support for '#' in device names optional
* Add more unit tests for isValidDeviceId
* Updated readme
* Updated readme for file explorer module and demo gif
* Updated figure description
* Fixed typo
* Moved the localizaton instruction to separate file
* Updated coding guidance readme
* initial doc work
* rename file to match current naming, got images working
* adjusting the "keep us functioning" section sooner
* Update run-as-admin-detection.md
* Fix for issue #1218
Design Change: Default Enter Action
* Fix for issue #1085
* change zone's number color and font
remove the light blue background
* Fix for disappearing zone number in editor
* Grid layout reversed order fix
Co-authored-by: sqrlmn <sqrlmn@users.noreply.github.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
* Updated Parsing extension to show infobar when relative URL isblocked and updated corresponding tests
* Updated Controller to display infobar when html img tag is embedded in markdown
* Fancy zones ui update (#4)
* Draft of numeric fancyzones with numbers
* Added support for zone color configuration, improved zone number display
* Changed order of settings to more logical
* Added option to edit zone border color
* Trancparency of dragged window, transparency of displayed zones, changed font of zone numbers
* Fix for compilation
* Some refactor
* Introduced gdiplus to draw zone and zone index
* Fix for dissappering windows
* Some fixes
* another merge fix
* another merge fix
* Unit test merge fix
* Transparency with show zones on all fix
* indentation fix
* Fix for failing test
* Changed order of color pickers
* "Zone Opacity"
* Zone opacity (%)
* Added option to turn off dragged window transparency, changed default zones color values
* When moving window into zones using arrow keys, support multi-monitor scenario
* Minor coding style adjustments
* Split implementation into separate functions because of readability
* Rename certain arguments
* Modify unit tests after API changes
* Address PR comments and add unit tests
* Return true from MoveWindowIntoZoneByDirection only if window is successfully added to new zone
* Improved monitor ordering (#1)
* Implemented improved monitor ordering v1
* Fixed some embarrassing bugs, added some tests
* Added one more test
* Extracted a value to a variable
* ASCII art in unit test comments describing monitor layouts
* Removed empty line for consistency
* Update comment to match the code
* Refactored tests, added tests for X,Y offsets
Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
* Fixed rc file settings description string
* Added moved settings verbiage
* Updated Image Resizer readme
* Fixed section link
* minor changes to readme
* Fixed extra space
* Updated figures to markdown
* removed html center and img tags
* sln: set output dir prefix to "modules\" for all modules
* sln: CopyToOutputDirectory only when necessary
* sln: intermediate dir for csprojs
* sln: intermediate dir for vcxprojs
* sln: add PT as runner project deps + remove nonexisting project confs
* sln: remove AnyCPU for win-app-driver project
* editor opening tests
* moved fancy zones opening method
* moved settings restore to base class
* changed launch
* fixed tray button search
* added exit function
* Implemented proper canceling for CanvasEditor
* Implemented proper canceling for GridEditor
* Possible fix for a crash in my implementation of canceling
* Fixed a crash in FZE/Grid editor
* Fixed issue with autostarting as admin even if it should as user, fixed permissions issue for autostart configuration
* Indentation fix
* Added support for all cases of autostart task modifying
* Fix for compilation
* Commented out failing unit tests and changed the output directory of unit tests project
* Enabled Assembly redirect
* removed SvgPreviewHandlerUnitTests and PreviewPaneCommonUnitTests from the solution
* Removed the commented code project itself is removed from sln
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
* Added project template for common library
* Added reference to stylecop.json
* Fixed xml documetation file path for common project
* Added reference to stylecop.json
* Added COM interface interpolations to C#
* Changed namespace to Common
* Added xml doc to com interfaces
* Removed AnyCPU configuration from solution file
* Added Preview Hander and form User Control Implementation
* Fix stylecop warnings
* Added test control and handler
* Added Xaml description for preview handler
* Added Xml documenatation
* Updated the control to form
* Added registration and unregistration logic for the handler
* Moved the files in separate folder and fix PR comments
* updated the name of previewhandler class to base class
* Added the DoPreview to PreviewHandlerControl Interface
* Modified the Dopreview and Unload as virtual method
* Uncommented the DocumentText to help bug repro
* HTML Parsing Extension for preview pane markdown renderer (#1108)
* Added Extension for html post processing
* Added unit test poroject for preview pane
* Added pipline test and base test function
* Added Tests for extension
* Added tests for url slashes
* Added tests for url and figure caption
* Markdown preview pane (#1128)
* Added Extension for html post processing
* Added unit test poroject for preview pane
* Added pipline test and base test function
* Added Tests for extension
* Added handler and control for markdown
* Tests added
* Locally working version for markdown
* Working image relative url's in markdown
* Added CSS to preview display
* Updates CSS for code block
* Removed html file write comment in markdown control
* Updated assembly version and web browser control test
* Add Svg preview handler (#1129)
* Added a new project for Svg preview handler
* Added initial implementation of Svg Preview Handler
* Fixed output path
* Added Unit Test Project
* Added StreamWrapper and Update Svg Control
* Updated Svg Handler Guid
* Removed migration backup folder
* Removed Fluent Assertions NuGet
* Added Comments for StreamWrapper
* Removed the manual GC collect
* Added unit tests for Svg preview Handler
* Updated the xml doc for stream wrapper
* User/lamotile/add_powerpreviewsettings (#1075)
* Added powersettings to PowerToys Settings UI
* added settings library
* updated settings-web
* updated project oncfiguration
* updated project onfiguration
* updated project .sln file
* removed .etl file and added it to git-ignore
* separated the PowerPreviewModule into split classes .cpp and .h
* moved PowerPreviewModule implemnetations to .cpp file
* fixed StringTable formatter
* fixed spacing in resource.h
* added m_ to member varibales
* initiliaze m_isPreviewEnabled in the base class
* removed duplication of objects by using pass by refference and std::move
* made the getters const
* updated naming convention
* Split test calsses
* Add const string
* Replaced move with const string
* Made attributes private
* Made attributes private
* removed unused constructor
* Update resource.h
formatted resource.h
* Adding unit tests for preview handler common (#1156)
* Changed the name of the Common library to PreviewHandlerCommon
* Added unit tests project for PreviewHandlerCommon
* Updated ComInterop accessor type
* Added unit tests for PreviewHandlerbase
* Added tests for file and stream based handler
* Added unit tests for StreamWrapper
* Added form handler unit tests
* Added Unit tests for FormHandlerControl
* Added file header
* Add Powerpreview project
* Add spacing in sln file
* swapped string refferences (#1199)
* added registry methods and enable/disable preview handlers (#1230)
* added registry methods and enable/disable preview handlers
* formatted .rc file.
* formatted resource file
* formatted .rc file.
* formatted settings.cpp
* formatted settings.h
* formatted SVGPreviewSettingsClassTest.cpp
* Formatted MarkDownPreviewSettingsClassTest.cpp
* using wide strings
* formatted settings.h
* FileExplorerPreviewSettingsTest.cpp formatting
* fixed typo and formatting
* closing Registry and fixing typos
* formmarted code using ctrl+k+d
* fixed naming
* fixed typo
* changed if/else reverse order
* Markdown preview pane (#1220)
* Added rich text bar for information display
* Added infobar
* Added tests for extension and markdown control
* Added xml docstring for markdown preview handler control
* Updated assembly file for markdown preview pane
* Updated removal of script tag without modifying CSS
* Added info bar text string to resource file.
* Removed error with infobar display on first rendering
* Updated assembly version
* Remove script and image element from Svg (#1231)
* Added implementation to remove script and image tag
* Added Unit tests for SvgPreviewHandlerHelper
* Updated Unit tests for SvgPreviewControl
* Moved the hardcoded string to resource file
* Changed the LocalMachine to CurrentUser for preview handler registration
* Added unit tests for multiple blocked elements tags
* User/lamotile/update settings objects (#1263)
* added registry methods and enable/disable preview handlers
* formatted .rc file.
* formatted resource file
* formatted .rc file.
* formatted settings.cpp
* formatted settings.h
* formatted SVGPreviewSettingsClassTest.cpp
* Formatted MarkDownPreviewSettingsClassTest.cpp
* using wide strings
* formatted settings.h
* FileExplorerPreviewSettingsTest.cpp formatting
* fixed typo and formatting
* closing Registry and fixing typos
* formmarted code using ctrl+k+d
* fixed naming
* fixed typo
* changed if/else reverse order
* updated setiings_objects.cpp
* removed changes on files that are not part of this PR
* removed const ref on primative types
* updated pass by ref semantic and removed pas by reff on primative types
* fixed spaces in the commas
* fixed spaces in brackets
* Preview pane telemetry (#1299)
* Added telemetry base class and markdown telemetry class
* Updated docstring for telemetry event.
* Added telemetry to markdown for error
* Added try catch for markdown preview handler and display error bar
* Updated markdown telemetry to make event names global variable
* Updated parameter name to camel casing and telemetry event name naming.
* Corrected assembbly version for svg renderer
* Markdown Image files display (#1303)
* Added telemetry base class and markdown telemetry class
* Updated docstring for telemetry event.
* Added telemetry to markdown for error
* Added try catch for markdown preview handler and display error bar
* Updated markdown telemetry to make event names global variable
* Updated Markdown preview to display without vertical scrollbar and removed xml doc to html agility pack.
* Updated parameter name to camel casing and telemetry event name naming.
* Corrected assembbly version for svg renderer
* Removed duplicate function
* Add telemetry for Svg preview handler (#1314)
* Added telemetry events for Svg Preview Handler
* Added unit test in case preview handler throws
* Updated the Error event name
* Remove the not required return statement
* User/lamotile/add read me (#1332)
* add readme
* moved images
* re-added images'
* Fixed gramma
* Update figure number refference
* improve preview handler intergration (#1319)
* improve preview handler intergration
* Fixed typo
* updated typo
* updated enable() function
* updated is enabled()
* re-updated is enabled()
* added this-> key word
* (0.16) - Install preview handler with msix (#1339)
* Removed the registration logic from preview handlers
* Updated the output path
* Added logic to shim the activation of .net assembly
* Updated manifest file
* Fix the allowedsilenttakeover filed in manifest
* Updated the appxmanifest file
* Added AllowSilentDefaultTakeOver in manifest
* Fix returned error code by DllGetClassObject
* Moved the CLSID to a common header file
* Added info about where CLSID needs to be updated
* Added a .reg file for the Keys added in registry.dat
* Added comments for DllGetClassObject
* Svg Preview Handler block external component (#1368)
* Removed the registration logic from preview handlers
* Updated the output path
* Added logic to shim the activation of .net assembly
* Updated manifest file
* Fix the allowedsilenttakeover filed in manifest
* Updated the appxmanifest file
* Added AllowSilentDefaultTakeOver in manifest
* Fix returned error code by DllGetClassObject
* Moved the CLSID to a common header file
* Added info about where CLSID needs to be updated
* Added a .reg file for the Keys added in registry.dat
* Added comments for DllGetClassObject
* Extended WebBrowserSite for setting flags in DISPID_AMBIENT_DLCONTROL
* Added XML Documenatation
* Removed the logic for deleting image and script element from Svg
* Updated Unit Tests
* Updated typecast of uint
* Forwarded calls to Type.InvokeMember
* Resolve PR Comments
* Adding MSI Installation for Preview Handler (#1436)
* Updated wxs for including dll and registry keys for preview handlers
* Changed the casing for registry key
* Resolve PR Comments
* Added comments for File element
* Call GC on preview unloading (#1456)
* Call GC collect on preview unloading
* Added github issue link
* Update Web browser control for Markdown Previewer (#1464)
* Updated Webbrowser control
* Updated Unit tests
* Disabled Navigation for Svg Previewer
* Fix power preview unit tests (#1508)
* Decoupled registry interaction logic
* Updated File explorer settings
* Updated unit tests for PowerPreview Settings
* Added Asserrtion for Scope of registry key
* Updated the registry value to match with installation registry value
* Sync master settings.cpp
* Merge settings changes from PreviewHandlers
* Remove newline changes added into in example_powertoy\trace.cpp
* Chaned .net framework to 4.7.2
* Updated Csproj files to auto generate Assembly.info files
* Updated msi installer to use version variable for preview handlers assembly
* Removed the signing of Assembly and updated wxs to not include PublicKeyToken
* Updated the Path in Packaginglayout.xml to modules from Gac and the registry hive binary
* Regenerated updated JS and html file
* Resolve PR Comments
* Readded the wprp file
Co-authored-by: Divyansh <divyan@microsoft.com>
Co-authored-by: Divyansh <somm14divi@gmail.com>
Co-authored-by: Lavius Motileng <58791731+laviusmotileng-ms@users.noreply.github.com>
* Fixed a Grid editor issue
* Explained the fix in ExtendRangeToHaveEvenCellEdges
* Simplified code in ExtendRangeToHaveEvenCellEdges
* Removed redundant comment, more camelCase
* FancyZones editor magnetic snapping effect
Implemented a solution to Issue #585: FancyZones: Alignment/Snapping/Ruler
* Fixed VS complaining about names and access modifiers
* Removed reference to unused implementation of snapping in FZE
* Converted integer constants to enums in FZE/Canvas
* Convert a portion of code to a switch statement
* Improved code maintainability
* Fixed a screen resolution bug in FZE/Canvas
Fixed a bug where the editor doesn't respect the new screen resolution.
* Further maintainability improvements
* Fixed a compiler warning
* Changed some variables to camelCase
* Close input stream
Show MessageBox with exception message
Remove unused arguments
Guard all of the Editor input/output code parts and show MessageBox
with appropriate message and issue reporting link
* Extract showing messageBox into method
* Switch WindowWalker C# project to use PackageReference
* Remove packages.config leftovers
Co-authored-by: William Kent <wjk@users.noreply.github.com>
* installer: extract version number into separate file and use it where possible
* MSIX: rename package to include version on CDPx
* installer: generate assembly info for FZ editor
* MSIX: inject correct version to appxmanifest
* format_sources: exclude 3rd party sources
* format common project
* format leftovers in runner & settings projects
* move source formatting-related files according to #939
* Add handling of portable mode when updating
Additionally:
1. Changed getting version from internally rather than from RELEASES file
2. Added PortableDataPath as a constant so can be used to determine if portable mode is used
* Fix incorrectly wired auto update event handler
* Fix Sys plugin missing Shutdown command icon
* Add check update command to Sys plugin
* Add message if current Wox version is latest
* Add default silent when auto checking updates in background
Silent when current is still the latest version
* Move UserData folder to new version location
* Changes per review
1. Move IsPortableMode to Constant
2. Merge if statement
* Per comment- change variables to be more descriptive
UpdateInfo and UpdateManager renamed
* Per comment- Add exception handling and message if failed.
Uses FancyZones logic to test if window is zonable or not. Displays
window styles and results for various tests if the window should be
zonable or not.
* Introduce handling of new/old work areas (defined by virtual desktop id and monitor)
* Save data to JSON storage only once after we register all deleted virtual desktops
* Update saving mechanism
* Remove resolution from unique identifier
* Update comments related to new unique identifier
* Don't handle NULL GUID as it is default one
* Revert "Remove resolution from unique identifier"
This reverts commit 5a36651217.
* Revert "Update comments related to new unique identifier"
This reverts commit 8e89802549.
* removed MigrateDeviceInfoFromRegistry
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
* Added PowerLauncher spec and images
* Fixed images path
* Addressed review comments
* Fixed images
* Addressed review comments, and added link to keyboard shortcut manager PowerToy
* Added Ueli in comparison table
* Added keyboard input element
* Added suggestions from community
* Moved default shell and terminal settings
* Addressed feedback
* Added community suggestion
* Modified spec based on feedback
* Modified spec based on suggestions
* Added keyboard shortcuts to context menu options
* Migrate FancyZones data persisting from Registry to JSON file
* Address PR comment: Remove redundant check
* Addres PR comment: Remove unused Dpi and add CmdArgs enum
* Address PR comment: Make methods const and inline
* Address PR comments: Expose GenerateUniqueId function and use const ref instead of passing wstring by value
* Address PR comment: Use lamdba as callback
* Address PR comment: Move GenerateUniqueId to ZoneWindowUtils namespace
* Address PR comment: Use regular comparison instead of std::wstring::compare
* Address PR comment: Use std::wstring_view for tmp file paths
* Address PR comment: Use scoped lock when accessing member data
* Address PR comment: Remove typedefs to increase code readability
* Address PR comment: removed nullptr checks with corresponding tests
* Address PR comment: Move ZoneSet object instead of copying
* Address PR comment: Make FancyZonesData instance const where possible
* Remove unnecessary gutter variable during calculating zone coordinates
* Remove uneeded subclass
* Avoid unnecessary copying and reserve space for vector if possible
* Save FancyZones data after exiting editor
* App zone history (#18)
* added window and zone set ids to app zone history
* Rename JSON file
* Remove AppZoneHistory migration
* Move parsing of ZoneWindow independent temp files outside of it
* Unit tests update (#19)
* check device existence in map
* updated ZoneSet tests
* updated JsonHelpers tests
* Use single zone count information
* Remove uneeded tests
* Remove one more test
* Remove uneeded line
* Address PR comments - Missing whitespace
* Update zoneset data for new virtual desktops (#21)
* update active zone set with actual data
* Introduce Blank zone set (used to indicate that no layout applied yet). Move parsing completely outside of ZoneWindow.
* Fix unit tests to match modifications in implementation
* Fix applying layouts on startup (second monitor)
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: Seraphima <zykovas91@gmail.com>
Splits the code use to filter windows for FancyZones and the
"active window" for the ShortcutGuide. The FancyZones logic is preserved
and merged into a single function. We keep it in common.h, as it might
be also used in other PowerToys, like maximized to new desktop. We do
however change the return type to be more descriptive. It also returns
a separate flag for if the window has a visible owner. This can be used
to implement the approved apps list.
For the ShortcutGuide, the logic is relaxed to include more windows. One
example are Explorer properties windows. Those are (and should) filtered
by the FancyZones, but should appear in the window preview in the SCG.
The new return type also includes information if the window will react
to the default Windows Snap. This is not ideal though. Currently, SCG
can only disable the entire "Windows Controls" group. OTOH windows like
"Save As..." dialogs can be snapped to corners etc., but cannot be
minimized nor maximized. Until SCG can separately disable those buttons
we will display the buttons in the enabled state only if the window
supports all settings. In the future, we should integrate FancyZones
snap override here too.
The cache was introduced to improve performance by not querying the
OS for the window process path every time we need to check if the window
is interesting to FancyZones. Since then other changes were made to the
the way we check the windows. Right now, the IsInterestingWindow function is
called when:
1) WinKey + arrows are used
2) window is started to be dragged
3) window is created
1) and 2) are initiated by the user, happen only once per interaction so
their performance impact can be dismissed. The 3) happens all the time
but for the most part the check for WS_CHILD or
GetAncestor(window, GA_ROOT) == window will filter those out. In the
end, only top-level windows will be queried for their path.
Removing the cache improves code readability and will make code
maintenance easier.
Do not swallow WinKey+Arrow events for non-interesting windows. This makes apps that are in the "excluded apps" list behave as if "Override windows snap keys" is disabled - they will react to the Windows default snap.
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* fix typo
* make function obsolete
it is not used in the code
* rewrite the function that converts chinese chars to pinyin
1. Only difference in this rewrite is instead of returning 2D array, return as a combined single string of all the possible pinyin combination. Since fuzzy search does character matching, this shouldn't be a problem.
2. Added a function that returns a custom language converter. In this case Pinyin converter. New converters can be added.
* Use new language converter param + strip out ScoreForPinyin method
* update
* Change parameter name
* fix failing tests
* WIP
* Remove todo
There should be some distinction between score after precision filter and actual raw score derived from FuzzySearch. Although so far RawScore is used in testing, but it seems to describe the structure. Originally it was to avoid assigning score directly as it would be hard to reason about that output of FuzzySearch score is.
* Add constructors, remove default to enforce required properties
* remove setting rawscore in SearchPrecision
* Change method name to reflect intention
* Change parameter name + update comment
* update
* Remove params comment
Co-authored-by: theClueless <14300910+theClueless@users.noreply.github.com>
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
- Moved if statement that checks if all query substrings are matched into a funciton
- convert into shorthand expression the if statement that checks if all words are fully matched
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
- Move checking if there is a prev compare string char match into function
- Move updating of index list when a better match is found for the first substring logic into function
Make the runner not run as elevated by default. Add a setting for
"run PowerToys as elevated" and buttons to restart the process
with the different elevation levels.
* docs: split usage and dev docs
* # This is a combination of 2 commits.
# This is the 1st commit message:
docs: split usage and dev docs
# The commit message #2 will be skipped:
# fixup add docs
* docs: add runner documentation and move hooks documentation to devdocs
* docs: add stubs for modules technical description
* docs: add paragraph about event thread-safety
* docs: add 'Current modules' section header
1. Creating a mock ZoneWindowHost. Previously creating a ZoneWindow would throw an exception if the ZoneWindowHost is null.
2. Passing in HWND() instead of null to get rig of SAL annotation warnings.
1efe5bff9f
It looks to me like the test cases just was also wrong and just wasn't updated with the fix.
I've modified some of the test cases to verify the expected behavior:
1) Slight refactor of the tests to pass in the SearchReplaceExpected and flags for the tests.
2) Using Assert::AreEqual instead of Assert::IsTrue for better error meesaging when failed.
3) Verifying that the behavior is the same with or without match all occurances when using *.
4) Verifying that without the `UseRegularExpressionsFlag` the `.*` characters get replaced, including when MatchAllOccurances is set.
1) Adding example project to Debug / Release Builds.
2) Including <string> in common.h
3) Using std::optional instead of PowerToysValues::is_[type]_value
4) Fixing warnings generated by unreferenced 'ex' variable in exception handling.
5) Updated relative path of version.h in exeample_powertoy.rc
Flag is used in method "ShouldUsePinyin()" to avoid calling Alphabet
service. Otherwise, tests applying to StringMatcher.FuzzySearch() would
fail because the pinyin helper library fails to initialize.
The MatchResult will always get the maximum score from either
ScoreForPinyin() or CalculateSearchScore(). ScoreForPinyin() is
completely dependant on the "ShouldUsePinyin" global setting.
The search precision must be used, so it makes sense to apply the filter
directly on score assignment. Score will be "0" if precision filter
was not met.
As Alphabet class is static, its methods could be used without
ever calling Alphabet.initialize(_settings) beforehand which would end
in an exception. Therefor only _shouldUsePinyin settings needed will
be transferred with a given default value.
This makes the Hotkey settings object ignore the key value stored in
json. Instead it will be deduced from the current keyboard layout and
the vk_code.
* Removed and runs
Still needs some extra cleanup and addressing open issues
* Removed and runs
Still needs some extra cleanup and addressing open issues
* Clean
* Update
Unifies the way windows are considered "interesting" by FancyZone.
Berfore the change WinKey + arrows would use different method than
dragging. This PR makes both use the WinKey + arrows method.
Cleans up FancyZones Settings.cpp by removing m_configStrings variable.
Contrary to its name it was used to create color picker control.
Adds a multiline option to the text input to settings. Uses this to
provide the user with a way to exclude certain apps from snapping to
zones.
* Use DPIAware::DEFAULT_DPI
* Make runner DPI-unaware, since it doesn't need to use a Per Monitor V2 DPI.
* Programmatically enable "Per Monitor V2 DPI" for the runner proccess and use a separate DPI-unaware thread for the corresponding API calls
* Increase PCH memory limit for settings project
* Address review issues
* Draw zoneWindows properly scaled
* Bug Fixes
Fixes include:
* Pass parent HWND to UI so dialog is no longer appearing in top corner all the time
* Fix duplicate entries for PowerRename in context menu for shortcuts
* Fix crashing bug due to telemetry not getting unregistered on unload
* Ensure we show the file extension in the UI even if extensions are hidden in Windows Explorer
* Update PowerRenameExt.cpp
Fix missed line to set parent HWND
Use reserved 0xCF virtual key-code to suppress the Start menu from
appearing instead of 0x07 which is used by the Xbox Controller for the
Xbox Guide button.
Fixes: https://github.com/microsoft/PowerToys/issues/595
The call to load_general_settings will throw an exception if the
settings.json file for the general settings is not present. This leaves
settings_theme variable uninitialized, resulting in no value selected in
the general settings screen for users that did not make any changes to
the general settings. This fixes this issue by initializing the value
with a "system" default value.
Fixes: https://github.com/microsoft/PowerToys/issues/560
* Update icon and add telemetry calls
This change adds the new PowerRename icon and includes telemetry calls
* Ensure string is freed
* Update event naming convention
* Delete PowerRenameDemo.gif
Deleting this gif as I added it with a separate commit with the README.md update for PowerRename
don't exit when clicking on "Apply" if no layout is selected
Credit to @AlexR3 for the fix. Alex provided a more extensive fix that disable the button when no layout is selected, but it requires more changes to the XAML and we preferred to avoid that now.
* Don't trace event on exit
change 'PowertoyModuleDeleter' to not call 'module->disable();' before 'module->destroy();' so the module can distinguish between being turned off and PowerToys exiting.
Code formatting.
* uppercase for event name
* Trace on/off event for ShortcutGuide module
* Trace the 'hide' event only if the guide was visible
'on_hide()' is invoked when the module is turned off, in that case don't trace the hide event.
* Remove spaces in data field names
Remove 'ShowGuide' event since it's not providing any useful data.
* Include build number in version number
* point to csproj instead
* version
* rs1 container
* nuget
* nuget and msbuild
* vs2019
* msbuild path
* new container, clear up feeds
* change step names, verify build output
* further dig into outputs
* point to right output, add draft installer script
* narrow down output, change signing option
* new container, try installer
* set vs dev environment
* add NuGet package for WiX
* modify project files to use the WiX NuGet package
the MSI can now be built using MSBUILD after running nuget restore
* ready installer sln to use nuget
* install and build scripts and new container
* src/editor was renamed to src/settings, fix rebase error
* check if file is present
* try again
the screen. Previously, it would iterate through the zones in the order
they were added and find the first one that fit the description. While
this works in most cases, if a user wants to have overlapping zones, it
is better to iterate through all of them and find the zone that the user
expects. There are cases where a zone is completely inaccessible on drag
because of the current code. To resolve this, the zone search will look
for the smallest zone possible. The reason I chose this solution is
because this guarantees that zones are at least reachable since if a
zone was bigger than another zone, then there must be a part of it
that is exposed, therefore reachable itself. Note: this solution is for
the scenario between two zones. More than that is not guaranteed. But I
feel like this covers enough scenarios to warrant its addition.
Example:
----------------
- Zone1 -
- ---------- -
- - Zone2 - -
- - - -
- ---------- -
----------------
Previously, zone2 was inaccessible since it would iterate through 1 then
2. But 1 would always be seen first when dragging a window. With this
fix it zone2 will be accessible.
* Change shortcut to advertised
Note that I had to remove the ability to not install a
Start Menu shortcut, as advertised shortcuts must always
be installed.
Also note that I had to change the "Core" feature to always
be installed (disabling Install-on-Demand) as having that
turned on broke the Scheduled Task installer.
* Disable ARPNOMODIFY
SelectedSearchSource will be null if the user clicks on Edit or Delete after finishing with previous edit and not highlighting the search source again.
* Added thumbnail loader
* Deleted old shell icon extraction logic.
Refactored ImageLoader.Load to improve readibility.
* Moved error handling down into the API call itself
* Minor renamings in ImageLoader
* Load icons only for files that are not images. Fixes stutters when loading folders.
* Added the ability to load a full image through ImageLoader.
ImageLoader.Load now also has a "loadFullImage" parameter.
* Max image cache is now 5000 instead of 200.
* Added some commentaries on how thumbnails are loaded
* ProgramPaths now searches for files on a per-folder basis using a Queue instead of calling EnumerateFiles. This allows us to escape permission errors.
Issue #1779 is fixed because of this too.
Tries to convert numbers in query string to invariant culture format before passing to YAMP, and the other way around when presenting result from
YAMP. Nothing fancy, just a regular expression scanning for substrings consisting of number, decimal separator and group separator, trying a
parse and convert on them. Translation is skipped if no conversion between user locale and invariant culture number format is necessary.
Closes#436.
Added functions I commonly use on e.g. google calculator but were missed by parser.
Specifically I added:
e (constant like pi)
tan, arcsin, and arctan
log and ln
1. remove unnecessary events from MainViewModel
2. remove usage of Obsolete api (show, hide etc)
3. fix space problem in #660
4. part of #486
5. fix up/down key bug introduced in 92b7ca6a1bafd254e39ee92812ff691906cd85c1
6. fix#678
1. installer
2. auto check update on startup
3. auto start on next startup
4. remove command line arguments which breaks squirrel
5. auto generate installer on continue integration
1. Fix can't find Result.ctor bug for plugin introduced in
c0889de1f9ae460b2cc189eb59e5bd90ddb7d17e
2. use %APPDATA% for all data, part of #389
3. MISC
1. Remove ItemDropEvent
2. Remove ShowContextMenus from API
3. Fix context menu item can't be opened ( #535 ), bug introduced from PR #494 (commit 45dbb50)
4. Move open result command and load context menu command back to
MainViewModel
5. unify load context menu logic
6. other performance enhancement and potential bug fixed
1. Fix "Remember launch location", this was introduced since e7aa6022.
Fix#511
2. Fix opening position ( #510 ), bug introduced from PR #494 (commit e7aa602)
1. Reorder the sequence of initialization of UserSettings.
2. Use dictionary for CustomizedPluginConfigs, so code logic like
`.FirstOrDefault(o => o.ID == id);` are removed
3. part of #389
1. Remove ItemDropEvent
2. Remove ShowContextMenus from API
3. Fix context menu item can't be opened ( #535 ), bug introduced from PR #494 (commit 45dbb50)
4. Move open result command and load context menu command back to
MainViewModel
5. unify load context menu logic
6. other performance enhancement and potential bug fixed
1. Fix "Remember launch location", this was introduced since e7aa6022.
Fix#511
2. Fix opening position ( #510 ), bug introduced from PR #494 (commit e7aa602)
1. Reorder the sequence of initialization of UserSettings.
2. Use dictionary for CustomizedPluginConfigs, so code logic like
`.FirstOrDefault(o => o.ID == id);` are removed
3. part of #389
- Add MVVM structure(BaseViewModel)
- Create ViewModel for MainWindow
- Refactor MainWindow.xaml to support MVVM
- Move PublicAPI implementation from MainViewModel to PublicAPIInstance
- Exposed a new function "SetBlurForWindow" in WindowIntelopHelper that handles the blur.
- Deleted Accent and Test themes
- Changed SimpleBlur and Base themes according to changes
WindowIntelopHelper: Added accent handling
SettingsWindow: Added combobox with accent selector to Theme tab (not functional yet)
Languages: Added entries for accent colors (all are in english for now)
[TEMP] Blur and Accent themes experiments
[TEMP] blur set in mainwindow on load.
The last commit f132cb54baa000a245feb5da87149960f6dbd9f5 only fix UI
flickering for different icon. This commit also fix the commit for same
icon. e.g. in web search plugin, although the title is different, but
the icon is not changes.
part of #350
2,In FolderPluginSettings when trigger Delete Action need confirm;
3,Add drag and drop functionality in ProgramSetting and FileSystemSettings.
Signed-off-by: 716 <525223688@qq.com>
Stupid automatic formatting changed more then I wanted
Here is the change I made if you just want the code
case Key.Tab:
case Key.Enter:
AcceptSelect(resultCtrl.GetActiveResult());
e.Handled = true;
break;
This reverts commit cf7ae900.
Short name will produce no errors when debugging using Visual Studio hosting process. However, this will crash outside Visual Studio.
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."
[allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow)
[reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject)
[only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only)
[patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
[candidate.patterns](candidate.patterns) | Patterns that might be worth adding to [patterns.txt](patterns.txt) | perl regular expression with optional comment block introductions (all matches will be suggested) | [candidates](https://github.com/check-spelling/check-spelling/wiki/Feature:-Suggest-patterns)
[line_forbidden.patterns](line_forbidden.patterns) | Patterns to flag in checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
[expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect)
[advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice)
Note: you can replace any of these files with a directory by the same name (minus the suffix)
and then include multiple files inside that directory (with that suffix) to merge multiple files together.
# Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally )
# Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally )
reply:This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **5 days**. It will be closed if no further activity occurs **within 5 days of this comment**.
- description:
frequencies:
- hourly:
hour:6
filters:
- isIssue
- isOpen
- hasLabel:
label:Resolution-Duplicate
- noActivitySince:
days:1
actions:
- addReply:
reply:This issue has been marked as duplicate and has not had any activity for **1 day**. It will be closed for housekeeping purposes.
- closeIssue
eventResponderTasks:
- if:
- payloadType:Issue_Comment
- isAction:
action:Created
- isActivitySender:
issueAuthor:True
- hasLabel:
label:Needs-Author-Feedback
- isOpen
then:
- addLabel:
label:Needs-Triage
- removeLabel:
label:Needs-Author-Feedback
- addLabel:
label:Needs-Team-Response
description:
- if:
- payloadType:Issues
- not:
isAction:
action:Closed
- hasLabel:
label:Status-No recent activity
then:
- removeLabel:
label:Status-No recent activity
description:
- if:
- payloadType:Issue_Comment
- hasLabel:
label:Status-No recent activity
then:
- removeLabel:
label:Status-No recent activity
description:
- if:
- payloadType:Pull_Request
then:
- inPrLabel:
label:Status-In progress
description:
- if:
- payloadType:Issue_Comment
then:
- cleanEmailReply
description:
- if:
- payloadType:Issue_Comment
- commentContains:
pattern:'\/(bugreport|reportbug)'
isRegex:True
- or:
- activitySenderHasAssociation:
association:Member
- activitySenderHasAssociation:
association:Owner
- activitySenderHasAssociation:
association:Collaborator
then:
- removeLabel:
label:Needs-Triage
- addLabel:
label:Needs-Author-Feedback
- addReply:
reply:Hi there!<br/><br/>We need a bit more information to really debug this issue. Can you add a "Report Bug" zip file here? You right click on our system tray icon and just go to report bug. Then drag the zipfile from your desktop onto the GitHub comment box in this issue. Thanks! <br/>
- removeLabel:
label:Needs-Team-Response
description:
- if:
- payloadType:Issue_Comment
- commentContains:
pattern:'\/feedback[H|h]ub'
isRegex:True
- or:
- activitySenderHasAssociation:
association:Owner
- activitySenderHasAssociation:
association:Member
- activitySenderHasAssociation:
association:Collaborator
then:
- addReply:
reply:Hi! We've identified this issue that best is suited for Windows Feedback Hub. To do this on Windows, WinKey+F will bring it up!
reply:Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
- closeIssue
- removeLabel:
label:Needs-Triage
- removeLabel:
label:Needs-Team-Response
- addLabel:
label:Resolution-Duplicate
description:
- if:
- payloadType:Issue_Comment
- commentContains:
pattern:'\/needinfo'
isRegex:True
- or:
- activitySenderHasAssociation:
association:Owner
- activitySenderHasAssociation:
association:Member
- activitySenderHasAssociation:
association:Collaborator
then:
- removeLabel:
label:Needs-Triage
- removeLabel:
label:Needs-Team-Response
- addLabel:
label:Needs-Author-Feedback
description:
- if:
- payloadType:Issue_Comment
- commentContains:
pattern:'\/helped'
isRegex:True
- or:
- activitySenderHasAssociation:
association:Owner
- activitySenderHasAssociation:
association:Member
- activitySenderHasAssociation:
association:Collaborator
then:
- removeLabel:
label:Needs-Triage
- removeLabel:
label:Needs-Team-Response
- addLabel:
label:Resolution-Helped User
- addReply:
reply:This issue is now marked as resolved. If you have any follow-up questions, please don't hesitate to ask. You can find out more about PowerToys functionalities in our [end-user documentation](https://aka.ms/powertoy-docs).
- closeIssue
description:
- if:
- payloadType:Issue_Comment
- commentContains:
pattern:'\/loc\b'
isRegex:True
- or:
- activitySenderHasAssociation:
association:Owner
- activitySenderHasAssociation:
association:Member
then:
- removeLabel:
label:Needs-Triage
- addLabel:
label:Loc-Sent To Team
- addReply:
reply:Hi! Thanks for making us aware of the problem. We raised the issue with our internal localization team. This issue should be fixed hopefully in the next version of PowerToys.
description:
- if:
- payloadType:Issue_Comment
- commentContains:
pattern:'I would [like|love] [to help|helping|to contribute|contributing|to implement|implementing|to fix|fixing]'
isRegex:True
then:
- addReply:
reply:Hi! Your last comment indicates to our system, that you might want to contribute to this feature/fix this bug. Thank you! Please make us aware on our ["Would you like to contribute to PowerToys?" thread](https://github.com/microsoft/PowerToys/issues/28769), as we don't see all the comments. <br /><br />_I'm a bot (beep!) so please excuse any mistakes I may make_
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? -->
## Summary of the Pull Request
<!-- Other than the issue solved, is this relevant to any other issues/existing PRs? -->
## References
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
* [ ] Closes #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
-[ ]**Closes:**#xxx
-[ ]**Communication:** I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
-[ ]**Tests:** Added/updated and all pass
-[ ]**Localization:** All end user facing strings can be localized
- [ ]**Dev docs:** Added/updated
- [ ]**New binaries:** Added on the required places
- [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries
- [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder
- [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects
- [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ]**Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well -->
Write-Host-ForegroundColorRed"Detected "$totalFailures" libraries that are mentioned with different version across the dependencies.`r`n"
exit1
}
Write-Host-ForegroundColorGreen"All "$referencedFileVersionsPerDll.keys.Count" libraries are mentioned with the same version across the dependencies.`r`n"
The PowerToys team is extremely grateful to have the support of an amazing active community. The work you do is incredibly important. PowerToys wouldn’t be near what it is without your help filing bugs, updating documentation, guiding the design, or writing features. We want to say thanks and to recognize your work. This is a living document dedicated to highlighting the high impact community members and their contributions.
Names are in alphabetical order based on first name.
Aaron has helped triaging, discussing, and creating a substantial number of issues and contributed features/fixes. Aaron was the primary person for helping build the File Explorer preview pane handler for developer files.
Heiko has helped triaging, discussing, and creating a substantial number of issues and contributed features/fixes to PowerToys.
### [@Jay-o-Way](https://github.com/Jay-o-Way) - Jay
Jay has helped triaging, discussing, creating a substantial number of issues and PRs.
### [@jefflord](https://github.com/Jjefflord) - Jeff Lord
Jeff added in multiple new features into Keyboard manager, such as key chord support and launching apps. He also contributed multiple features/fixes to PowerToys.
Michael contributed the [initial version](https://github.com/microsoft/PowerToys/issues/23216) of the Mouse Jump tool and [a number of updates](https://github.com/microsoft/PowerToys/pulls?q=is%3Apr+author%3Amikeclayton) based on his FancyMouse utility.
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 multiple features to PowerToys Run
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
As PowerToys creates new utilities, some will be based off existing technology. We'll continue to do our best to contribute back to these projects but their efforts were the base of some of our projects. We want to be sure their work is directly recognized.
### [@jjw24](https://github.com/jjw24/) - Jeremy Wu
Initial base of jjw24's fork, which makes it the base of PowerToys Run.
### [Text-Grab](https://github.com/TheJoeFin/Text-Grab) - Joseph Finney
Joe helped develop and contribute to the Text Extractor utility. It is directly based on his Text Grab application.
## Microsoft community members
We would like to also directly call out some extremely helpful Microsoft employees that have directly contributed to PowerToys. This isn't their day job and was work they did out of passion. We want to say thank you and recognize your work.
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).
Randy contributed Registry Preview and some very early conversations about keyboard remapping.
### [@oldnewthing](https://github.com/oldnewthing) - Raymond Chen
Find My Mouse is based on Raymond Chen's SuperSonar.
### [@robmikh](https://github.com/robmikh) - Robert Mikhayelyan
Crop And Lock is based on the original work of Robert Mikhayelyan, with Program Manager support from [@kevinguo305](https://github.com/kevinguo305) - Kevin Guo.
### 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
## Mouse Without Borders original contributors
*Project creator: Truong Do (Đỗ Đức Trường)*
Other contributors:
* Microsoft Garage: Quinn Hawkins, Michael Low, Joe Coplen, Nino Yuniardi, Gwyneth Marshall, David Andrews, Karen Luecking
* Peter Hauge - Visual Studio
* Bruce Dawson - Windows Fundamentals
* Alan Myrvold - Office Security
* Adrian Garside - WEX
* Scott Bradner - Surface
* Aleks Gershaft - Windows Azure
* Chinh Huynh - Windows Azure
* Long Nguyen - Data Center
* Triet Le - Cloud Engineering
* Luke Schoen - Excel
* Bao Nguyen - Bing
* Ross Nichols - Windows
* Ryan Baltazar - Windows
* Ed Essey - The Garage
* Mario Madden - The Garage
* Karthick Mahalingam - ACE
* Pooja Kamra - ACE
* Justin White - SA
* Chris Ransom - SA
* Mike Ricks - Red Team
* Randy Santossio - Surface
* Ashish Sen Jaswal - Device Health
* Zoltan Harmath - Security Tools
* Luciano Krigun - Security Products
* Jo Hemmerlein - Red Team
* Chris Johnson - Surface Hub
* Loren Ponten - Surface Hub
* Paul Schmitt - WWL
* And many other Users!
## PowerToys core team
- [@crutkas](https://github.com/crutkas/) - Clint Rutkas - Lead
- [@ethanfangg](https://github.com/ethanfangg) - Ethan Fang - Lead
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.
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.
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
* Want to know if we're planning on building a particular feature? File an issue
* Got a great idea for a new utility or feature? File an issue/request/idea
* 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.
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!
### How to tell the PowerToys team this is an interesting thing to focus on
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
Please comment on [our "Would you like to contribute to PowerToys?" thread](https://github.com/microsoft/PowerToys/issues/28769) 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.
### Localization issues
Please file localization issues, so our internal localization team can identify and fix them. However we currently don't accept community Pull Requests fixing localization issues. Localization is handled by the internal Microsoft team only.
### To Spec or not to Spec
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.
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 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
Follow the [development guidelines](https://github.com/microsoft/PowerToys/blob/main/doc/devdocs/readme.md).
### Naming of features and functionality
Naming should be descriptive and straight forward. We want names to be clear about functionality and usefulness moving forward.
### 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.
When the time comes, Microsoft will reach out and help make you a formal team member. Just make sure they can reach out to you :)
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion> <!-- Don't add source revision hash to the product version of binaries. -->
<!-- Disable when running in a pipeline as the time to upload or download the massive .pch/.pchast to the cache is greater than the savings they provide. -->
This repo uses a common output directory with many projects writing duplicate outputs. Allow everything, but note this costs some performance in the form of requiring
the cache to use copies instead of hardlinks when pulling from cache.
<!-- Package Microsoft.Win32.SystemEvents added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Drawing.Common but the 8.0.1 version wasn't published to nuget. -->
<!-- Package System.CodeDom added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Management but the 8.0.1 version wasn't published to nuget. -->
<!-- Package System.Data.SqlClient added to force it as a dependency of Microsoft.Windows.Compatibility to the latest version available at this time. -->
<!-- Package System.Diagnostics.EventLog added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Data.OleDb but the 8.0.1 version wasn't published to nuget. -->
<!-- Package System.Diagnostics.PerformanceCounter added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Data.OleDb but the 8.0.1 version wasn't published to nuget. -->
<!-- Package System.Security.Cryptography.ProtectedData added as a hack for being able to exclude the runtime assets so they don't conflict with 8.0.1. This is a dependency of System.Data.OleDb but the 8.0.1 version wasn't published to nuget. -->
PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity.

Inspired by the [Windows 95 era PowerToys project](https://en.wikipedia.org/wiki/Microsoft_PowerToys), this reboot provides power users with ways to squeeze more efficiency out of the Windows 10 shell and customize it for individual workflows. A great overview of the Windows 95 PowerToys can be found [here](https://socket3.wordpress.com/2016/10/22/using-windows-95-powertoys/).
[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)
The first preview of these utilities can be installed from [here](https://github.com/Microsoft/powertoys/releases).
| x64 | [](https://dev.azure.com/shine-oss/PowerToys/_build/latest?definitionId=3&branchName=main) | [](https://dev.azure.com/shine-oss/PowerToys/_build/latest?definitionId=3&branchName=stable) | [](https://dev.azure.com/microsoft/Dart/_build/latest?definitionId=76541&branchName=main) |
| ARM64 | [](https://dev.azure.com/shine-oss/PowerToys/_build/latest?definitionId=3&branchName=main) | [](https://dev.azure.com/shine-oss/PowerToys/_build/latest?definitionId=3&branchName=main) | [](https://dev.azure.com/microsoft/Dart/_build/latest?definitionId=76541&branchName=main) |
# What's Happening
## About
## September Update
The first preview release of the PowerToys utilities and source code is now live! This release includes two preview quality utilities as well as the tools and docs to make it easy to create new PowerToys utilities.
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://learn.microsoft.com/windows/dev-environment/overview), head over to [learn.microsoft.com][usingPowerToys-docs-link]!
1. [FancyZones](/src/modules/fancyzones/) - FancyZones is a window manager that makes it easy to create copmlex window layouts and quickly position windows into those layouts. The FancyZones backlog can be found [here](https://github.com/Microsoft/PowerToys/tree/master/doc/planning/FancyZonesBacklog.md)
[](https://www.youtube.com/watch?v=rTtGzZYAXgY)
### Requirements
2. [Windows key shortcut guide](/src/modules/shortcut_guide) - The shortcut guide appears when a user holds the Windows key down for more than one second and shows the available shortcuts for the current state of the desktop. The shortcut guide backlog can be found [here](https://github.com/Microsoft/PowerToys/tree/master/doc/planning/ShortcutGuideBacklog.md)
-Windows 11 or Windows 10 version 2004 (code name 20H1 / build number 19041) or newer.
- x64 or ARM64 processor
- Our installer will install the following items:
- [Microsoft Edge WebView2 Runtime](https://go.microsoft.com/fwlink/p/?LinkId=2124703) bootstrapper. This will install the latest version.
Go to the [Microsoft PowerToys GitHub releases page][github-release-link] and click on `Assets` at the bottom to show the files available in the release. Please use the appropriate PowerToys installer that matches your machine's architecture and install scope. For most, it is `x64` and per-user.
* Maximize to new desktop widget - The MTND widget shows a pop-up button when a user hovers over the maximize / restore button on any window. Clicking it creates a new desktop, sends the app to that desktop and maximizes the app on the new desktop.
The full backlog of utilities can be found [here](https://github.com/Microsoft/PowerToys/tree/master/doc/planning/PowerToysBacklog.md)
# Where to download PowerToys
The latest release of PowerToys can be downloaded from https://github.com/microsoft/PowerToys/releases <br />
Click on `Assets` to show the files available in the release and then click on `PowerToysSetup.msi` to download the PowerToys installer. <br />
PDB symbols for the release are available in a separate zip file `PDB symbols.zip`.
# Developer Guidance
## Build Prerequisites
* Windows 10 1803 (build 10.0.17134.0) or above in order to build and run PowerToys.
* Visual Studio 2019 Community edition or higher, with the 'Desktop Development with C++' component and the Windows 10 SDK version 10.0.18362.0 or higher.
<!-- items that need to be updated release to release -->
* 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 located 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.
| Description | Filename | sha256 hash |
|----------------|----------|-------------|
| Per user - x64 | [PowerToysUserSetup-0.83.0-x64.exe][ptUserX64] | C78E24F21C611F2BD774D8460ADD4B9AC8519085CA1253941CB46129331AB8C8 |
| Per user - ARM64 | [PowerToysUserSetup-0.83.0-arm64.exe][ptUserArm64] | BA1C16003D55587D523A41B960D4A03718123CA37577D5F2A75E151D7653E6D3 |
* Install the [WiX Toolset Visual Studio 2019 Extension](https://marketplace.visualstudio.com/items?itemName=RobMensching.WiXToolset).
* Install the [WiX Toolset build tools](https://wixtoolset.org/releases/).
## Building the .msi Installer
* From the `installer` folder open `PowerToysSetup.sln` in Visual Studio, in the `Solutions Configuration` drop-down menu select `Release` or `Debug`, from the `Build` menu choose `Build Solution`.
* The resulting `PowerToysSetup.msi` installer will be available in the `installer\PowerToysSetup\x64\Release\` folder.
This is our preferred method.
## Debugging
The following configuration issue only applies if the user is a member of the Administrators group.
Some PowerToys modules require to run with the highest permission level if the current user is a member of the Administrators group. The highest permission level is required in order to be able to perform some actions when an elevated application (e.g. Task Manager) is in the foreground or is the target of an action. Without elevated privileges some PowerToys modules will still work but with some limitations:
- the `FancyZones` module will be not be able to move an elevated window to a zone.
- the `Shortcut Guide` module will not appear if the foreground window belongs to an elevated application.
In order to run and debug PowerToys from Visual Studio when the user is a member of the Administrators group, Visual Studio has to be started with elevated privileges. If you want to avoid running Visual Studio with elevated privileges and don't mind the limitations described above, you can do the following: open the `runner` project properties and navigate to the `Linker -> Manifest File` settings, edit the `UAC Execution Level` property and change it from `highestAvailable (/level='highestAvailable')` to `asInvoker (/level='asInvoker')`, save the changes.
## How to create new PowerToys
### Via Microsoft Store
See the instructions on [how to install the PowerToys Module project template](tools/project_template). <br />
Specifications for the [PowerToys settings API](doc/specs/PowerToys-settings.md).
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 is available for both Windows 11 and Windows 10.
## Coding Guidance
### Via WinGet
Download PowerToys from [WinGet][winget-link]. Updating PowerToys via winget will respect current PowerToys installation scope. To install PowerToys, run the following command from the command line / PowerShell:
Please review these brief docs below relating to our coding standards etc.
#### User scope installer [default]
```powershell
wingetinstallMicrosoft.PowerToys-swinget
```
> 👉 If you find something missing from these docs, feel free to contribute to any of our documentation files anywhere in the repository (or make some new ones\!)
#### Machine-wide scope installer
This is a work in progress as we learn what we'll need to provide people in order to be effective contributors to our project.
This project welcomes contributions and suggestions and we are excited to work with the power user community to build a set of tools for helping you get the most our of Windows.
### Other install methods
We ask that **before you start work on a feature that you would like to contribute**, please read our [Contributor's Guide](contributing.md). We will be happy to work with you to figure out the best approach, provide guidance and mentorship throughout feature development, and help avoid any wasted or duplicate effort.
There are [community driven install methods](./doc/unofficialInstallMethods.md) such as Chocolatey and Scoop. If these are your preferred install solutions, you can find the install instructions there.
> ⚠ **Note**: PowerToys is still a nascent project and the team is actively working out of this repository. We will be periodically re-structuring the code to make it easier to comprehend, navigate, build, test, and contribute to, so **DO expect significant changes to code layout on a regular basis**.
## Third-Party Run Plugins
> ⚠ **License Info**: Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
There is a collection of [third-party plugins](./doc/thirdPartyRunPlugins.md) created by the community that aren't distributed with PowerToys.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
provided by the bot. You will only need to do this once across all repos using our CLA.
## Contributing
# Code of Conduct
This project welcomes contributions of all types. Besides coding features / bug fixes, other ways to assist include spec writing, design, documentation, and finding bugs. We are excited to work with the power user community to build a set of tools for helping you get the most out of Windows.
This project has adopted the [Microsoft Open Source Code of Conduct][conduct-code]. <br />
For more information see the [Code of Conduct FAQ][conduct-FAQ] or contact [opencode@microsoft.com][conduct-email] with any additional questions or comments.
We ask that **before you start work on a feature that you would like to contribute**, please read our [Contributor's Guide](CONTRIBUTING.md). We would be happy to work with you to figure out the best approach, provide guidance and mentorship throughout feature development, and help avoid any wasted or duplicate effort.
Most contributions require you to agree to a [Contributor License Agreement (CLA)][oss-CLA] declaring that you grant us the rights to use your contribution and that you have permission to do so.
For guidance on developing for PowerToys, please read the [developer docs](/doc/devdocs) for a detailed breakdown. This includes how to setup your computer to compile.
## What's Happening
### PowerToys Roadmap
Our [prioritized roadmap][roadmap] of features and utilities that the core team is focusing on.
### 0.83 - July 2024 Update
In this release, we focused on stability and improvements.
**Highlights**
- Awake Quality of Life changes, including changing the tray icon to reflect the current mode. Thanks [@dend](https://github.com/dend)!
- Changes to general GPO policies and new policies for Mouse Without Borders. The names for some intune policy configuration sets might need to be updated as seen in https://github.com/MicrosoftDocs/windows-dev-docs/pull/5045/files . Thanks [@htcfreek](https://github.com/htcfreek)!
### General
- Reordered GPO policies, making it easier to find some policies. Thanks [@htcfreek](https://github.com/htcfreek)!
### Advanced Paste
- Fixed CSV parser to support double quotes and escape delimiters when pasting as JSON. Thanks [@GhostVaibhav](https://github.com/GhostVaibhav)!
- Improved double quote handling in the CSV parser when pasting as JSON. Thanks [@htcfreek](https://github.com/htcfreek)!
### Awake
- Different modes will now show different icons in the system tray. Thanks [@dend](https://github.com/dend), and [@niels9001](https://github.com/niels9001) for the icon design!
- Removed the dependency on Windows Forms and used native Win32 APIs instead for the tray icon. Thanks [@dend](https://github.com/dend) and [@BrianPeek](https://github.com/BrianPeek)!
- Fixed an issue where the UI would become non-responsive after selecting no time for the timed mode. Thanks [@dend](https://github.com/dend)!
- Refactored code for easier maintenance. Thanks [@dend](https://github.com/dend)!
- The tray icon will now be shown when running Awake standalone to signal mode. Thanks [@dend](https://github.com/dend)!
- The tray icon tooltip shows how much time is left on the timer. Thanks [@dend](https://github.com/dend)!
- Added DPI awareness to the tray icon context menu. Thanks [@dend](https://github.com/dend)!
### Color Picker
- Added support to using the mouse wheel to scroll through the color history. Thanks [@Fefedu973](https://github.com/Fefedu973)!
### File Explorer add-ons
- Allow copying from the right-click menu in Monaco and Markdown previewers.
### File Locksmith
- Fixed a crash when there were a big number of entries being shown by moving the opened files of a process to another dialog.
### Installer
- Fixed the path where DSC module files were installed for the user-scope installer. (This was a hotfix for 0.82)
### Mouse Without Borders
- Disabled non supported options in the old Mouse Without Borders UI. Thanks [@htcfreek](https://github.com/htcfreek)!
- Added new GPO policies to control the use of some features. Thanks [@htcfreek](https://github.com/htcfreek)!
### Peek
- Allow copying from the right-click menu in Dev files and Markdown previews.
### PowerToys Run
- Fixed a crash on Windows 11 build 22000. (This was a hotfix for 0.82)
- Blocked a transparency fix code from running on Windows 10, since it was causing graphical glitches. (This was a hotfix for 0.82)
- Accept speed abbreviations like kilometers per hour (kmph) in the Unit Converter plugin. Thanks [@GhostVaibhav](https://github.com/GhostVaibhav)!
- Added settings to configure behavior of the "First week of year" and "First day of week" calculations in the DateTime plugin. Thanks [@htcfreek](https://github.com/htcfreek)!
- Fixed wrong initial position of the PowerToys Run when switching between monitors with different dpi values.
- Started allowing interchangeable use of / and \ in the registry plugin paths.
- Added support to automatic sign-in after rebooting with the System plugin. Thanks [@htcfreek](https://github.com/htcfreek)!
- Added suggested use example results to the Value Generator plugin. Thanks [@azlkiniue](https://github.com/azlkiniue)!
### Quick Accent
- Added support for the Bulgarian character set. Thanks [@octastylos-pseudodipteros](https://github.com/octastylos-pseudodipteros)!
### Runner
- Add code to handle release tags with an upper V when trying to detect new updates. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
### Settings
- Fixed the UI spacing in the "update available" card. Thanks [@Agnibaan](https://github.com/Agnibaan)!
- Fixed the information bars in the Mouse Without Borders settings page to hide when the module is disabled. Thanks [@htcfreek](https://github.com/htcfreek)!
- Improved consistency of the icons used in the Mouse Without Borders settings page. Thanks [@htcfreek](https://github.com/htcfreek)!
- Improved action keyword information bar padding in the PowerToys Run plugins section. Thanks [@htcfreek](https://github.com/htcfreek)!
- Fixed a crash in the dashboard when Keyboard Manager Editor settings file became locked.
### Documentation
- Added the RDP plugin to PowerToys Run thirdPartyRunPlugins.md docs. Thanks [@anthony81799](https://github.com/anthony81799)!
- Added the GitHubRepo and ProcessKiller plugins to PowerToys Run thirdPartyRunPlugins.md docs. Thanks [@8LWXpg](https://github.com/8LWXpg)!
- Fixed a typo in the 0.82.0 release notes in README. Thanks [@walex999](https://github.com/walex999)!
### Development
- Disabled FancyZone UI tests, to unblock PRs. We plan to bring them back in the future. (This was a hotfix for 0.82)
- Fixed an issue where flakiness in CI was causing the installer custom actions DLL from being signed. (This was a hotfix for 0.82)
- Upgraded the Microsoft.Windows.Compatibility dependency to 8.0.7.
- Upgraded the System.Text.Json dependency to 8.0.4.
- Upgraded the Microsoft.Data.Sqlite dependency to 8.0.7.
- Upgraded the MSBuildCache dependency to 0.1.283-preview. Thanks [@dfederm](https://github.com/dfederm)!
- Removed an unneeded /Zm compiler flag from Keyboard Manager Editor common build flags.
- Fixed the winget publish action to handle upper case V in the tag name. Thanks [@mdanish-kh](https://github.com/mdanish-kh)!
- Removed wildcard items from vcxproj files. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- Removed the similar issues bot GitHub actions. Thanks [@craigloewen-msft](https://github.com/craigloewen-msft)!
- Fixed CODEOWNERS to better protect changes in some files.
- Switched machines being used in CI and pointed status badges in README to the new machines.
- Fixed NU1503 build warnings when building PowerToys. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- Use the MSTest meta dependency for running the tests instead of the individual testing packages. Thanks [@stan-sz](https://github.com/stan-sz)!
- Added missing CppWinRT references.
#### What is being planned for version 0.84
For [v0.84][github-next-release-work], we'll work on the items below:
- Stability / bug fixes
- New utility: Dev Projects
- Language selection
- New module: File Actions Menu
## PowerToys Community
The PowerToys team is extremely grateful to have the [support of an amazing active community][community-link]. The work you do is incredibly important. PowerToys wouldn’t be nearly what it is today without your help filing bugs, updating documentation, guiding the design, or writing features. We want to say thank you and take time to recognize your work. Month by month, you directly help make PowerToys a better piece of software.
## Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct][oss-conduct-code].
## Privacy Statement
The application logs basic telemetry. Our Telemetry Data page (Coming Soon) has the trends from the telemetry. Please read the [Microsoft privacy statement][privacy-link] for more information.
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet) and [Xamarin](https://github.com/xamarin).
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/security.md/definition), please report it to us as described below.
## Reporting Security Issues
**Please do not report security vulnerabilities through public GitHub issues.**
Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/security.md/msrc/create-report).
If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/security.md/msrc/pgp).
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
* Full paths of source file(s) related to the manifestation of the issue
* The location of the affected source code (tag/branch/commit or direct URL)
* Any special configuration required to reproduce the issue
* Step-by-step instructions to reproduce the issue
* Proof-of-concept or exploit code (if possible)
* Impact of the issue, including how an attacker might exploit the issue
This information will help us triage your report more quickly.
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/security.md/msrc/bounty) page for more details about our active programs.
## Preferred Languages
We prefer all communications to be in English.
## Policy
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/security.md/cvd).
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://learn.microsoft.com/windows/dev-environment/overview), head over to [learn.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
feature request as a new Issue.
For help and questions about using this project, please look at our Wiki for using PowerToys and our [Contributor's Guide][contributor] if you want to work on PowerToys.
## Microsoft Support Policy
Support for PowerToys is limited to the resources listed above.
Below is our guidance for how to report issues, propose new features, and submit contributions via Pull Requests (PRs).
## Before you start, file 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
* 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
* Want to know if we're planning on building a particular feature? File an issue
* Got a great idea for a new utility or feature? File an issue/request/idea
* 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
**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:
* 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 our 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.
---
## Contributing fixes / features
For those able & willing to help fix issues and/or implement features ...
### 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.
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.
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).
---
## Development
### 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
### 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.
This JSON library is taken from the C++ REST SDK in https://github.com/microsoft/cpprestsdk
Based in the [v2.10.13 release](https://github.com/microsoft/cpprestsdk/tree/v2.10.13/Release), it consists of the needed files to build and use the JSON classes described in `include/cpprest/json.h`.
Changes made to the files in order to build in the PowerToys project:
- Removal of `#include` references to files that are not needed.
-`#include "pch.h"` instead of `#include "stdafx.h"` to use the PowerToys pre-compiled header.
-`#define _NO_ASYNCRTIMP` in [`include/cpprest/details/cpprest_compat.h`](./include/cpprest/details/cpprest_compat.h) since this class will be statically linked.
The contents of the C++ Rest SDK license are included in [license.txt](./license.txt).
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.