Commit Graph

214 Commits

Author SHA1 Message Date
vldmr11080
698e5ec6ea
[FancyZones] Move window into last known position on active work area (if possible) (#4218)
* 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.
2020-06-17 11:55:14 +02:00
stefansjfw
f8cc129f04
[FancyZones] Move Trace::VirtualDesktopChange (#4320)
* Move Trace::VirtualDesktopChange to catch only the actual VD changes

* Update the check

* Add double check
2020-06-15 19:44:07 +02:00
Clint Rutkas
67c8d80190
Safeguarding end user links in settings (#4226)
* 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
2020-06-11 10:16:39 -07:00
Yevhenii Holovachov
6fdfd3b9e7
[PT Run] Closing PT Run and new settings app when PowerToys is not running (#3853)
Closing PowerLauncher, FZ Editor and new settings app when PowerToys is not running
2020-06-10 20:58:34 +03:00
vldmr11080
b0b2d3a727
[FancyZones] App zone history on multiple desktops (#3932)
* 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.
2020-06-05 17:25:52 +02:00
Yevhenii Holovachov
8410d7b08e
[FancyZones] Secondary mouse buttons click to toggle zones activation (#3989)
* Changed option name in settings, changed behaviour of zones activation by mouse to switch
* Removed IsDragEnabled from ZoneWindow
2020-06-05 17:53:08 +03:00
Seraphima Zykova
e96c82b171
Uniform style for button designations in settings (#4070) 2020-06-05 09:51:09 +03:00
stefansjfw
2b62244806
Cleanup Editor cmd args (#4022) 2020-06-04 13:01:42 +02:00
vldmr11080
1c7b07d614
Remove workarounds related to 0000 dekstop GUID. (#3931) 2020-06-02 12:06:36 +02:00
stefansjfw
ae4cb6e372
Move FancyZones to separate build&install dir (#3961) 2020-06-02 10:48:07 +02:00
Ivan Stošić
8d2256d359
Removed the stampZone argument (#3852) 2020-06-01 16:14:29 +02:00
vldmr11080
2216cda2f1
[FancyZones] Improve monitor work area handling (#3418)
* 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.
2020-05-31 12:36:45 +02:00
stefansjfw
ff328381af
[FancyZones] Custom canvas layouts scaling (#3644)
* Make canvas layout scaling sensitive

* Revert "Make canvas layout scaling sensitive"

This reverts commit 705dab7e36.

* Revert "Revert "Make canvas layout scaling sensitive""

This reverts commit b9dd27644c.

* Cleanup

* Minor refactoring

* Address PR comments
2020-05-29 09:38:29 +02:00
Seraphima Zykova
5db1f91b01
[FancyZones] Unit-tests fix: keeping user settings unchanged (#3500) 2020-05-27 21:09:18 +03:00
Josh Soref
ecb5d2ae1c
Spelling: ... fancyzones (#3777)
* spelling: defined

* spelling: excluded

* spelling: guid

* spelling: highlight

* spelling: original

* spelling: nonexistent
2020-05-27 16:55:46 +02:00
PrzemyslawTusinski
3d619f1670
[FancyZones] Outlook new message restore placement bug (#2534) 2020-05-27 16:52:59 +02:00
Josh Soref
30dff09d7e
spelling: toggle (#3749) 2020-05-26 20:12:20 +02:00
Clint Rutkas
85f7d19eb2
upgrade to cppwinrt after the last merge conflict (#3745) 2020-05-26 10:53:46 -07:00
vldmr11080
6adda5c29c
[FancyZones] Remove "keep windows pinned to virtual desktop location" settings (#3687) 2020-05-26 17:06:12 +02:00
Josh Soref
b1554ebf37
Spelling: ... src/modules (#3712) 2020-05-26 16:56:25 +02:00
Clint Rutkas
b6307b4fd6
Nuget updates (#3683)
* 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
2020-05-26 07:42:04 -07:00
Ivan Stošić
6f22c7ad19
[FancyZones] Added persistence to app zone history (#3132)
* 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()
2020-05-26 16:01:12 +02:00
stefansjfw
791518d6c4
Don't migrate custom layout if type is invalid (#3645) 2020-05-25 10:59:05 +02:00
vldmr11080
7870a66790
[FancyZones] Snap out of maximized window into zones with win + left/right arrow (#3097)
* Snap out of maximized window into zones with win + left/right arrow.

* Determine if there is anything to process before swallowing keypress.
2020-05-25 10:15:42 +02:00
Andrey Nekrasov
c923e96f3e
sln: do not use PCH on CI (#3106) 2020-05-25 10:59:05 +03:00
vldmr11080
1792849b98
Expose InMoveSize from WindowMoveHandler. (#3525) 2020-05-22 16:42:29 +02:00
Ivan Stošić
e249bc5856
[FancyZones] Fix a regression with Chrome tabs jamming FZ (#3338) 2020-05-20 18:52:48 +02:00
Andrey Nekrasov
2eecaf4570
Revert "[FancyZones] Remove "keep windows pinned to virtual desktop location" settings (#3093)" (#3292)
This reverts commit 8f59247acb.
2020-05-20 11:57:17 +03:00
vldmr11080
8f59247acb
[FancyZones] Remove "keep windows pinned to virtual desktop location" settings (#3093)
* Remove keep windows pinned to virtual desktop location FancyZones settings

* Remove virtual desktop switch handling for this scenario.
2020-05-20 10:49:28 +02:00
Arjun Balgovind
58f1a8e916
Fix failing build pipeline (#2932)
* Add extra libpath load statement

* Add QSpectre flags on Release

* Revert cmd change

* Added spectre flag for debug

* added flag for more projects
2020-05-12 20:52:02 -07:00
PrzemyslawTusinski
e723e87c74
PowerLauncher can be snapped to zone - fix (#2896) 2020-05-12 19:33:42 +02:00
Andrey Nekrasov
8aa8c296e1
FancyZones: FZ & FZE now live in a dedicated dir (#2837) 2020-05-11 21:22:23 +03:00
ryanbodrug-microsoft
5f14b2e738 Merge branch 'master' into merge/build-features-to-master 2020-05-06 18:39:25 -07:00
Yevhenii Holovachov
bc53951648
Option to disable zones activation by mouse (#2717)
* Added option to enable/disable mouse to activate zones, added telemetry and unit tests
2020-05-07 02:21:32 +03:00
vldmr11080
56c0a78c64
[FancyZones] Only process windows located on currently active work area when moving them (#2691)
* Only process windows located on currently active work area when moving them.

* Move all editor exit handling into dedicated method.
2020-05-06 17:16:16 +02:00
ryanbodrug-microsoft
640fade438 merge master 2020-05-06 00:49:46 -07:00
yuyoyuppe
8b988409e2 FancyZones: LowLevelKeyboardProc & other improvements 2020-05-05 15:16:37 +03:00
yuyoyuppe
57c4658021 FancyZones: prevent WinHookEventProc reentrancy bugs by serializing events to FancyZones::WndProc 2020-05-05 15:16:37 +03:00
vldmr11080
f5381ae3e3
[FancyZones] Clean up resources taken by closed virtual desktops on module startup (#2616)
* Clean up resources taken by closed virtual desktops on FancyZones module startup.

* Overload GetVirtualDesktopIds to return wide string.

* Refactor OnDisplayChange method.
2020-05-05 10:13:50 +02:00
theaquamarine
95c4bf5854
Enable FancyZones to react to right Windows key (#2624)
Check the status of VK_RWIN as well as VK_LWIN

Fixes #436
2020-05-05 09:21:55 +02:00
stefansjfw
e6b74b10eb
[FancyZones] Make snapping windows using Windows Snap Hotkeys across monitors optional (#2583)
* Make moving window across monitors optional

* Update tests

* Address PR comment: Update description of the toggle
2020-05-01 16:17:16 +02:00
Andrey Nekrasov
8c4dbbfbec
FZ: run AnimateWindow and InvalidateRect in a dedicated thread (#2582) 2020-05-01 17:14:35 +03:00
vldmr11080
fd32dad7eb
[FancyZones] Send message from VirtualDesktopUpdates thread to FZ thread when update happens (#2568)
* Move part of the virtual desktops related logic from FancyZones to VirtualDesktopUtils.

* Post WM message from vritual desktop tracker thread to FZ thread.

* Minor improvements in RegisterVirtualDesktopUpdates method.

* Close registry key after HandleVirtualDesktopUpdates thread finishes execution.

* Remove comment explaining workaround to VirtualDesktopUtils namespace.

* Move HandleVirtualDesktopUpdates to VirtualDesktopUtils namespace. Resolve PR comments.

* Fix typos in window messages description.

* Remove lock from OnKeyDown method to avoid deadlock.
2020-05-01 16:13:16 +02:00
stefansjfw
8908bd9889
Remove unused ZoneSetPersistedDataOLD struct (#2581) 2020-05-01 12:35:37 +02:00
Seraphima Zykova
7903fe52b4
FancyZones decomposition (#2485)
* FancyZones refactoring
Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
2020-04-30 13:16:08 +03:00
vldmr11080
648f3abcbd
Handle scenario with only primary desktop and no desktop switch in current session. (#2339)
* Handle scenario with only primary desktop and no desktop swithc in current session.

* Add scoped lock when changing current desktop id. Address PR comments.

* Explain purpose of UpdatePrimaryDesktopData method.

* Fix typo in documentation.
2020-04-30 11:16:25 +02:00
vldmr11080
2d23952181
Don't poll for changes in HKEY_CURRENT_USER, but only for VirtualDesktops reg key. (#2496) 2020-04-30 00:10:53 +02:00
Rafael Rivera
d16ebba9e0
Move from sdk-provided cppwinrt-1.x to cppwinrt-2.x nuget package (#2246) 2020-04-29 22:02:18 +02:00
Tomas Agustin Raies
d9c4abe0df
Merge PowerLauncher branch (#2345)
* minor modifications in README

* Added launcher project and changed references to common

* Added the code to launch another process

* added shellapi header

* Added launcher to runner

* added functions to remove the abstract class error

* added the wox launcher dll

* Readded the reference to common

* modified the additional include directories for the release version

* changed the name to be displayed from Wox.Launcher to Launcher

* Localized the strings of Launcher

* Added a SearchResult Helper class

* Created a helper class to use indexer and return search results

* Added the main and settings file which declare most of the plugin interfaces

* Added references and renamed a class

* Added the images folder which contains the windows indexer icon

* Added the image

* Added the plugin.json file

* Minor changes in project files

* Added plugin.json to the project

* Modified the output paths to create the dll for the plugin in the correct location

* Refactored the code to make it unit testable

* Made the code unit testable and added unit tests for the indexer plugin

* Removed commented out code

* Code to terminate wox when we exit PowerToys

* Copy from Jeremy's fork PR

* Removed unnecessary plugins from source tree

* add missing files

* Fix postbuild event

* Added x64 for all Wox project - Debug mode

* Removed the AnyCPU config - Debug

* Added the build paths for release x64 (removed AnyCPU)

* Set warning level to 4 : Release

* Set warning level 4 : Debug

* set optimize code to false

* Removed notify icon component

* Removed setting UI XAML file and references

* Readded necessary callback functions

* Removed python path and python plugin functions

* Removed UI related to python path and the bindings related to that

* Remove python bindings

* Removed the localized string translations from pythonDirectory and SelectPythonDirectory

* Manually resolving conflicts

* Fix Wox build in project settings

* deleting unused project files

* Undo change internal

* Fix internal variable

* All wox exceptions in debug are getting rethrown, and thus causing the app to crash.  This change removes the debug specific code and allows exceptions to be handled the same was as release.

* Ported Indexer plugin to .net core 3

* Added the test project back

* Removed the .net framework indexer folder

* readding the plugin.json file

* Changed the anyCPU config to x64 for windows indexer plugin

* Adding dependency to wox project on the runner.  This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process.

* Updating build dependencies.  Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins

* removing locks from the ResultListBox code behind file.  All callbacks are accessed from the Main/UI thread.

* Remove anyCPU config and changed it to x64

* Removed anycpu of test proj

* Adding dependency

* Renaming executable to PowerLauncher.  Replaceing icons with placeholder. Deleting Docs folder

* Renaming AppData directory from 'Wox' to 'PowerLauncher'.  Also replacing issue link with powertoys github.

* adding support for xaml islands

* Added Neils UI code

* Replace Niels Code references

* Added assets and behaviours

* Add missing reference

* Add main view model binding

* Using proper executable name when closing 'PowerLauncher' process

* changed x:bind to Binding to avoid reference

* Updated bindings for launcher

* Added binding on searchBox

* Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects.

* Fixed exception preventing result display

* Fixed issue with wpf marshalling events to a non UI thread

* Optimised result binding by inserting search result from multiple plugin in parallel

* copy resource files to output folder

* Corrected the output path for the indexer plugin

* windows indexer plugin is working

* Remove console print statement

* Added callback function for mouse click on search result

* Working App execution

* Cherry picked pinyin performance changes from jjw24's master branch

* change nuget package to msft for winrt compat

* Working up/down arrow key

* updating references and removing a few that seem uneeded for how stuff is referenced

* adding two back in

* Removing Squirrel dll.  unsure on updating so i kept that logic in

* Updated functionality on suggestion chosen in autosuggestbox

* Added the <useWPF> tag to remove the warning

* Removed an unnecessary <useWindowsForms> tag

* Removed the item group for properties from calculator plugin

* Removed the item group for properties from folder plugin

* Removed the item group for properties from indexer, program and shell plugin

* Removed itemgrp from wox.core and wox.test csprojs

* Removed the unnecessary wox files to clean up codebase

* Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer

* Renamed Wox.Launcher to Microsoft.Launcher

* To avoid DBNull to String typecast exception

* Added query submitted event to handle default action on clicking a list view item

* Merge pull request #42 from microsoft/AddPinyinPerformance

Cherry picked pinyin performance changes from jjw24's master branch

(cherry picked from commit b9e437c6cd)

* Rectyfying title display

* Title display working correctly

* Removed .yml files

* adding checks

* Making wox.csproj build wox assembly instead of powerlauncher

* Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project.

* Making Query internals visible to wox.

* Update Powerlauncher nuget packages to be same version as wox.csproj.   Note:  FoxyWeavers.xsd change is automatically done as part of nuget package update.

* Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj

* Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj

* Downgraded the library to the latest stable version

* single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately

* Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException

* Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support.

* Removed STAThread

* Modified the output folder produced

* Renamed the dll produced

* Added dependency on PowerLauncher to the Microsoft.Launcher project

* modified the name of the dll in the indexer plugin

* Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build

* Added fix for closing wox on pressing escape and app execution (#75)

* adding useWPF to get rid of warning

* Launcher resize issue on selecting search result (#77)

* Added fix for closing wox on pressing escape and app execution

* Added fix to prevent autosuggestbox resize

* Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210

* suggested fix

* removing unused mutex string

* Searches for keyword only in title and not content to improve the quality of results

* Display the title from System.Title directly instead of extracting it from the path

* Removed additional README instructions before moving to the powerToys repo

* Fix Query builder test (#86)

* Revert base viewModel class to fix tests.

* Removing unused post build and deploy scripts.

* tweaked url

* Update plugin.json

* Update README.md

* removed unused dep (#2080)

* removed reference to everything (#2133)

* SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName

* Search result thumbnail for PowerLauncher (#2124)

* Replace WPF Imaging library with UWP

* Removed UWP and WPF namespace conflicting files from Wox

* Removed Image hashing as it wasn't used anywhere

* Updated formatting

* Set MainViewModel visibility to hidden on startup

* Enable CI build on PowerLauncher Branch (#2181)

* Enable CI build on PowerLauncher Branch

* Updated Nuget restore to latest and added AssetTargetFallback property

* tweak text (#2177)

* [Window Walker] Migrate to Launcher (#2093)

* Copy the existing calc. plugin foldeR

* Blindly rename a bunch of things to Window Walker

* Update the solution to reference the new plugin

* Get basic Yo returned

* Remove all the languages except english

* Lower quality of icon as well as test showing it

* Add the core non-ui parts to the plugin

* Delete calculator png

* Get it to compile

* Added the actual code which apparently doesn't work

* Finally start showing results

* Fix up strings

* Switch working

* Remove unused classes

* Remove unneeded async

* Added MSI support for Launcher (#2242)

* Fixed typo in output folder of calculator plugin

* Calculator plugin works

* Modified the name of the image to remove space as space is assumed to be a separator in wcx file

* Fixed typo in calculator dll

* Fixed typo in calculator plugin

* Shell, Program, Folde and indexer plugin working

* Added the ww plugin

* Fixed typos in the calculator plugin

* Delete file that was added unintentionally

* revert calculator rename changes

* Reverted other files changed

* Reverted renaming of file with space

* Pull changes from master to dev/powerLauncher (#2255)

* Dpi unaware placement bug (#2121)

Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right.
This fixes only single-monitor scenario
It skips correction for dpi unaware window that leaves a gap

* Move markdown parsing logic outside control thread (#2099)

* Move markdown parsing logic outside control thread

* Update MarkdownPreviewHandlerControl.cs

* Remove trailing whitespace.

That'll teach me for trying to make an edit from the GitHub page.

* Migrate power rename MRU lists from registry to JSON (#2090)

* Handle most recently used search/replace strings within settings.

* Check for last modified time of json file and reload it if needed.

* Handle changes in MRU search / replace lists size.

* Improve handling of changes in MRU list size.

* Don't check for last modified time in every getter method. Load only when starting application.

* Add const identifier to getter methods.

* Address PR comments: Add const to reg and json file paths and set them in constructor initializer. Check pushIdx validity. Move implementation to cpp of PowerRenameUI constructor.

* Add error checking when getting values from registry.

* Implementing changes suggested in #1992 (#2116)

* Implementing changes suggested in #1992

* Update Product.wxs

Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu>

* Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117)

* Fix for issue #1532

[PowerToys] Show version on tooltip

* Update src/runner/tray_icon.cpp

Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>

Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>

* FZ editor: Splitted zones positioning (#2158)

* Added a mutex to ZoneWindow, ensured no data races occur (#2154)

* Added a mutex to ZoneWindow, ensured no data races occur

* Protected draggedWindow* members with a mutex

* Ensured that critical reads happen in a single transaction

* Dpi unaware placement bug - multimontior with same DPI settings fix (#2156)

* Dpi unaware placement bug - multimontior with same DPI settings fix

* Using different enumerating method

* Changed AllMonitorHaveSameDpiScaling method

* Removed accidental file

* small rename

* Changed some methods to CamelCase

* Review comments fixes

Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com>
Co-authored-by: Ben Randall <veleek@gmail.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com>
Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu>
Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com>
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>

* Somil55/merge custom ui into launcher (#2271)

* Remove Autosuggest box (#2192)

* Update Settings.Designer.cs

* Revert "Update Settings.Designer.cs"

This reverts commit a1bc0dda56.

* Updated LauncherControl XAML to add textbox and listview

* List View displayed

* Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work

* Updated MainViewModel to Remove context menu and history

* Added Resultist XAML Island project

* Updated SelectedItem and SelectedList Binding.
Issues :  List box doesn't open when query is written for first time but opens in subsequent queries.

* 1. Mouse Click working
2. List View is can't be focused
3. Fixed width of Launcher

* Removed two way QueryText box binding

* Removed SelectedItem two way binding and replaced with a callback

* [Cleaning] Remove redundant UWP project

* [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher

* Thmbnail fixed for NEW UI

* Removed PreviewMouseDown function required by older WOX code

Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>

* Added the auto-complete feature

* Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design.

* Fixed merge conflicts

* Set only when index is 0

* One way binding

* Removed unnecessary binding

* Deleting unused (commented out code) that was legacy from wox project.

* Binding Buttons to appropriate context menu commands.
1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin.

This change also deletes unused commands.

Note:  Most button events don't seem to be getting routed to the Selected Item.  Currently using 'PointerEntered' to validate the behavior.  The actions should be trigged by the button command property in the future.

* manually handling tab in mainwindow

* Loading context buttons on Selecting a suggestion list item

* Allowing hover event to load content menu items and display them as well.

* Adding context buttons to Indexer plugin.  This allows for the following:
1. [Files] Open Containing folder
2. [Folders/Files] Copy Path

* Remove White background of list (#2218)

* Remove white background of list

* Removed comments

* Changed to ContainerContentChanging event

* add const variables instead of numbers

* Added comment before the updatelistSize function

* Search box UI (#2224)

* Added backdrop and rounded corner

* Fix for two alt+space press to bring searchbox issue

* Fixed merge conflict

* Clean Mainwindow.xaml code

* Fix for textbox focus on first visible

* Allowing users to tab between the context buttons for the selected resut.  Also allowing users to press 'enter' to action on the selected items.

* Renaming SelectedIndex to ContextMenuSelectedIndex

* Enabling key accelerators on context buttons.
1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results.
2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel
3. Enabling and disabling contextmenu items when selecting or deselecting each row.  Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus.

* Launching explorer instead of the UWP application when selecting 'open file location'.

* Added fix for border showing up when result count is zero

* Updated fix for border on no result

* Adding visibility  after clearing result in MainViewmodel

* Launcher Light/Dark mode (#2235)

* Fixed issue with list view background not updating with Windows theme change

* Added theme change for WPF

* updated ShadowDepth for dropshadow

* Updated border thicknes of searchbox and listview

* Diff issue with ResultList.xaml

* Removed change in result delay

* Added code to pull colors from UWP

* Updated border resource to use system based SystemControlHighlightAccentBrush

* Updated corner radius in dark mode

* Updated Launcher description text

Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>
Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com>

* Changed to SystemChromeLow from Accent brush (#2272)

* Removed ListView animations

* Positioning ContextButtons and adding background.

* Disabling scrollbars for gridview items.

* Removed folder plugin

* removed deployment for uwp apps (#2298)

* Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250)

* text is selected whenever launcher gets hidden and is then set to visible (#2315)

* Update nuget packages across solution to latest (#2334)

* simplifying the xaml and making things tighter (#2327)

* Setting runcommand as the default execution method, and turning off run as admin by default.

* Opening explorer if the user has types a file path.

* Enable PowerLauncher toggle

* Launcher MSI - Added a required dll and removed folder plugin (#2355)

* Modified the product.wxs file

* Added the x64 config

* Modify scoring algorithm for fuzzy search (#2361)

* Modify scoring

* modified to if else

* Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection.   This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over.

* Fixes an issue where PointerExit would hide the selected context buttons.

* Result List - Bad rebase overwrote margin and translation fields.

* Fixed process executing on clicking enter if no text in search box

* Codeflow cleanup when selectedItem is not null

* adjusting how programs are displayed. (#2369)

* Removing description from title

* adjusting subtitle

* removing accidently paste

* removing desc for uwp apps

* Revert "Removed folder plugin"

This reverts commit 064d638588.

We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories

* Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects.

* Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything.  Also reducing the String of CreateOpenCurrentResult to fit in one line.

* - Making Open Directory subtitle fixed, and the title as the current directory.

* Adding back binding to QueryText and updating the cursor position similar to how wox originally did it.

* Add the folder plugin wxs back in (#2374)

* Deduping results for program plugin (#2375)

* Removing description from title

* adjusting subtitle

* removing accidently paste

* removing desc for uwp apps

* Getting dups removed from list if LNK exists

* adjusting subtitle

* removing accidently paste

* Getting dups removed from list if LNK exists

* changed to normal forloop

* Removing WinR (#2381)

* Updated program execution to call action on background thread. (#2370)

* PowerLauncher Settings integration

* Added cold start fix (#2385)

* - Fixes cursor jumping around issue.
- Seperating the ability to set the text from initiating a query.
- Plugins have to explicitly request the query be updated.
- Updating Folder plugin to explicty update the query on folder selection.
- Removing unused changes from 'Wox' that don't compile.

* Fixing gap in logic where query was triggering when programatically setting text.

Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher.  For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event.

* Updating the QueryText to the selected item when navigating up/down with the  arrow keys.

* Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin.

* Making folder results from the search indexer plugin behave like folder results from folder plugin.

* Folder Results open the explorer window when selected.

* The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results.

* Initializing query text strings.

* Defensive check for QueryText being empty

* Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps

* Removing unused namespace.

* Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing

* Fix project references

* Fix MaxResultsToShow

* Fix Alt + Space display

* Fix settings defaults

Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com>
Co-authored-by: bkudiess <bakudies@microsoft.com>
Co-authored-by: Divyansh <somm14divi@gmail.com>
Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>
Co-authored-by: Barbara Kudiess <bkudiess@me.com>
Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: udit3333 <udit3333@gmail.com>
Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com>
Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com>
Co-authored-by: Ben Randall <veleek@gmail.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com>
Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu>
Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com>
Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-28 15:06:01 -07:00
yuyoyuppe
bb82a9bcf4 FZ: remove RestoreOrginalTransparency() from ZoneWindow::~ZoneWindow() and from ZoneWindow::MoveSizeEnter() 2020-04-28 15:17:20 +03:00
yuyoyuppe
df61ea0a62 Revert "Added a mutex to ZoneWindow, ensured no data races occur (#2154)"
This reverts commit af4678ff18.
2020-04-28 15:17:20 +03:00
vldmr11080
5ac7eddd03
Compare window desktop id with currently active work area desktop id. (#2110)
* Compare window desktop id with currently active work area desktop id.

* Improve error handling and conform to coding guidelines.

* Move virtual desktop helper functions to ZoneWindowUtils namespace.

* Ensure thread safety when creating instance of VirtualDesktopManager.

* Remove static qualifier from ServiceProvider.

* Return instead of break, as there is no need to check for other monitors, virtual desktop is the same for all.

* Move virtual desktop related helper functions to separate files.

* Skip comparing desktop ids if zone window has empty GUID for desktop id.

* Add comment describion scenario for which we need this fix.
2020-04-21 19:57:21 +02:00
PrzemyslawTusinski
dcee505f6b
Dpi unaware placement bug - multimontior with same DPI settings fix (#2156)
* Dpi unaware placement bug - multimontior with same DPI settings fix

* Using different enumerating method

* Changed AllMonitorHaveSameDpiScaling method

* Removed accidental file

* small rename

* Changed some methods to CamelCase

* Review comments fixes
2020-04-20 18:09:10 +02:00
Ivan Stošić
af4678ff18
Added a mutex to ZoneWindow, ensured no data races occur (#2154)
* Added a mutex to ZoneWindow, ensured no data races occur

* Protected draggedWindow* members with a mutex

* Ensured that critical reads happen in a single transaction
2020-04-20 16:32:49 +02:00
PrzemyslawTusinski
2077cd4864
Dpi unaware placement bug (#2121)
Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right.
This fixes only single-monitor scenario
It skips correction for dpi unaware window that leaves a gap
2020-04-15 12:34:11 +02:00
Andrey Nekrasov
86704efcec
FancyZones: optimize elevation detection logic (#2103) 2020-04-13 18:22:37 +03:00
stefansjfw
f589dd2f26
Only clone layout from parent desktop when creating new virtual desktop (#1904)
* Fix issue #1343

* Add Unit Tests

* Revert non intended rename

* Address PR comments
2020-04-10 16:29:18 +02:00
Ivan Stošić
629ba763d7
Basic support for snapping to multiple zones (#1955)
* Refactor a method which resizes windows

* Completed initial work for MultiZones

Without changing any test, they all pass!

* Implemented a basic version of Multizones, updated some tests

* Reduced the sensitivity radius

* Added a few must-have unit tests for Multizones

* Some fixups

* Took care of the conflict between this and #1938

* Improved how zones are detected, reverted a change in one unit test

* Resolved another merge conflict

* Fixed bugs related to stamping
2020-04-10 16:09:08 +02:00
PrzemyslawTusinski
17022d50d4
Fancy zones preserve size of non-resizable windows (#1974)
* fancy zones preserve size of non-resizable windows

* Changed the method of determining if window is resizable

* minor merge fix
2020-04-08 18:22:43 +02:00
Seraphima Zykova
efb86f453c
Draw border inside zone (#2000) 2020-04-08 16:59:17 +03:00
stefansjfw
569c18c9f1
Remove uneeded TmpMigrateAppliedZoneSets() (#1850)
This was needed while we were migratin device-info so
active layout could be migrated as well. At some point
we dropped migration of device-info. Therefore, this has no
puprose anymore.
2020-04-08 15:43:19 +02:00
PrzemyslawTusinski
d95e49b535
Dragging by upper part of application bar doesn't trigger fancy zones display - fix (#1953)
* Dragging by upper part of application bar doesn't trigger fancy zones - fix

* reversed if logic
2020-04-08 15:12:04 +02:00
Seraphima Zykova
5ff146bc69
KeePass window showing from tray (#1938) 2020-04-07 19:30:12 +03:00
Seraphima Zykova
f5ed9f1c33
Editor: fixed zone offset scaling (#1876) 2020-04-07 12:03:57 +03:00
JordanAnthonyKing
01ec472314
Issue #1849: Fix for windows in the last zone being placed in the first zone when decreasing the zone count. (#1884) 2020-04-07 10:23:59 +02:00
PrzemyslawTusinski
2806c386d3
fancyzones unity3d crash fix (#1914)
* fancyzones unity3d crash fix

* intelisence warning fix, and review issue fix

* Fix for review comment
2020-04-03 11:17:12 -07:00
Geert van Horrik
96fbc968ef
Support device names with underscores (such as 'Default_Monitor') in JSONHelpers.isValidDeviceId (#1826)
* #1821 Support device names with underscores (such as 'Default_Monitor') in JSONHelpers.isValidDeviceId

* Make support for '#' in device names optional

* Add more unit tests for isValidDeviceId
2020-04-02 18:51:36 +02:00
stefansjfw
ead47b2aa2
Remove unneded assignments (#1755)
* Remove uneeded assignments

* Use const iterators
2020-03-27 23:12:41 +01:00
PrzemyslawTusinski
f2744493b9
Dragging to another monitor doesn't activate fancy zone placement fix (#1736) 2020-03-27 16:09:37 +01:00
Andrey Nekrasov
d2a60c7287
FZ: disable flash zones option for 0.16 (#1721)
* FZ: disable flash zones option for 0.16

* fixup! review comments
2020-03-27 13:24:27 +03:00
yuyoyuppe
60fa6071b9 FZ: warn w/ a toast if an elevated window cannot be dragged and offer learning more 2020-03-27 13:23:37 +03:00
PrzemyslawTusinski
c247e49c2a
Fancy zones on all monitors - when dragging window to another monitor sometimes zone stays marked as active on previous FIX (#1709) 2020-03-26 17:48:01 +01:00
Seraphima Zykova
f72dd7fdb6
added telemetry for editor launch event (#1705) 2020-03-26 13:54:12 +03:00
vldmr11080
e85427f1da
Disable Win+Ctrl+Number feature for 0.16 release (#1689) 2020-03-25 18:32:33 +01:00
PrzemyslawTusinski
f8f7fe4f33
Fancy zones ui update( zone numbering as numbers, dragged window transaprency option, zone coloring customization) (#1666)
* Fancy zones ui update (#4)

* Draft of numeric fancyzones with numbers

* Added support for zone color configuration, improved zone number display

* Changed order of settings to more logical

* Added option to edit zone border color

* Trancparency of dragged window, transparency of displayed zones, changed font of zone numbers

* Fix for compilation

* Some refactor

* Introduced gdiplus to draw zone and zone index

* Fix for dissappering windows

* Some fixes

* another merge fix

* another merge fix

* Unit test merge fix

* Transparency with show zones on all fix

* indentation fix

* Fix for failing test

* Changed order of color pickers

* "Zone Opacity"

* Zone opacity (%)

* Added option to turn off dragged window transparency, changed default zones color values
2020-03-25 15:38:44 +01:00
vldmr11080
9e8facaa6f
Windows snap hotkeys to move windows between screens (#1603)
* When moving window into zones using arrow keys, support multi-monitor scenario

* Minor coding style adjustments

* Split implementation into separate functions because of readability

* Rename certain arguments

* Modify unit tests after API changes

* Address PR comments and add unit tests

* Return true from MoveWindowIntoZoneByDirection only if window is successfully added to new zone

* Improved monitor ordering (#1)

* Implemented improved monitor ordering v1

* Fixed some embarrassing bugs, added some tests

* Added one more test

* Extracted a value to a variable

* ASCII art in unit test comments describing monitor layouts

* Removed empty line for consistency

* Update comment to match the code

* Refactored tests, added tests for X,Y offsets

Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-03-24 18:50:26 +01:00
Andrey Nekrasov
e52c5d38d3
Cleanup project output/intermediate dirs (#1640)
* sln: set output dir prefix to "modules\" for all modules

* sln: CopyToOutputDirectory only when necessary

* sln: intermediate dir for csprojs

* sln: intermediate dir for vcxprojs

* sln: add PT as runner project deps + remove nonexisting project confs

* sln: remove AnyCPU for win-app-driver project
2020-03-20 21:41:48 +03:00
vldmr11080
49868d8f7c
Fix migration of rows and columns percents from registry (#1641) 2020-03-20 13:48:24 +01:00
stefansjfw
98ed178d7b
Double-qoute the paths when passing them as cmd args (#1604) 2020-03-17 18:12:32 +01:00
Seraphima Zykova
f49727e0b6
Invalid json test cases + strings validation (#1558)
* added tests for invalid json types
* guid strings validation
* device id validation
2020-03-17 00:29:13 +03:00
Ivan Stošić
2cc6d2ef11
Fixed some compiler warnings (#1577)
* Fixed some compiler warnings

* Changed long to int
2020-03-16 17:54:30 +01:00
Yevhenii Holovachov
02857d1b7f
Some refactoring of FancyZones::IsInterestingWindow and added Unit Tests (#1521)
* Some refactoring of FancyZones::IsInterestingWindow and added UnitTests
2020-03-16 14:25:30 +02:00
Enrico Giordani
969d71b264
Fix for build break (#1573) 2020-03-13 19:40:28 +01:00
PrzemyslawTusinski
0af6348913
Fancy zones: show active layouts on all monitors (#1553)
Added option to show fancy zones on all monitors with layouts simultaneously
Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-03-13 15:56:23 +01:00
Andrey Nekrasov
0ac6c01d65
runner: simplify powertoy_module interface (#1560) 2020-03-13 12:55:15 +03:00
vldmr11080
013a58e634
Move window to last known zone. Support movement in multi-monitor scenario (#1511) 2020-03-10 09:59:34 +01:00
stefansjfw
7ac378dcd3
Fix compiler warning (#1492) 2020-03-09 23:21:33 +01:00
vldmr11080
7653d5fec9
Document fancy zones (#1496) 2020-03-09 19:22:53 +01:00
PrzemyslawTusinski
7e1f7bd7fd
Ui rename Zone highlight Opacity (%) - > Zone Opacity (#1504) 2020-03-09 12:27:35 +01:00
stefansjfw
1cf8634152
Move ZoneSetPersistedDataOLD to JsonHelpers (#1405) 2020-03-07 10:59:00 +01:00
Ivan Stošić
2b91903129
Fixed one mishandled case when computing zones (#1470) 2020-03-05 21:51:58 +01:00
Ivan Stošić
9860e2bc75
Fixed an issue where zones do not fill up the whole screen (#1458)
* Fixed an issue where zones do not fill up the whole screen
* Fixup: Added comments, removed extra semicolons
2020-03-05 15:54:06 +01:00
Ivan Stošić
8a22da0acb
Fix too many zones crashing (#1337)
Fix for an issue where creating too many zones causes a crash
2020-03-05 14:59:47 +01:00
Ivan Stošić
92f64188d5
Fixed multi-monitor scaling bug (#1293)
Fixed an issue (#365) where a window gets resized after it gets dropped into a zone.
2020-03-05 10:57:45 +01:00
vldmr11080
39cac396f5
Swallow shift keyboard event when dragging window (#1423) 2020-03-05 08:01:58 +01:00
stefansjfw
121be772df
Fix migrating never applied custom zonesets (#1427) 2020-03-03 21:48:22 +01:00
vldmr11080
6556e1b4a2
Skip cloning device information from parent virtual desktop if it is deleted. (#1415) 2020-03-02 18:52:38 +01:00
vldmr11080
66892aea60
Secure acces from multiple threads to JSONHelpers (add missing lock) (#1375) 2020-02-27 09:52:14 +01:00
vldmr11080
1f8f9aaf81
Revert "Swallow shift keyboard event when dragging window (#1362)" (#1363)
This reverts commit 2f9b753c5b.
2020-02-26 08:11:39 +01:00
vldmr11080
2f9b753c5b
Swallow shift keyboard event when dragging window (#1362) 2020-02-25 21:03:14 +01:00