* [PowerRename]Add `$`, `^` and `.*` to RegEx cheatsheet
* Add * and +, remove combinations
* correct spelling
* Add ? and \s
* fix spelling once again
* Fix risky int cast in dark mode detection.
* Refactored Helper and Manager classes. New unit tests and changes to support Registry access mocking.
* Spelling update.
* Improve documentation for the registry-related classes.
* Fix issue with UpdateTheme raised in review. Enhance documentation. Rewrite tests to use parameterised unit tests, and expand to cover more cases.
* Add UITestAutomation framework
* add code comments
* Optimized code format
* Optimized code format
* Update commons and add keyboard manager ui test project
* Optimized code format
* test scope and fix fancyzone exe path
* Add readme
* Optimize helper functions and UI test method
* Fix spelling errors and restore module UI tests
* Restore Indent
* Update NOTICE.md
* Update comments to Session and Elements
* Update comments for Button and Window
* delete unnecessary code
* change FindElementByName to FindElmenet
* Update comments for ModuleConfigData
* Update readme and comments
* Remove extra comments
* change public property
* Optimize code readability
* add default Attach Function
* change attach function name
* Update comments to XML format
* Hide by internal functions
* Update readme
* Refine the framework
* Fix process start position and update readme
* Remove Enum PowerToysModuleWindow
* Update attach comments
* Update ModuleConfigData comments
---------
Co-authored-by: Zhaopeng Wang (from Dev Box) <zhaopengwang@microsoft.com>
Co-authored-by: Xiaofeng Wang (from Dev Box) <xiaofengwang@microsoft.com>
Co-authored-by: urnotdfs <709586527@qq.com>
* add hostsfile fuzztests templates code
* modify typos of hostsfile
* add hosts file
* add hosts fuzz to pipeline
* modify varify depjson rule
* fuzz validIPv4
* update .net7 to .net 8
* add valid6/validhosts tests on hosts
* catch all exception
* update onefuzzconfig.json to add 3 test cases
* add fuzz writeasync tests and fill exception
* add writeasync onefuzz config
* add dll of writeasync in job dependencies
* for testing az
* change file
* use mock filesystem in hosts tests projct
* fix spell erro
* fix spell erro and change notations
* update test
* fix space erro in code
* install python
* update
* test
* use powershell
* remove unused dll in oneconfig.json
* change download artifacts
* update
* test
* add
* test
* merge
* az
* change
* update
* test cli
* add debug
* test large
* fix
* use templete
* remove pdb file filter in job test project
* fix x64 python install
* for testing
* add
* fix
* use 3.11.1
* change for test
* revert some testing file
* update the file name for spelling check
* use azure cli zip
* use aka.ms
* rename the zip file
* remove test artifactname
* add exception and job dependencies
* Remove the limitation of fuzzing only on hosts
* add fuzz readme
* remove unused changes and space
* fix x86 in sln and remove newtonsoft.json.dll in oneconfig.json
* readd wrapper.dll in oneconfig.json
* drop randomsplit when fuzz writeasync and remove unuseful package
---------
* for testing az
* change file
* update test
* install python
* update
* test
* use powershell
* tes
* update enve
* update
* test
* add
* test
* merge
* az
* change
* update
* test cli
* add debug
* test large
* fix
* use templete
* fix x64 python install
* for testing
* add
* fix
* use 3.11.1
* change for test
* revert some testing file
* update the file name for spelling check
* use azure cli zip
* use aka.ms
* rename the zip file
* Handled NewWindowRequested WebView2 event, to allow links opened through Registry Preview to open in the system default web browser, rather than a new WebView2 window.
* Modified RegistryPreview implementatiion to use the open URI dialog that is currently used in Peek.
* Set up KBM WinUI3 Editor UI project
* Test invoking the KBM library via wrapper for WinUI3 C# UI
* Set up Editor Library Wrapper and enable logging
* fix spelling
* update spacing and remove unused file
* fix formatting
* update sln
* update wrapper project config
* import common props
* update UI reference
* gate the new editor with the experimentation toggle in settings
[Build] compatibility with VS17.3 and later, for C++23 <expected> has been introduced in VS17.3.6, and std::expected has conflict/inconsistent with the makeshift (expected-lite)
* [MWB] Changed to suppress the flow of the execution context
* Fix build after merge
* [MWB] Fix helper process termination issue in service mode
* Add some comments
* Fix issue with missing Image Resizer unit and fit information in settings description.
* Fix accessibility issues on Edit and Remove buttons. Fix various issues and refactor view model and ImageSize. New resources for accessibility text formats.
* Fix unit test because of change to new preset width and height. Fix 2 unit tests having incorrect expected/actual orderings.
* Post-review update: accessibility strings now formatted within the converter, instead of via format strings; simplified encoder GUID collection declaration and retrieval.
* Minor example text fix.
* Clean up the aot build issue.
* Merge main and clean up new AOT build issue
* Update LogEvent define.
* Update src/modules/AdvancedPaste/AdvancedPaste/Helpers/LogEvent.cs
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* update typo bug
* Remove unused allow list item
* Create a new folder to place source generation context
* Merge main and rename LogEvent to AIServiceFormatEvent
---------
Co-authored-by: Yu Leng (from Dev Box) <yuleng@microsoft.com>
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* add context menus
* string resources for contextmenu
* fix line break parsing for MULTI_SZ
* better presentation of multiline values and value tooltip
* cleanup
* ZoomIt initial code dump
* Change vcxproj to normalize dependency versions
* Fix code quality to build
* Add to PowerToys solution
* Clean out C-style casts
* Fix some more analyzer errors
* Constexpr a function
* Disable some warnings locally that it seemed better not to touch
* Add ZoomIt module interface
* Add GPO
* Add Settings page with Enable button
* Output as PowerToys.ZoomIt.exe
* Extract ZoomIt Settings definition to its own header
* Make ZoomItModuleInterface build with ZoomItSettings too
* WinRT C++ interop for ZoomItSettings
* From Registry To PowerToys Json
* Properly fix const_cast analyzer error
* Initial Settings page loading from registry
* Zoom mode settings
* Save settings
* Add file picker and DemoType file support
* Remaining DemoType settings
* Have ZoomIt properly reloading Settings and exiting
* Remove context menu entries for Options and Exit
* ZoomIt simple Break Options
* Break advanced options
* Simple Record settings
* Record Microphone setting
* Fix break background file picker title
* Font setting
* Fix build issues after merge
* Add ZoomIt conflict warning to Settings
* Exclude Eula from spell checking
* Fix spellcheck errors
* Fix spell check for accelerated menu items
* Remove cursor files from spellcheck. They're binary
* Fix forbidden patterns
* Fix XAML style
* Fix C# analyzers
* Fix signing
* Also sign module interface dll
* Use actual ZoomIt icon
* Add OOBE page for ZoomIt
* ZoomIt image for Settings
* Flyout and Dashboard entries
* Fix type speed slider labels
* Correctly load default Font
* Correctly register shortcuts on ZoomIt startup first run
* Fix modifier keys not changing until restart
* Show MsgBox on taken shortcut
* Start PowerToys Settings
* Normalize ZoomIt file properties with rest of PowerToys
* Add attribution
* Add ZoomIt team to Community.md
* More copyright adjustments
* Fix spellcheck
* Fix MsgBox simultaneous instance to the front
* Add mention of capturevideosample code use
* Add ZoomIt to process lists
* Add telemetry
* Add logging
* React to gpo
* Normalize code to space identation
* Fix installer build
* Localize percent setting
* Fix XAML styling
* Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* Fix spellcheck
* One more spellcheck fix
* Integrate LiveDraw feature changes from upstream
* Fix name reuse in same scope
* Fix c-style casts
* Also register LIVEDRAW_HOTKEY
* Fix newLiveZoomToggleKey
* Update LiveZoom description in Settings to take LiveDraw into account
* Fix spellcheck
* Fix more spellcheck
* Fix Sysinternals capitalization
* Fix ARM64 Debug build
* Support Sysinternals build (#36873)
* Remove unneeded files
* Make build compatible with Sysinternals
* Separate PowerToys ZoomIt product name (#36887)
* Separate PowerToys ZoomIt product name
To help maintain the Sysinternals branding in the standalone version.
* Clarify branding-related includes
* Remove ZoomIt.sln
* Add foxmsft to spell-check names
* Add ZoomIt to README
* Add ZoomIt to GH templates
* Add ZoomIt events to DATA_AND_PRIVACY.md
* Remove publish_config.json
* Remove publish_config.json from vcxproj too
---------
Co-authored-by: Mark Russinovich <markruss@microsoft.com>
Co-authored-by: Alex Mihaiuc <69110671+foxmsft@users.noreply.github.com>
Co-authored-by: John Stephens <johnstep@microsoft.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* Remove all VideoConferenceMute related code and files
* Clean up vcm driver registry keys
* Also remove the Webcam report tool
* Also clean out video conference on the installer
* Fix spellcheck
* Remove comment about video conf
* Update gpo files revision
* Revert removing the VCM policies
* Deprecate VCM GPO policy
* Change deprecation message to show first supported version
* Tweak supported strings in the adml
* [Workspaces] Implementing set and get GUID to/from HWND to distinguish windows moved by the Workspaces tool
* After launch and capture copy the CLI args from the "original" project
* Fix getting GUID
* spell check
* modification to be able to handle different data sizes on different systems
* code optimisation
* Replacing string parameter by InvokePoint
* renaming variable
* Fix borders for windows in the Settings UI
* Fix HOSTS window
* Fix Advanced Paste
* Fix Environment Variables
* Fix File Locksmith
* Fix Peek, with a caveat
* Fix Registry Preview
* Remove unused imports
* Clean up imports in OobeShellPage
* Move OSVersionHelper from Common.UI up into ManagedCommon
* init
* Use AotCompatibility instead
* Replace typeof(Lanaguge) with GetValues<Language>
* Create new folder to place source generation context file.
---------
Co-authored-by: Yu Leng (from Dev Box) <yuleng@microsoft.com>
Added support for .resx and .resw preview support. These files are XML based files so I added the file extensions as part of the registerAdditionalLanguage("xmlExt"...) function.
* Add ḱ to PowerAccent for Proto-Indo-European
* Fix Spelling Check
* Add more letters to PIE
* Order PIE after PI
---------
Co-authored-by: Hao Liu (from Dev Box) <haoliu3@microsoft.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* [New+]Don't override New actions from Explorer
* Update src/modules/NewPlus/NewShellExtensionContextMenu.win10/shell_context_menu_win10.cpp
* Update src/modules/NewPlus/NewShellExtensionContextMenu.win10/shell_context_menu_win10.cpp
* Add pattern for learn.microsoft links
* Also only Query for context menu
* Remove "prerelease: true"
The Microsoft.WinGet.DSC module is GA so prerelease: true is no longer needed.
* Update expect.txt
fixing spellcheck warning
---------
Co-authored-by: Clint Rutkas <clint@rutkas.com>
This PR aims to fix the bug #35225 by introducing a new method IsJson to determine if a given text is in JSON format.
The IsJson method is then utilized in the ToJsonFromXmlOrCsvAsync method to optimize the processing logic.
If the text is already in JSON format, it is returned directly without further conversion from XML or CSV.
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
---------
Signed-off-by: Shawn Yuan <shuai.yuan.zju@gmail.com>
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
This PR introduces the following changes to the CI pipeline and version management:
Pipeline Enhancements:
1. Added a new script UpdateVersions.ps1 to automate the update of Microsoft.WindowsAppSDK versions across various project files.
2. Introduced a new pipeline configuration ci-using-the-latest-winappsdk.yml to build using the latest Microsoft.WindowsAppSDK.
3. Updated existing pipeline configurations to support the new useLatestWinAppSDK parameter.
Pipeline Configuration Updates:
1. Updated job-build-project.yml to handle the useLatestWinAppSDK parameter and adjust the RestoreAdditionalProjectSourcesArg accordingly.
2. Added a new template steps-update-winappsdk-and-restore-nuget.yml for updating and restoring NuGet packages with the latest Microsoft.WindowsAppSDK.
3. Added WinAPPSDK version selection, the pipeline can be manually triggered to use the specified version.
---------
Signed-off-by: Shawn Yuan <shuai.yuan.zju@gmail.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Initial implementation
* Fix fluent style
* Fix no endline
* Update expect.txt
* Fix formatting
* Fix light theme looking bad on Windows 10
* fix formatting
* test change
* Now really fixed W10
* Add a comment
* Fix typos
* Fix spellcheck errors
* Fix spellcheck pattern for websites
* Change patterns for spellcheck in the right file
* Fix XAML styling
* Fix contrast colors on W11
* Fix formatting
* Removed emty line
* Fix formatting
* Added comment to fluentHC file
* fix comment
* Fix Windows10 again.
Adress feedback.
* W11 fix chaning from high contrast to normal not having correct background
* W10 Fix high contrast not working after switching from light/dark moed
* Address feedback
* Fix formatting
* Second W11 fix chaning from high contrast to normal not having correct background
* [AdvancedPaste] Semantic Kernel support
* Changed log-line with potentially sensitive info
* Spellcheck issues
* Various improvements for Semantic Kernel
* Spellcheck issue
* Refactored Clipboard routines
* Added integration tests for KernelService
* Extra telemetry for AdvancedPaste
* Added 'Hotkey' suffix to AdvancedPaste_Settings telemetry event
* Added IsSavedQuery
* Added KernelQueryCache
* Refactoring
* Added KernelQueryCache to BugReportTool delete list
* Added opt-n for Semantic Kernel
* Fixed bug with KernelQueryCache
* Ability to view last AI chat message on error
* Improved kernel query cache
* Used System.IO.Abstractions and improved tests
* Fixed under-count of token usage
* Used Semantic Kernel icon
* Cleanup
* Add missing EndProject line
* Fix dependency version conflicts
* Fix NOTICE.md
* Correct place of SemanticKernel in NOTICE.md
* Unlinked CustomPreview toggle from AI
* Added Microsoft.Bcl.AsyncInterfaces dependency to AdvancedPaste
* Fixed NOTICE.md order
* Moved Custom Preview to behaviour section
* Made Image to Text raise error on empty output
* Added AIServiceBatchIntegrationTests
* Updated AIServiceBatchIntegrationTests
* Added prompt moderation
* Moved GPO Infobar to better location
* [Workspaces] Add move functionality
* spell checker
* [Workspaces] Modify Arranger to move apps without launch
* moved ipc helper
* removed callback
* use LauncherStatus in WindowArranger
* wait for launching next app
* launch in a separate thread and protect by mutexes
* update app version in advance
* changed canceling launch
* increased waiting time
* Fix optional parameter load from json
* changed arranger waiting time
* additional waiting time for Outlook
* added app id
* ensure ids before launch
* set id in editor
* minor updates
* [Workspaces] Move: Get the nearest window when moving a window
* [Workspaces] convert optional boolean to enum to avoid json problems
* Handle case when the new Application Property "moveIfExists" does not exist
* Re-implementing app-window pairing for moving feature.
* spell checker
* XAML formatting
* Fixing bug: IPC message not arriving
* spell checker
* Removing app-level-setting for move app. Also fixed compiler errors due styling.
* Updating editor window layout
* Re-implementing window positioning UI elements
* XAML formatting
* Code review findings
* Code cleanup
* Code cleanup
* Code cleanup
* code cleanup
* Code cleanup
* Code cleanup
* [Workspaces] fix detection of specific version of apps
---------
Co-authored-by: Seraphima <zykovas91@gmail.com>
Co-authored-by: donlaci <donlaci@yahoo.com>
* Update with bug fixes for tray icon and support for parent process
* Process information enum
* Update the docs
* Fix spelling
* Make sure that PID is used in PT config flow
* Logic for checks based on #34148
* Update with link to PR
* Fixes#34717
* Small cleanup
* Proper task segmentation in a function
* Cleanup the code
* Fix synchronization context issue
* Update planning doc
* Test disabling caching to see if that manages to pass CI
* Cleanup to make sure that we're logging things properly.
* Update ci.yml
* Disable cache to pass CI
* Retry logic
* Cleanup
* Code cleanup
* Fixes#35848
* Update notes and codename
* After third attempt, log error instead of throwing exception
* More cleanup to avoid double execution
* Add expected word
* Safeguards for bad values for timed keep-awake
* More updates to make sure I am using uint
* Update error message
* Update packages
* Fix notice and revert CsWinRT upgrade
* Codename update
* Update expect.txt
* Update the struct
* Ensuring we're properly awaiting tray initialization
* Update to make sure tray reflects the bound process
* Cleanup, proper JSON serialization for logs.
* Not needed.
* Add command validation logic
* Moving the initialization logic earlier
* Make sure we show the display state in the tooltip
* Update tray string
* Update src/modules/awake/Awake/Core/Manager.cs
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Update src/modules/awake/Awake/Core/Manager.cs
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Update src/modules/awake/Awake/Core/Manager.cs
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Update src/modules/awake/Awake/Core/Manager.cs
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Update logic for icon resets
* Update doc
* Simplify function for setting mode shell icon
* Issues should be properly linked
* Minor cleanup
* Update timed behavior
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* add partial for aot support
* add Microsoft.NET.ILLink.Tasks to packages.props
* format
* Revert "format"
This reverts commit 742d5e2214.
* add Microsoft.NET.ILLink.Tasks to notice.md
* add auto reference
* update script to remove the 'Auto-reference line'
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
This upgrades to [v0.0.24](https://github.com/check-spelling/check-spelling/releases/tag/v0.0.24).
A number of GitHub APIs are being turned off shortly, so you need to upgrade or various uncertain outcomes will occur.
There's a new accessibility forbidden pattern:
> Do not use `(click) here` links
> For more information, see:
> * https://www.w3.org/QA/Tips/noClickHere
> * https://webaim.org/techniques/hypertext/link_text
> * https://granicus.com/blog/why-click-here-links-are-bad/
> * https://heyoka.medium.com/dont-use-click-here-f32f445d1021
```pl
(?i)(?:>|\[)(?:(?:click |)here|link|(?:read |)more)(?:</|\]\()
```
There are some minor bugs that I'm aware of and which I've fixed since this release, but I don't expect to make another release this month.
I've added a pair of patterns for includes and pragmas. My argument is that the **compiler** will _generally_ tell you if you've misspelled an include and the **linker** will _generally_ tell you if you misspell a lib.
- There's a caveat here: If your include case-insensitively matches the referenced file (but doesn't properly match it), then unless you either use a case-sensitive file system (as opposed to case-preserving) or beg clang to warn, you won't notice when you make this specific mistake -- this matters in that a couple of Windows headers (e.g. Unknwn.h) have particular case and repositories don't tend to consistently/properly write them.
* [Workspaces] Add move functionality
* spell checker
* [Workspaces] Modify Arranger to move apps without launch
* moved ipc helper
* removed callback
* use LauncherStatus in WindowArranger
* wait for launching next app
* launch in a separate thread and protect by mutexes
* update app version in advance
* changed canceling launch
* increased waiting time
* Fix optional parameter load from json
* changed arranger waiting time
* additional waiting time for Outlook
* added app id
* ensure ids before launch
* set id in editor
* minor updates
* [Workspaces] Move: Get the nearest window when moving a window
* [Workspaces] convert optional boolean to enum to avoid json problems
* Handle case when the new Application Property "moveIfExists" does not exist
* Re-implementing app-window pairing for moving feature.
* spell checker
* XAML formatting
* Fixing bug: IPC message not arriving
* spell checker
* Removing app-level-setting for move app. Also fixed compiler errors due styling.
* Updating editor window layout
* Re-implementing window positioning UI elements
* XAML formatting
* Code review findings
* Code cleanup
* Code cleanup
* Code cleanup
* code cleanup
* Code cleanup
* Code cleanup
* [Workspaces] Arranger: Reset wait timer after each successful arrange action
* fix merge error
---------
Co-authored-by: Seraphima <zykovas91@gmail.com>
Co-authored-by: donlaci <donlaci@yahoo.com>
* display ruler: supporting millimeter and other units
* Measurement Tool: UI Setting for an extra unit
* Update images
* spelling
* spelling
* suit code style
* Fix for code review
* remove weird file
* rename field
* [Workspaces] Implement store of app window's size and position
* Modifying the default values to -1. The program will use the original default values for the first run.
* Keyboard Manger fix numpad as shift
Fixed shift not being released if a numpad key as shift.
* Added comments
* Fix typo
* Fix the numpad unlocked key not working if the locked version is overridden by shift
* Fix spelling check.
* Revert the VK_CLEAR change.
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* [Workspaces] Add move functionality
* spell checker
* [Workspaces] Modify Arranger to move apps without launch
* moved ipc helper
* removed callback
* use LauncherStatus in WindowArranger
* wait for launching next app
* launch in a separate thread and protect by mutexes
* update app version in advance
* changed canceling launch
* increased waiting time
* Fix optional parameter load from json
* changed arranger waiting time
* additional waiting time for Outlook
* added app id
* ensure ids before launch
* set id in editor
* minor updates
* [Workspaces] Move: Get the nearest window when moving a window
* [Workspaces] convert optional boolean to enum to avoid json problems
* Handle case when the new Application Property "moveIfExists" does not exist
* Re-implementing app-window pairing for moving feature.
* spell checker
* XAML formatting
* Fixing bug: IPC message not arriving
* spell checker
* Removing app-level-setting for move app. Also fixed compiler errors due styling.
* Updating editor window layout
* Re-implementing window positioning UI elements
* XAML formatting
* Code review findings
* Code cleanup
* Code cleanup
* Code cleanup
* code cleanup
* Code cleanup
* Code cleanup
* fix Move attribute after launch and snapshot
* Extend WindowArranger with PWA functionality to detect different PWA apps. PwaHelper moved to the common library
* fix repeat counter in the editor
* Code optimization
* code cleanup, optimization
* fix double-processing window
---------
Co-authored-by: Seraphima <zykovas91@gmail.com>
Co-authored-by: donlaci <donlaci@yahoo.com>
* [FilePreview] Use syntax highlighting for .srt
* Change customTokenColors to customTokenThemeRules
* Ignore text on the same line as a timestamp
* Update tokenization rules
* PowerAccent with multi-language selection
- Updated Language enum, method signatures, and settings to support multiple language selections.
- Remove ALL language and added special characters language instead.
- Modified UI to use ListView with checkboxes for language selection, including a "Select All" option.
- Adjusted ViewModel and code-behind to handle multi-selection logic.
- Updated Resources.resw and PowerAccentViewModel.cs to reflect these changes.
* Changes Language selection UI
- Groups languages into two groups
- Sort them by localized language name
- Remove unneeded looping when no languages selected
* add Run support for UUIDv7 generation
* simplify comments and maybe satisfy spell check
* fix endianess
* prefer stack allocation for temporary fixed-size buffer
* perhaps the async test caused the pipeline to hang
* switch to .NET 9 BCL implementation of UUIDv7
* add UUIDv7 to input query suggestions + update exception messages to include v7
* simplify Guid description switch + update devdocs
* [Workspaces] PWA: first steps: implement PWA app searcher, add basic controls to the editor
* spell checker
* Snapshot tool: adding command line args for edge
* PWA: add icon handling, add launch of PWA
* Impllement Aumid getters and comparison to connect PWA windows and processes. Update LauncherUI, Launcher
* Minor fixes, simplifications
* Spell checker
* Removing manual PWA selection, spell checker
* Fix merge conflict
* Trying to convince spell checker, that "PEB" is a correct word.
* XAML format fix
* Extending snapshot tool by logs for better testablility
* spell checker fix
* extending logs
* extending logs
* Removing some logs, modifying search criteria for pwa helper process search
* extending PWA detection for the case the directory with the app-id is missing
* Fix issue when pwaAppId is null
* fix missing pwa-app-id handling in the editor. Removed unused property (code cleaning) and updating json parser in Launcher
* Code cleaning: Moving duplicate code to a common project
* Fix issue: adding new Guid as app id if it is empty
* Code cleanup: moving Pwa related code from snapshotUtils to PwaHelper
* Code cleaning
* Code cleanup: Move common Application model to Csharp Library
* code cleanup
* modifying package name
* Ading project reference to Common.UI
* Code cleaning, fixing references
---------
Co-authored-by: donlaci <donlaci@yahoo.com>
1. Clearer Section Headings: Renamed sections like "Indicating Interest in Issues" to improve readability.
2. Conciseness and Flow: Shortened sentences and rephrased for directness.
3. Improved Organization: Streamlined instructions in sections like “Filing an Issue” and “Contributing Fixes/Features.”
4. Reduced Redundancy: Simplified repetitive language, especially in localization and contribution details.
5. Enhanced Call to Action: Adjusted "Help Wanted" and "Becoming a Collaborator" to guide users clearly on next steps.
* [Deps] Upgrade Framework Libraries to .NET 9 RC2
* [Common][Build] Update TFM to NET9
* [FileLocksmith][Build] Update TFM to NET9 in Publish Profile
* [PreviewPane][Build] Update TFM to NET9 in Publish Profile
* [PTRun][Build] Update TFM to NET9 in Publish Profile
* [Settings][Build] Update TFM to NET9 in Publish Profile
* [MouseWithoutBorders][Analyzers] Resolve WFO1000 by configuring Designer Serialization Visibility
* [Deps] Update Microsoft.CodeAnalysis.NetAnalyzers
* [Analyzers] Set CA1859,CA2263,CA2022 to be excluded from error
* [MouseWithoutBorders] Use System.Threading.Lock to lock instead of object instance
* [ColorPicker] Use System.Threading.Lock to lock instead of object instance
* [AdvancedPaste] Use System.Threading.Lock to lock instead of object instance
* [TextExtractor] Use System.Threading.Lock to lock instead of object instance
* [Hosts] Use System.Threading.Lock to lock instead of object instance
* [MouseJump] Use System.Threading.Lock to lock instead of object instance
* [PTRun] Use System.Threading.Lock to lock instead of object instance
* [Wox] Use System.Threading.Lock to lock instead of object instance
* [Peek] Use System.Threading.Lock to lock instead of object instance
* [PowerAccent] Use System.Threading.Lock to lock instead of object instance
* [Settings] Use System.Threading.Lock to lock instead of object instance
* [Deps] Update NOTICE.md
* [CI] Update .NET version step to target 9.0
* [Build] Attempt to add manual trigger for using Visual Studio Preview for building
* [Build] Fix variable typo
* [Build][Temporary] set to use preview builds
* [Build] Add missing parameters
* [Build][Temporary] directly hardcode preview image
* [Build][Temporary] Trying ImageOverride
* [Build] Revert hardcode and use ImageOverride
* [Build] Add env var for adding prerelease argument for vswhere
* [Build] Update VCToolsVersion script to use env var to optionally add prerelease version checking
* [Build] Remove unneeded parameter
* [Build] Re-add parameter in all the right places
* [CI][Build] Add NoWarn NU5104 when building with VS Preview
* [Deps] Update to stable .NET 9 packages
* [Deps] Update NOTICE.md
* Everything is WPF and WindowsForms now to fix .NET 9 dependency conflicts
* Ensure .NET 9 SDK for tests too
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
After we upgraded Windows App SDK to 1.6, Dev Files Preview on Peek has been broken on ARM64.
For .86, we've added WebView2 to Registry Preview in order to have Monaco Editor as the text editor, which is also broken on ARM64.
After a lengthy investigation, it seems we've found the core issue, PowerToys has been shipping with a x64 Microsoft.Web.WebView2.Core.dll in the ARM64 installer, which fails at runtime.
We seem to have hit a version of https://github.com/microsoft/WindowsAppSDK/issues/4826
When we build PowerToys in Dart for release, we publish some of the C# WinUI3Apps after building PowerToys and before signing / building the install. This means that the WindowsAppSDK build will recopy its WebView2 dependency, which for some reason is ARM64. On local builds of PowerToys, PowerRename, a C++ WinAppSDK application finished last, which copies the right dll and it's the reason we weren't being able to repro the issue on local builds of ARM64 PowerToys.
This PR solves the issue by including a short time hack in the CI to copy the right dll after publishing the C# WinUI3Apps when building for ARM64.
## Validation Steps Performed
Waiting for 4 concurrent builds of ARM64 from Dart to test whether the problem is solved.
* adjusting stuff from here to there
* No longer crashing! a win!
* Resources now
* spelling
* adjusting comments for xaml formatting
* added in new top level icons
* Fixing
* adjusting the core container logic based on feedback. this is actually simplier and just leverages the builti in stuff as well
* getting frame_nav functional again, thanks @davidegiacometti
* making a one time hit for union
* Update src/settings-ui/Settings.UI/ViewModels/ShellViewModel.cs
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* expanding code that @davidegiacometti suggestedion. 🔥
* ensure parent is always expanded when page is changed
* don't use static
---------
Co-authored-by: Ethan Fang <ethanfang@microsoft.com>
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
Co-authored-by: Davide Giacometti <davide.giacometti@outlook.it>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Data diagnostics opt-in
* [c++] Drop DROP_PII flag
* Bump telemtry package to 2.0.2
* Drop DropPii from custom actions
* Cleanup
* Do not start manually C# EtwTrace. FZ engine exit event.
* ImageResizer, PowerRename, FileLocksmith prev handlers
* Revert C# handlers exe logging
* Revert "Revert C# handlers exe logging"
This reverts commit 4c75a3953b.
* Do not recreate EtwTrace
* consume package
* xaml formatting
* Fix deps.json audit
* Update telem package paths
* Address PR comments
* Fix AdvancedPaste close on PT close
* Override etl file name for explorer loaded dlls
Start/stop tracer when needed for explorer loaded dlls to prevent explorer overload
* Fix setting desc
* Fix missing events
* Add infobar to restart when enable data viewing
* Flush on timer every 30s
* [Settings] Update View Data diagnostic description text
[New+] Add tracer
* Show Restart info bar for both enable/disable data viewer
* Fix newplus
* Fix stuck on restart and terminate AdvPaste exe on destroy()
* [Installer] Add tracer
* Address PR comment
* Add missing tracers
* Exclude etw dir from BugReport
* Fix bad merge
* [Hosts] Proper exit on initial dialog
* [OOBE] Make Data diagnostic setting visible without scroll
* [OOBE] Add hiperlynk to open general settings
* Disable data view on disabling data diagnostics
* Don't disable View data button
* Fix disabling data viewing
* Add missing dot
* Revert formatting
* **Languages.cs**
- Add `GetDefaultLetterKeySRCyrillic` method for Serbian Cyrillic letters.
- Add `SR_CYRL` entry to `Language` enum.
- Update `GetDefaultLetterKey` method to include `Language.SR_CYRL`.
* **PowerAccentPage.xaml**
- Add `ComboBoxItem` for Serbian Cyrillic in `SelectedLanguage` `ComboBox`.
* **Resources.resw**
- Add entry for Serbian Cyrillic.
* **PowerAccentViewModel.cs**
- Add `SR_CYRL` to the list of supported languages.
* [AdvancedPaste] Additional actions, including Image to text
* Spellcheck issue
* [AdvancedPaste] Paste as file and many other improvements
* Fixed typo
* Fixed typo
* [AdvancedPaste] Improved paste window menu layout
* [AdvancedPaste] Improved settings window layout
* [AdvancedPaste] Removed AudioToText for the moment
* Code cleanup
* Minor fixes
* Changed log-line with potentially sensitive info
* Extra telemetry for AdvancedPaste
* Added 'Hotkey' suffix to AdvancedPaste_Settings telemetry event
XAML style checkers aren't running right now in PR CI. This allowed some XAML style errors to cause build errors in release CI.
This PR contains the following fixes:
- Fix XAML style of files that have slipped.
- Add errors to the scripts that depend on dotnet commands if it fails.
- Add .NET 6 on CI so that applyXamlStyling.ps1 and verifyNugetPackages.ps1 run correctly again.
* [Deps] Update CsWinRT to 2.1.5
* [Deps] Update WinAppSDK to 1.6.1
* [Props] Updated WindowsSdkPackageVersion to 22621.48 in Common.Dotnet.CsWinRT.props
* Updated NOTICE.md
* [Peek] Resolve ambiguity with Color struct
* [Workspaces] fix defaulticon.ico, move it to the Assets directory
* Move assets to single source of truth. Installer logic
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* [Workspaces] fix snapshot tool: update capturing windows settings app
* spell checker
* spell checker
* minor change in app utils, when the system settings app is captured
-t:Pack is insufficient for packing a NuGet package after you've signed the DLLs.
Without -p:NoBuild=true, sometimes it will rebuild (or re-link) them for you.
* Update with bug fixes for tray icon and support for parent process
* Process information enum
* Update the docs
* Fix spelling
* Make sure that PID is used in PT config flow
* Logic for checks based on #34148
* Update with link to PR
* Small cleanup
* Proper task segmentation in a function
* Cleanup the code
* Fix synchronization context issue
* Update planning doc
* Test disabling caching to see if that manages to pass CI
This pull request rewrites the entire Azure DevOps build system.
The guiding principles behind this rewrite are:
- No pipeline definitions should contain steps (or tasks) directly.
- All jobs should be in template files.
- Any set of steps that is reused across multiple jobs must be in
template files.
- All artifact names can be customized (via a property called
`artifactStem` on all templates that produce or consume artifacts).
- No compilation happens outside of the "Build" phase, to consolidate
the production and indexing of PDBs.
- All step and job templates are named with `step` or `job` _first_,
which disambiguates them in the templates directory.
- Most jobs can be run on different `pool`s, so that we can put
expensive jobs on expensive build agents and cheap jobs on cheap
build agents. Some jobs handle pool selection on their own, however.
Our original build pipelines used the `VSBuild` task _all over the
place._ This resulted in PowerToys being built in myriad ways, different
for every pipeline. There was an attempt at standardization early on,
where `ci.yml` consumed jobs and steps templates... but when
`release.yml` was added, all of that went out the window.
It's the same story as Terminal (https://github.com/microsoft/terminal/pull/15808).
The new pipelines are consistent and focus on a small, well-defined set
of jobs:
- `job-build-project`
- This is the big one!
- Takes a list of build configurations and platforms.
- Produces an artifact named `build-PLATFORM-CONFIG` for the entire
matrix of possibilities.
- Builds all of the installers.
- Optionally signs the output (all of the output).
- Admittedly has a lot going on.
- `job-test-project`
- Takes **one** build config and **one** platform.
- Consumes `build-PLATFORM-CONFIG`
- Selects its own pools (hardcoded) because it knows about
architectures and must choose the right agent arch.
- Runs tests (directly on the build agent).
- `job-publish-symbols-using-symbolrequestprod-api`
- Consumes `**/*.pdb` from all prior build phases.
- Uploads all PDBs in one artifact to Azure DevOps
- Uses Microsoft's internal symbol publication REST API to submit
stripped symbols to MSDL for public consumption.
Finally, this pull request has some additional benefits:
- Symbols are published to the private and public feeds at the same
time, in the same step. They should be available in the public symbol
server for public folks to debug against!
- We have all the underpinnings necessary to run tests on ARM64 build
agents.
- Right now, `ScreenResolutionUtility` is broken
- I had to introduce a custom version of `UseDotNet` which would
install the right architecture (🤦); see https://github.com/microsoft/azure-pipelines-tasks/issues/20300.
- All dotnet and nuget versioning is consolidated into a small set of
step templates.
- This will provide a great place for us to handle versioning changes
later, since all versioning happens in one place.
* [AdvancedPaste] Check OpenAI enabled state for custom actions
* Add some more explanations to the expected exception
* Add description saying that it requires Paste with AI to be enabled
* Check openAI enabled only if we have custom actions
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* [Quick Accent] Add support for Middle Eastern Romanization
* Update ToUpper() (PowerAccent.cs)
* Add right single quotation mark
* rework ToUpper()
* rework ToUpper()
* Update ToUpper()
* Internal strings more about Romanization
There is no reason to use Invoke-Expression to execute a string
containing a path to another powershell script. You can just run the
powershell script directly.
But then if you're going to do that, why not make it all part of the
same script and use functions?
Consolidated IconHelper and ThumbnailHelper. Fixed icon memory leak. Fixed ImagePreviewer thumbnails being created and then not used. Refactored ImagePreviewer.
* Update FilePreviewer to prevent tooltips from obscuring title bar controls. Fixes#34496
* Small tidy to pointer move handler and StringBuilder setup.
* [EnvVar] Treat well-known debugging environment variables as lists
The following environment variables are semi-colon lists, like "PATH"
* _NT_SYMBOL_PATH
* _NT_ALT_SYMBOL_PATH
* _NT_SYMCACHE_PATH
Treat them as lists in the Environment Variable editor.
Windows Debugger paths are [documented as being semi-colon
delimited][0]. The [`_NT_SYMCACHE_PATH` is used by WPA][1], and it also
documented as being semi-colon delimited.
[0]: https://learn.microsoft.com/en-us/windows/win32/debug/symbol-paths
[1]: https://learn.microsoft.com/en-us/windows-hardware/test/wpt/loading-symbols
* [EnvVar] Add SYMCACHE to expected words list
* upgrade time!
* looks like two got orphaned :/
* Fix Measure Tool window style to remove title bar and borders
* Fix spellchecker
* was tab :(
* Update src/modules/MeasureTool/MeasureToolUI/MeasureToolXAML/MainWindow.xaml.cs
Co-authored-by: Dustin L. Howett <duhowett@microsoft.com>
* added comment about CsWinRT upgrade to verify on next upgrade
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Dustin L. Howett <duhowett@microsoft.com>
* 0.84 changelog
Readme update for the 0.83 release.
This will be copy / pasted for release notes.
* fix spelling errors
* fix spelling errors 2
* Update README.md
Co-authored-by: PesBandi <127593627+PesBandi@users.noreply.github.com>
* Update README.md
* Moved new utility highlight to top and added known issues list
* address PR comments
* Remove whitespace
* update
---------
Co-authored-by: PesBandi <127593627+PesBandi@users.noreply.github.com>
Co-authored-by: Connor Plante <150482134+plante-msft@users.noreply.github.com>
* spell checker
* Adding OOBE Projects page
* changed the default hotkey
* module interface
* rename projects editor
* bug report tool
* installer
* gpo
* exit event constant
* extend search for projects by search over the containing apps' names
* [Projects] fix grammatical issue #43 (1 app - many apps)
* [Projects] Editor: Main page: fix layout if there are many apps, launch button not disappearing on the right side
* dsc
* github
* pipeline
* guid prefix
* [Projects] fixing general settings gpo handling in runner + minor changes
* arm build fix
* Do not allow saving project if name or applist is empty. Also minor UI changes
* version
* editor version
* spellcheck
* editor dll signing
* update projects names to filter them out
* shortcut saving fix
* [Projects] Editor: brining the highlighted app's icon into the foreground. + minor UI fixes
* spell checker
* spellcheck
* [Projects] re-implementing icon size calculation to have similar sized icons for every app.
* [projects] Adding info message for cases: there are no projects or no results for the search
* [Projects] Adding Edit button to the popup. + minor changes
* [Projects] Making popup having rounded corners
* changed "no projects" text color and position
* remove opening the first proj
* fix placing windows of the same app in the project
* [Projects] bringing back the breadcrumb on the editor page. Make it clickable.
* [Projects] optimizing click handlers
* [Projects] Removing not selected apps on save
* moved on thread executor to common
* moved display utils
* added convert rect
* unsigned monitor number
* set awareness
* app placement
* [Projects] Re-implementing preview drawing - one common image
* [Projects] fix boundary calculation, use DPI aware values
* fix launching with command line args
* Fix ARM64 CI build
* launch packaged apps using names when possible
* spell-check
* update packaged apps path
* projects editor single instance
* [Projects] Add Select all checkbox, Delete selected button
* Add Checkbox for per monitor selection
* modifying highlight in preview
* spell checker
* logs
* exclude help windows
https://github.com/JaneaSystems/PowerToys-DevProjects/issues/49
* Add intermediate step to project creation
* minor bugfix
* mutex fix
* modifying highlight for minimized apps
* Fixing bug: re-draw the preview on app deletion in the editor
* Adding helper class for getting the right bounds for screens
* spell checker
* spell checker
* Minor fixes in the capture dialog
* get dpi unaware screen bounds
* refactoring: added utils
* changed window filter
https://github.com/JaneaSystems/PowerToys-DevProjects/issues/2
* clean up
* refactoring
* projects common lib
* localizable default project prefix
* launcher resources
* clean up
* change snapshot project saving
https://github.com/JaneaSystems/PowerToys-DevProjects/issues/14
* changed project data
https://github.com/JaneaSystems/PowerToys-DevProjects/issues/14
* changed project creation save-cancel handles
https://github.com/JaneaSystems/PowerToys-DevProjects/issues/14
* spell-check
* Remove checkboxes, delete feature
* remove unused from the project
* get command line args in the snapshot
* minimized settings snap fix
* set window property after launching
* FZ: ignore projects launched windows
* Implementing major new features: remove button, position manipulation, arguments, admin, minimized, maximized
* modifying colors
* launcher project filters
* clean up
* Hide Admin checkbox
* hide WIP
* spell-check
* Revert "Hide Admin checkbox"
This reverts commit 3036df9d7f.
* get app elevated property
* Implementing Launch and Edit feature
* fixing: update of listed projects on the main page after hitting save in editor
* Fix for packaged app's icons
* fixing scroll speed issue
* change scroll speed to 15
* launch elevated apps
* minor fixes
* minor fix
* enhancing shortcut handling
* can-launch-elevated check
* projects module interface telemetry
* Implementing store of setting "order by".
* minor string correction
* moved projects data parsing
* telemetry
* add move apps checkbox
* notification about elevated apps
* restart unelevated
* move existing windows
* keep opened windows at the same positions
* handle powertoys settings
* use common theme
* fix corrupted data: project id and monitor id
* project launch on "launch and edit"
* clean up
* show screen numbers instead of monitor names
* launcher error messages
* fix default shortcut
* Adding launch button to projects settings, dashboard and flyout
* Adding new app which is launched when launching a project. It shows the status of the launch process
* spell checker
* Renaming Projects to App Layouts. Replacing only string values, not the variable names
* Re-ordering modules after Renaming Projects + spell checker
* setting window size according to the screen (making it bigger)
* commenting out feature "move apps if exist"
* spell checker
* Add ProjectsLauncherUI to signing
* opening apps in minimized state which are placed on a monitor, which is not found at the moment of launching
* consistent file name
* removed unused sln
* telemetry: create event
* WindowPosition comparison
* telemetry: edit event
* fix muted Launch as admin checkbox
* telemetry: delete event
* updated Edit telemetry event
* added invoke point to launcher args
* added utils
* parse invoke point
* replaced tuple with struct
* telemetry: launch event
* MonitorRect comparison
* resources
* rename: folders
* remove outdated
* rename: window property
* rename: files and folders
* rename: common data structures
* rename: telemetry namespace
* rename: workspaces data
* rename ProjectsLib -> WorkspacesLib
* rename: gpo
* rename: settings
* rename: launcher UI
* rename: other
* rename: pt run
* rename: fz
* rename: module interface
* rename: icon
* rename: snapshot tool
* rename: editor
* rename: common files
* rename: launcher
* rename: editor resources
* fix empty file crash
* rename: json
* rename: module interface
* fix custom actions build
* added launch editor event constant
* xaml formatting
* Add missing method defition to interop::Constants idl
Remove Any CPU config
* more .sln cleanup
* [Run][PowerToys] Fix Workspaces utility (#34336)
polished workspaces utility
* build fix - align CppWinRT version
* address PR comment: fix isdigit
* indentation
* address PR comment: rename function
* address PR comment: changed version for workspaces and revision
* added supported version definition
* addressPR comment: use BringToForeground
* address PR comments: updated projects
* address PR comment: uncomment gpo in settings
* address PR comment: rename oobe view
* update OOBE image with current module name
* moved AppUtils
* launching with AppUserModel.ID
* fixed module order in settings
* fix xaml formatting
* [Workspaces] Close launcher if there are failed launches. Plus adding new spinner gif
* fix topmost LauncherUI
* clean up
* UI closing
* BugReportTool - omit cmd arg data
* Delete icon on workspace removal
* Adding cancellation to launcher UI.
* reordered launching
* fix terminating UI
* Removing old shortcut on workspace renaming
* Sentence case labels
* get process path without waiting
* comment out unused
* remove unused argument
* logs
* New icon
* fix launch and edit for the new project
* fix launch and edit: save new project
* Update exe icons
---------
Co-authored-by: donlaci <laszlo@janeasystems.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Davide Giacometti <davide.giacometti@outlook.it>
Co-authored-by: Niels Laute <niels.laute@live.nl>
* [AdvancedPaste] Custom Actions
* Renamed pipe name to make spellcheck happy
* Improved settings page for Custom Actions
* UI improvements, disabled standard paste actions when no clipboard text, update clipboard text and gpo state every second
* Bug fixes, single query/prompt box, Ctrl+num shortcuts for custom actions, error box
* Spellcheck issue
* Bug fixes and used Advanced Paste Window as wait indicator for keyboard shortcuts
* Improvements to PromptBox, incluing show error message as tooltip
* Refactoring
* Fixed issue where ESC sometimes didn't close paste window
* Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
---------
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* [PTRun] Implement thread-safety in query results task with lock
* [PTRun] Lock is moved to Unit Converter Query function.
* [PTRun] _updateSource.Token is used instead of local currentCancellationToken to avoid dangling reference.
* [KBM] Fixed Ctrl key state handling during and after shortcuts invoked by AltGr
* [KBM] Release ctrl in Alt gr condition is added to remap shortcut.
* [KBM] Ctrl(Left) stuck fix.
* Revert "[KBM] Ctrl(Left) stuck fix."
This reverts commit 2774e1cf7f.
* [KBM] Fixed Ctrl key state handling during and after shortcuts invoked by AltGr
* [KBM] Left ctrl stuck bug is solved.
* [KBM] Remove unnecessary changes.
* [KBM] New Ctrl stuck case fix.
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Update thirdPartyRunPlugins.md to add ChatGPTPowerToys plugin
* Update names.txt
Adding in ferraridavide to allow PT to pass CI
---------
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* Update with bug fixes for tray icon and support for parent process
* Process information enum
* Update the docs
* Fix spelling
* Make sure that PID is used in PT config flow
Add support for ImageresizerSizes property
- do not use ints for enums in ImageSize struct
- add required converters
- extend setAdditional functionality
- add samples
Co-authored-by: Andrey Nekrasov <1828123+yuyoyuppe@users.noreply.github.com>
## 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()
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 )
# Even repositories expecting pure English content can unintentionally have Non-English content... People will occasionally mistakenly enter [homoglyphs](https://en.wikipedia.org/wiki/Homoglyph) which are essentially typos, and using this pattern will mean check-spelling will not complain about them.
#
# If the content to be checked should be written in English and the only Non-English items will be people's names, then you can consider adding this.
#
# Alternatively, if you're using check-spelling v0.0.25+, and you would like to _check_ the Non-English content for spelling errors, you can. For information on how to do so, see:
# See https://www.grammarly.com/blog/cannot-or-can-not/
# > Don't use `can not` when you mean `cannot`. The only time you're likely to see `can not` written as separate words is when the word `can` happens to precede some other phrase that happens to start with `not`.
# > `Can't` is a contraction of `cannot`, and it's best suited for informal writing.
# > In formal writing and where contractions are frowned upon, use `cannot`.
# > It is possible to write `can not`, but you generally find it only as part of some other construction, such as `not only . . . but also.`
# - if you encounter such a case, add a pattern for that case to patterns.txt.
# Alternatively, if you're using check-spelling v0.0.25+, and you would like to _check_ the Non-English content for spelling errors, you can. For information on how to do so, see:
# 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.
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
* [ ] Applies to #xxx
*[ ]CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/PowerToys) and sign the CLA
*[ ]Tests added/passed
*[ ]Requires documentation to be updated
*[ ]I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx
-[ ]**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 -->
### HACK: On ARM64 builds, building an app with Windows App SDK copies the x64 WebView2 dll instead of the ARM64 one. This task makes sure the right dll is used.
- task:CopyFiles@2
displayName:HACK Copy core WebView2 ARM64 dll to output directory
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.
ZoomIt's Video Recording Session code is based on Robert Mikhayelyan's https://github.com/robmikh/capturevideosample code.
### 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!
## ZoomIt original contributors
ZoomIt source code was originally implemented by [Sysinternals](https://sysinternals.com):
- [@markrussinovich](https://github.com/markrussinovich) - Mark Russinovich
- [@foxmsft](https://github.com/foxmsft) - Alex Mihaiuc
- [@johnstep](https://github.com/johnstep) - John Stephens
## PowerToys core team
- [@crutkas](https://github.com/crutkas/) - Clint Rutkas - Lead
- [@cinnamon-msft](https://github.com/cinnamon-msft) - Kayla Cinnamon - Lead
- [@nguyen-dows](https://github.com/nguyen-dows) - Christopher Nguyen - Product Manager
- [@jaimecbernardo](https://github.com/jaimecbernardo) - Jaime Bernardo - Dev lead
- [@dhowett](https://github.com/dhowett) - Dustin Howett - Dev lead
- [@yeelam-gordon](https://github.com/yeelam-gordon) - Gordon Lam - Dev lead
- [@jamrobot](https://github.com/jamrobot) - Jerry Xu - Dev lead
- [@drawbyperpetual](https://github.com/drawbyperpetual) - Anirudha Shankar - Dev
- [@mantaionut](https://github.com/mantaionut) - Ionut Manta - Dev
- [@donlaci](https://github.com/donlaci) - Laszlo Nemeth - Dev
- [@SeraphimaZykova](https://github.com/SeraphimaZykova) - Seraphima Zykova - Dev
- [@stefansjfw](https://github.com/stefansjfw) - Stefan Markovic - Dev
- [@lei9444](https://github.com/lei9444) - Leilei Zhang - Dev
- [@shuaiyuanxx](https://github.com/shuaiyuanxx) - Shawn Yuan - Dev
- [@moooyo](https://github.com/moooyo) - Yu Leng - Dev
- [@haoliuu](https://github.com/haoliuu) - Hao Liu - Dev
- [@chenmy77](https://github.com/chenmy77) - Mengyuan Chen - Dev
- [@chemwolf6922](https://github.com/chemwolf6922) - Feng Wang - Dev
- [@yaqingmi](https://github.com/yaqingmi) - Yaqing Mi - Dev
- [@zhaoqpcn](https://github.com/zhaoqpcn) - Qingpeng Zhao - Dev
- [@urnotdfs](https://github.com/urnotdfs) - Xiaofeng Wang - Dev
- [@zhaopy536](https://github.com/zhaopy536) - Peiyao Zhao - Dev
- [@wang563681252](https://github.com/wang563681252) - Zhaopeng Wang - Dev
- [@vanzue](https://github.com/vanzue) - Kai Tao - Dev
# Former PowerToys core team members
- [@indierawk2k2](https://github.com/indierawk2k2) - Mike Harsh - Product Manager
Below is our guidance for reporting issues, proposing new features, and submitting contributions via Pull Requests (PRs). Our philosophy is to understand the problem and scenarios first, which is why we follow this pattern before work starts.
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
**Importance of Filing an Issue First**
Please follow this rule to help eliminate wasted effort and frustration, and to ensure an efficient and effective use of everyone’s time:
> 👉 If you have a question, think you've discovered an issue, or would like to propose a new feature, please find/file an issue **BEFORE** starting work to fix/implement it.
When requesting new features or enhancements, providing additional evidence, data, tweets, blog posts, or research is extremely helpful. This information gives context to the scenario that may otherwise be lost.
* Unsure whether it’s an issue or feature request? File an issue.
* Have a question that isn't answered in the docs, videos, etc.? File an issue.
* Want to know if we’re planning 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, or repro steps.
A quick search before filing an issue could be helpful. It’s likely someone else has found the same problem, and they may even be working on or have already contributed a fix!
### Indicating Interest in Issues
To let the team know which issues are important, upvote by clicking the [+😊] button and the 👍 icon on the original issue post. Avoid comments like "+1" or "me too" as they clutter the discussion and make it harder to prioritize requests.
---
## Contributing Fixes/Features
Please comment on our ["Would you like to contribute to PowerToys?"](https://github.com/microsoft/PowerToys/issues/28769) thread to let us know you're interested in working on something before you start. This helps avoid multiple people unexpectedly working on the same thing and ensures everyone is clear on what should be done. It's less work for everyone to establish this up front.
### Localization Issues
For localization issues, please file an issue to notify our internal localization team, as community PRs for localization aren't accepted. Localization is handled exclusively by the internal Microsoft team.
### 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 that any work done will be accepted. Larger-scope items will require a spec to outline the approach and allow for discussion. Specs help collaborators consider different solutions, describe feature behavior, and plan for errors. Achieving agreement in a spec before writing code often results in simpler code and less wasted effort.
Once a team member has agreed with your approach, proceed to the "Development" section below. Team members are happy to help review specs and guide them to completion.
### Help Wanted
Once the team has approved an issue/spec approach, development can proceed. If no developers are immediately available, the spec may be parked and labeled "Help Wanted," ready for a developer to get started. For development opportunities, visit [Issues labeled Help Wanted](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 Features and Functionality
Names should be descriptive and straightforward, clearly reflecting functionality and usefulness.
### Becoming a Collaborator on the PowerToys Team
Be an active community member! Make helpful contributions by filing bugs, offering suggestions, developing fixes and features, conducting code reviews, and updating documentation.
When the time comes, Microsoft will reach out to you about becoming a formal team member. Just make sure they have a way to contact you. 😊
---
## Thank You
Thank you in advance for your contribution! We appreciate your help in making PowerToys a better tool for everyone.
<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.
<!-- Including MessagePack to force version, since it's used by StreamJsonRpc but contains vulnerabilities. After StreamJsonRpc updates the version of MessagePack, we can upgrade StreamJsonRpc instead. -->
<!-- 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.11. -->

Microsoft 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)
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]!
[<img align="left" src="./doc/images/overview/FancyZones_small.png" />](/src/modules/fancyzones/) [FancyZones](/src/modules/fancyzones/) is a window manager that makes it easy to create complex window layouts and quickly position windows into those layouts.
<br>
<br>
<br>
<br>
<br>
### Shortcut Guide
[<img align="left" src="./doc/images/overview/Shortcut guide_small.png" />](/src/modules/shortcut_guide) [Windows key shortcut guide](/src/modules/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.
<br>
<br>
<br>
<br>
<br>
### PowerRename
[<img align="left" src="./doc/images/overview/PowerRename_small.PNG" />](/src/modules/powerrename) [PowerRename](/src/modules/powerrename) is a Windows Shell Extension for advanced bulk renaming using search and replace or regular expressions. PowerRename allows simple search and replace or more advanced regular expression matching. While you type in the search and replace input fields, the preview area will show what the items will be renamed to. PowerRename then calls into the Windows Explorer file operations engine to perform the rename. This has the benefit of allowing the rename operation to be undone after PowerRename exits. This code is based on [Chris Davis's SmartRename](https://github.com/chrdavis/SmartRename).
<br>
<br>
### File Explorer (Preview Panes)
[<img align="left" src="./doc/images/overview/PowerPreview_small.PNG" />](/src/modules/previewpane) [File Explorer](/src/modules/previewpane) add-ons right now are just limited to Preview Pane additions for File Explorer. Preview Pane is an existing feature in the File Explorer. To enable it, you just click the View tab in the ribbon and then click "Preview Pane".
PowerToys will now enable two types of files to be previewed: Markdown (.md) & SVG (.svg)
<br>
<br>
### Image Resizer
[<img align="left" src="./doc/images/overview/ImageResizer_small.png" />](/src/modules/imageresizer) [Image Resizer](/src/modules/imageresizer) is a Windows Shell Extension for quickly resizing images. With a simple right click from File Explorer, resize one or many images instantly. This code is based on [Brice Lambson's Image Resizer](https://github.com/bricelam/ImageResizer).
<br>
<br>
<br>
<br>
### Keyboard Manager
[<img align="left" src="./doc/images/overview/KBM_small.png" />](src/modules/keyboardmanager/) [Keyboard Manager](src/modules/keyboardmanager/) allows you to customize the keyboard to be more productive by remapping keys and creating your own keyboard shortcuts. This PowerToy requires Windows 10 1903 (build 18362) or later.
<br>
<br>
<br>
<br>
<br>
### PowerToys Run
[<img align="left" src="./doc/images/overview/PowerLauncher_small.png" />](src/modules/launcher/) [PowerToys Run](src/modules/launcher/) is a new toy in PowerToys that can help you search and launch your app instantly with a simple alt-space and start typing! It is open source and modular for additional plugins. Window Walker is now inside too! This PowerToy requires Windows 10 1903 (build 18362) or later.
- Microsoft PowerToys requires Windows 10 1803 (build 17134) or later.
- Have [.NET Core 3.1 Desktop Runtime](https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-desktop-3.1.4-windows-x64-installer). The installer will prompt this but we want to directly make people aware.
### Requirements
### Via Github with MSI [Recommended]
- 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.
Install from the [Microsoft PowerToys GitHub releases page][github-release-link]. Click on `Assets` to show the files available in the release and then click on `PowerToysSetup-0.18.1-x64.msi` to download the PowerToys installer.
### Via GitHub with EXE [Recommended]
**Note:** After installing, you will have to start PowerToys for the first time. We will improve install experience this moving forward but due to a possible install dependency, we can't start after install currently.
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.
<!-- items that need to be updated release to release -->
Download PowerToys from [WinGet](https://github.com/microsoft/winget-cli/releases). To install PowerToys, run the following command from the command line / PowerShell:
### Via Microsoft Store
Install from the [Microsoft Store's PowerToys page][microsoft-store-link]. You must be using the [new Microsoft Store](https://blogs.windows.com/windowsExperience/2021/06/24/building-a-new-open-microsoft-store-on-windows-11/) which is available for both Windows 11 and Windows 10.
### 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:
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.
Download and upgrade PowerToys from [Chocolatey](https://chocolatey.org). If you have any issues when installing/upgrading the package please go to the [package page](https://chocolatey.org/packages/powertoys) and follow the [Chocolatey triage process](https://chocolatey.org/docs/package-triage-process)
## Third-Party Run Plugins
To install PowerToys, run the following command from the command line / PowerShell:
```powershell
chocoinstallpowertoys
```
To upgrade PowerToys, run the following command from the command line / PowerShell:
Our goals for 0.18 release cycle was three big items, PowerToys Run, Keyboard manager, and migrating to the new settings system. This is also the first time we'll test out the auto-updating system.
Feedback is critical. We know there are areas for improvement on PT Run. We would love feedback so we can improve. We also would love to know if you want us to be more aggressive on auto-upgrading.
- We shipped [v0.18][github-release-link]!
- New Utilities
- PowerToys Run, our new application launcher (use alt-space to activate)
- Keyboard manager, a quick easy way to remap your keyboard
- Improved performance on FancyZones [#1264](https://github.com/microsoft/PowerToys/issues/1264)
- Lots of bug fixes!
For [0.19](https://github.com/microsoft/PowerToys/issues?q=is%3Aopen+is%3Aissue+project%3Amicrosoft%2FPowerToys%2F4), we are proactively working on:
- Enable PT Run to be mapped to Win-Keys
- Stability / tech debt fixes
- Performance improvements with FancyZones
- A testing utility for FancyZones to be sure we can test different window configurations.
### Version 1.0 plan
Our plan for all the [goals and utilities for v1.0 detailed over here in the wiki][v1].
## Developer Guidance
Please read the [developer docs](/doc/devdocs) for a detailed breakdown.
There is a collection of [third-party plugins](./doc/thirdPartyRunPlugins.md) created by the community that aren't distributed with PowerToys.
## Contributing
This project welcomes contributions of all times. Help spec'ing, design, documentation, finding bugs are ways everyone can help on top of coding features / bug fixes. We are excited to work with the power user community to build a set of tools for helping you get the most out of Windows.
This project welcomes contributions of all types. Besides coding features / bug fixes, other ways to assist include spec writing, design, documentation, and finding bugs. We are excited to work with the power user community to build a set of tools for helping you get the most out of Windows.
We ask that **before you start work on a feature that you would like to contribute**, please read our [Contributor's Guide](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.
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.
### ⚠ State of code ⚠
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.
PowerToys is still a very fluidic project and the team is actively working out of this repository. We will be periodically re-structuring/refactoring 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**.
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.
### License Info
## What's Happening
Most contributions require you to agree to a [Contributor License Agreement (CLA)][oss-CLA] declaring that you have the right to, and actually do, grant us the rights to use your contribution.
### PowerToys Roadmap
Our [prioritized roadmap][roadmap] of features and utilities that the core team is focusing on.
### 0.88 - January 2025 Update
In this release, we focused on new features, stability, and improvements.
**Highlights**
- New utility: ZoomIt - a screen zoom, annotation, and recording tool for technical presentations and demos. This utility from Sysinternals has had its source code released and included in PowerToys. ZoomIt will still continue to be updated and shipped by Sysinternals for users who prefer to have it as a standalone utility outside of PowerToys. Thanks [@markrussinovich](https://github.com/markrussinovich), [@foxmsft](https://github.com/foxmsft) and [@johnstep](https://github.com/johnstep) for contributing the original code and reviewing the PowerToys integration!
- Video Conference Mute has been deprecated and was removed from PowerToys.
- .Net 9.0.1 fixed many issue in WPF, improving stability for PowerToys Run.
### General
- Applied a workaround for the Windows App SDK applications title bar override that was causing accent color to not be shown on the top bar of applications on Windows 10. Thanks [@pingzing](https://github.com/pingzing)!
- Improved the "admin application running" notification checking logic to be less demanding on resources. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- Fixed an issue causing many utilities to crash when the GPO to disable data diagnostics was applied.
### Advanced Paste
- Fixed a crash when the application was exiting. (This was a hotfix for 0.87)
- Added a Json format validation step to verify if a conversion to Json should be applied.
- Fixed accessibility issues when using a screen reader.
- Added support for all BitmapDecoder supported image file types to the Image to Text functionality. Thanks [@daverayment](https://github.com/daverayment)!
- Fixed an issue causing Advanced Paste initialization errors to hang the PowerToys main process.
### FancyZones
- Removed Workspaces Editor from the exclusions list so it can be snapped by FancyZones.
### Keyboard Manager
- Added an option to make a shortcut remapping only trigger with exact modifiers.
### Monaco Preview
- Added support for .resx and .resw files in Peek and File Explorer add-ons. Thanks [@asif4318](https://github.com/asif4318)!
- Added a setting to make the code minimap toggle-able in Peek and File Explorer add-ons. Thanks [@PesBandi](https://github.com/PesBandi)!
- Fixed an issue causing Json format preview setting to not be applied correctly.
- Fixed an issue causing the wrong Monaco assets to be used at runtime.
### Mouse Without Borders
- Fixed an issue causing clipboard to stop working after going through a UAC screen when using the Service mode. Thanks [@YDKK](https://github.com/YDKK)!
### New+
- Fixed an issue causing New+ to override the New file or folder creation from the File Explorer Ribbon buttons or keyboard shortcuts on Windows 10.
- When creating file or folders through a template, they should now have the current time as the last modified date. Thanks [@cgaarden](https://github.com/cgaarden)!
### Peek
- Fixed an issue causing Peek to not appear if it was previously minimized. Thanks [@asif4318](https://github.com/asif4318)!
### PowerToys Run
- Fixed a transparent border issue on Windows 10. (This was a hotfix for 0.87)
- Fixed a crash in the OneNote plugin after the .Net 9 update. (This was a hotfix for 0.87)
- Fixed an issue causing the Calculator plugin to return division by zero errors when dividing by hexadecimal numbers. Thanks [@plante-msft](https://github.com/plante-msft)!
- Updated the Calculator plugin Mages library to 3.0.0 and added support for the random integer function. Thanks [@htcfreek](https://github.com/htcfreek)!
- Improved handling of non-base 10 numbers to add support for binary and octal numbers in the Calculator plugin. Thanks [@PesBandi](https://github.com/PesBandi)!
- Added a setting to enable selection of which units to use for trigonometric functions. Thanks [@OldUser101](https://github.com/OldUser101)!
- Fixed a .NET 9 regression causing the PowerToys Run dialog to not be draggable. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
- Added context menu buttons for the VS Code Workspaces plugin, for copying the path, opening in File Explorer or in Console. Thanks [@programming-with-ia](https://github.com/programming-with-ia)!
- Added some telemetry to gather data on which hotkey is used to trigger PowerToys Run.
- Removed the workarounds that were in place to fix some WPF issues that were fixed in .NET 9.0.1.
- Fixed a typo in the Value Generator plugin messages. Thanks [@OldUser101](https://github.com/OldUser101)!
### Quick Accent
- Added the ć character to the Slovenian character set. Thanks [@dsoklic](https://github.com/dsoklic)!
- Added the Proto-Indo-European character set.
### Registry Preview
- Fixed an issue causing line breaks to not be parsed correctly for REG_MULTI_SZ values. Thanks [@htcfreek](https://github.com/htcfreek)!
- Added a tooltip to values to show multiple lines of data. Thanks [@htcfreek](https://github.com/htcfreek)!
- Added a context menu to enable copying type, value and key paths. Thanks [@htcfreek](https://github.com/htcfreek)!
### Settings
- Made the Advanced Paste paste OpenAI configuration modal scrollable.
- Fixed the text on the Quick Accent page to refer to "character sets" instead of "character set". Thanks [@PesBandi](https://github.com/PesBandi)!
- Added the plugin's dll file version and website to the PowerToys Run plugin settings. Thanks [@htcfreek](https://github.com/htcfreek)!
- Added the Workspaces file to the list of files that gets backed up by the Back up / Restore functionality.
- Fixed an issue causing some of the selected character sets to be unselected when opening the character set expander in the Quick Accent page.
- Improved GPO logic, icons, info bar layout and enabled state of all modules settings pages. Thanks [@htcfreek](https://github.com/htcfreek)!
- Fixed some accessibility issues and refactored and improved quality of the code related to image sizes in the Image Resizer page. Thanks [@daverayment](https://github.com/daverayment)!
- Fixed mentions of "Backup" to "Back up" when it should be used as a verb. Thanks [@JackStuart](https://github.com/JackStuart)!
- Added a "New" label to Settings to better highlight new utilities that get released. Thanks [@niels9001](https://github.com/niels9001) for the UI tweaks!
### Text Extractor
- Fixed many accessibility and UI issues on the overlay UI. Thanks [@davidegiacometti](https://github.com/davidegiacometti)!
### Workspaces
- Fixed an issue causing the Workspaces Editor to start outside of visible desktop area.
- Fixed an issue to maintain command line arguments for applications when trying using the "Launch and Edit" feature.
### Video Conference Mute
- The module has been deprecated in 0.88.0, being removed from PowerToys.
### ZoomIt
- New utility: Zoom It - a screen zoom, annotation, and recording tool for technical presentations and demos. This utility from Sysinternals has had its source code released and included in PowerToys. ZoomIt will still continue to be updated and shipped by Sysinternals for users who prefer to have it as a standalone utility outside of PowerToys. Thanks [@markrussinovich](https://github.com/markrussinovich), [@foxmsft](https://github.com/foxmsft) and [@johnstep](https://github.com/johnstep) for contributing the original code and reviewing the PowerToys integration!
### Documentation
- Updated the PowerToys Run documentation to reflect documentation pages for new plugins.
- Added YubicoOauthOTP plugin mention to thirdPartyRunPlugins.md. Thanks [@dlnilsson](https://github.com/dlnilsson)!
### Development
- Added fuzz testing for AdvancedPaste, with a new pipeline for OneFuzz.
- Added a new CI pipeline to build with the latest WindowsAppSDK.
- Added a new CI pipeline to build with the latest webview2 from Edge Canary.
- Made the HostsUILib project AOT compatible. Thanks [@snickler](https://github.com/snickler) for your help reviewing this!
- Made FilePreviewCommon and MarkdownPreviewHandler AOT compatible. Thanks [@snickler](https://github.com/snickler) for your help reviewing this!
- Made the PowerAccent.Core project AOT compatible. Thanks [@snickler](https://github.com/snickler) for your help reviewing this!
- Cleaned up some code for AOT compatibility in the Advanced Paste module. Thanks [@snickler](https://github.com/snickler) for your help reviewing this!
- Removed the prerelease flag from the PowerToys development DSC configurations. Thanks [@denelon](https://github.com/denelon)!
- Improved Dart CI reliability by improving error messages and retrying to the step that installs the correct dotnet version.
- Improved Dart CI reliability by fixing retries when downloading the localization files.
- Improved Dart CI build times by removing the steps to build the no longer needed abstracted utility nuget packages.
- Removed the solution.props file from the solution root.
- Fixed PowerToys Run Calculator plugin tests when running in systems with different number formats. Thanks [@htcfreek](https://github.com/htcfreek)!
- Updated many .NET packages from .NET 9.0.0 to 9.0.1 for security fixes. Thanks [@snickler](https://github.com/snickler)!
- Refactored the Mouse Without Borders Common.Log.cs and Common.Receiver.cs files. Thanks [@mikeclayton](https://github.com/mikeclayton)!
#### What is being planned for version 0.89
For [v0.89][github-next-release-work], we'll work on the items below:
- Stability / bug fixes
- New module: File Actions Menu
- PowerToys Run v2 development work
## 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
@@ -167,10 +238,15 @@ This project has adopted the [Microsoft Open Source Code of Conduct][oss-conduct
## Privacy Statement
The application logs basic telemetry. Our Telemetry Data page (Coming Soon) has the trends from the telemetry. Please read the [Microsoft privacy statement][privacyLink] for more information.
The application logs basic diagnostic data (telemetry). For more information on privacy and what we collect, see our [PowerToys Data and Privacy documentation](https://aka.ms/powertoys-data-and-privacy-documentation).
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.
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.
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) and [icon design](https://github.com/microsoft/PowerToys/issues/1118).
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.
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.
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.