* 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>
* 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>
* 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
* 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.
* 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>
* Add run ico
* Updated ico
* Add icon as resource and also as asset
Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
* 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>
* 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.
* 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
* 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
* 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>
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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>
* 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
* 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
* 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
* 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
* 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