Files
PowerToys/src/modules/launcher/Plugins/Microsoft.Plugin.WindowWalker/Components/InteropAndHelpers.cs

876 lines
32 KiB
C#
Raw Normal View History

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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
// Code forked from Betsegaw Tadele's https://github.com/betsegaw/windowwalker/
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
using System;
using System.Runtime.InteropServices;
using System.Text;
namespace Microsoft.Plugin.WindowWalker.Components
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
{
/// <summary>
/// Interop calls with helper layers
/// </summary>
internal class InteropAndHelpers
{
public delegate bool CallBackPtr(IntPtr hwnd, IntPtr lParam);
/// <summary>
/// Some flags for interop calls to SetWindowPosition
/// </summary>
[Flags]
public enum SetWindowPosFlags : uint
{
/// <summary>
/// If the calling thread and the thread that owns the window are attached to different input queues, the system posts the request to the thread that owns the window. This prevents the calling thread from blocking its execution while other threads process the request.
/// </summary>
SWP_ASYNCWINDOWPOS = 0x4000,
/// <summary>
/// Prevents generation of the WM_SYNCPAINT message.
/// </summary>
SWP_DEFERERASE = 0x2000,
/// <summary>
/// Draws a frame (defined in the window's class description) around the window.
/// </summary>
SWP_DRAWFRAME = 0x0020,
/// <summary>
/// Applies new frame styles set using the SetWindowLong function. Sends a WM_NCCALCSIZE message to the window, even if the window's size is not being changed. If this flag is not specified, WM_NCCALCSIZE is sent only when the window's size is being changed.
/// </summary>
SWP_FRAMECHANGED = 0x0020,
/// <summary>
/// Hides the window.
/// </summary>
SWP_HIDEWINDOW = 0x0080,
/// <summary>
/// Does not activate the window. If this flag is not set, the window is activated and moved to the top of either the topmost or non-topmost group (depending on the setting of the hWndInsertAfter parameter).
/// </summary>
SWP_NOACTIVATE = 0x0010,
/// <summary>
/// Discards the entire contents of the client area. If this flag is not specified, the valid contents of the client area are saved and copied back into the client area after the window is sized or repositioned.
/// </summary>
SWP_NOCOPYBITS = 0x0100,
/// <summary>
/// Retains the current position (ignores X and Y parameters).
/// </summary>
SWP_NOMOVE = 0x0002,
/// <summary>
/// Does not change the owner window's position in the Z order.
/// </summary>
SWP_NOOWNERZORDER = 0x0200,
/// <summary>
/// Does not redraw changes. If this flag is set, no repainting of any kind occurs. This applies to the client area, the nonclient area (including the title bar and scroll bars), and any part of the parent window uncovered as a result of the window being moved. When this flag is set, the application must explicitly invalidate or redraw any parts of the window and parent window that need redrawing.
/// </summary>
SWP_NOREDRAW = 0x0008,
/// <summary>
/// Same as the SWP_NOOWNERZORDER flag.
/// </summary>
SWP_NOREPOSITION = 0x0200,
/// <summary>
/// Prevents the window from receiving the WM_WINDOWPOSCHANGING message.
/// </summary>
SWP_NOSENDCHANGING = 0x0400,
/// <summary>
/// Retains the current size (ignores the cx and cy parameters).
/// </summary>
SWP_NOSIZE = 0x0001,
/// <summary>
/// Retains the current Z order (ignores the hWndInsertAfter parameter).
/// </summary>
SWP_NOZORDER = 0x0004,
/// <summary>
/// Displays the window.
/// </summary>
SWP_SHOWWINDOW = 0x0040,
}
/// <summary>
/// Flags for setting hotkeys
/// </summary>
[Flags]
public enum Modifiers
{
NoMod = 0x0000,
Alt = 0x0001,
Ctrl = 0x0002,
Shift = 0x0004,
Win = 0x0008,
}
/// <summary>
/// Options for DwmpActivateLivePreview
/// </summary>
public enum LivePreviewTrigger
{
/// <summary>
/// Show Desktop button
/// </summary>
ShowDesktop = 1,
/// <summary>
/// WIN+SPACE hotkey
/// </summary>
WinSpace,
/// <summary>
/// Hover-over Superbar thumbnails
/// </summary>
Superbar,
/// <summary>
/// Alt-Tab
/// </summary>
AltTab,
/// <summary>
/// Press and hold on Superbar thumbnails
/// </summary>
SuperbarTouch,
/// <summary>
/// Press and hold on Show desktop
/// </summary>
ShowDesktopTouch,
}
/// <summary>
/// Show Window Enums
/// </summary>
public enum ShowWindowCommands
{
/// <summary>
/// Hides the window and activates another window.
/// </summary>
Hide = 0,
/// <summary>
/// Activates and displays a window. If the window is minimized or
/// maximized, the system restores it to its original size and position.
/// An application should specify this flag when displaying the window
/// for the first time.
/// </summary>
Normal = 1,
/// <summary>
/// Activates the window and displays it as a minimized window.
/// </summary>
ShowMinimized = 2,
/// <summary>
/// Maximizes the specified window.
/// </summary>
Maximize = 3, // is this the right value?
/// <summary>
/// Activates the window and displays it as a maximized window.
/// </summary>
ShowMaximized = 3,
/// <summary>
/// Displays a window in its most recent size and position. This value
/// is similar to <see cref="Win32.ShowWindowCommand.Normal"/>, except
/// the window is not activated.
/// </summary>
ShowNoActivate = 4,
/// <summary>
/// Activates the window and displays it in its current size and position.
/// </summary>
Show = 5,
/// <summary>
/// Minimizes the specified window and activates the next top-level
/// window in the Z order.
/// </summary>
Minimize = 6,
/// <summary>
/// Displays the window as a minimized window. This value is similar to
/// <see cref="Win32.ShowWindowCommand.ShowMinimized"/>, except the
/// window is not activated.
/// </summary>
ShowMinNoActive = 7,
/// <summary>
/// Displays the window in its current size and position. This value is
/// similar to <see cref="Win32.ShowWindowCommand.Show"/>, except the
/// window is not activated.
/// </summary>
ShowNA = 8,
/// <summary>
/// Activates and displays the window. If the window is minimized or
/// maximized, the system restores it to its original size and position.
/// An application should specify this flag when restoring a minimized window.
/// </summary>
Restore = 9,
/// <summary>
/// Sets the show state based on the SW_* value specified in the
/// STARTUPINFO structure passed to the CreateProcess function by the
/// program that started the application.
/// </summary>
ShowDefault = 10,
/// <summary>
/// <b>Windows 2000/XP:</b> Minimizes a window, even if the thread
/// that owns the window is not responding. This flag should only be
/// used when minimizing windows from a different thread.
/// </summary>
ForceMinimize = 11,
}
/// <summary>
/// The rendering policy to use for set window attribute
/// </summary>
[Flags]
public enum DwmNCRenderingPolicy
{
UseWindowStyle,
Disabled,
Enabled,
Last,
}
/// <summary>
/// Window attribute
/// </summary>
[Flags]
public enum DwmWindowAttribute
{
NCRenderingEnabled = 1,
NCRenderingPolicy,
TransitionsForceDisabled,
AllowNCPaint,
CaptionButtonBounds,
NonClientRtlLayout,
ForceIconicRepresentation,
Flip3DPolicy,
ExtendedFrameBounds,
HasIconicBitmap,
DisallowPeek,
ExcludedFromPeek,
Last,
}
/// <summary>
/// Flags for accessing the process in trying to get icon for the process
/// </summary>
[Flags]
public enum ProcessAccessFlags
{
/// <summary>
/// Required to create a thread.
/// </summary>
CreateThread = 0x0002,
/// <summary>
///
/// </summary>
SetSessionId = 0x0004,
/// <summary>
/// Required to perform an operation on the address space of a process
/// </summary>
VmOperation = 0x0008,
/// <summary>
/// Required to read memory in a process using ReadProcessMemory.
/// </summary>
VmRead = 0x0010,
/// <summary>
/// Required to write to memory in a process using WriteProcessMemory.
/// </summary>
VmWrite = 0x0020,
/// <summary>
/// Required to duplicate a handle using DuplicateHandle.
/// </summary>
DupHandle = 0x0040,
/// <summary>
/// Required to create a process.
/// </summary>
CreateProcess = 0x0080,
/// <summary>
/// Required to set memory limits using SetProcessWorkingSetSize.
/// </summary>
SetQuota = 0x0100,
/// <summary>
/// Required to set certain information about a process, such as its priority class (see SetPriorityClass).
/// </summary>
SetInformation = 0x0200,
/// <summary>
/// Required to retrieve certain information about a process, such as its token, exit code, and priority class (see OpenProcessToken).
/// </summary>
QueryInformation = 0x0400,
/// <summary>
/// Required to suspend or resume a process.
/// </summary>
SuspendResume = 0x0800,
/// <summary>
/// Required to retrieve certain information about a process (see GetExitCodeProcess, GetPriorityClass, IsProcessInJob, QueryFullProcessImageName).
/// A handle that has the PROCESS_QUERY_INFORMATION access right is automatically granted PROCESS_QUERY_LIMITED_INFORMATION.
/// </summary>
QueryLimitedInformation = 0x1000,
/// <summary>
/// Required to wait for the process to terminate using the wait functions.
/// </summary>
Synchronize = 0x100000,
/// <summary>
/// Required to delete the object.
/// </summary>
Delete = 0x00010000,
/// <summary>
/// Required to read information in the security descriptor for the object, not including the information in the SACL.
/// To read or write the SACL, you must request the ACCESS_SYSTEM_SECURITY access right. For more information, see SACL Access Right.
/// </summary>
ReadControl = 0x00020000,
/// <summary>
/// Required to modify the DACL in the security descriptor for the object.
/// </summary>
WriteDac = 0x00040000,
/// <summary>
/// Required to change the owner in the security descriptor for the object.
/// </summary>
WriteOwner = 0x00080000,
StandardRightsRequired = 0x000F0000,
/// <summary>
/// All possible access rights for a process object.
/// </summary>
AllAccess = StandardRightsRequired | Synchronize | 0xFFFF,
}
/// <summary>
/// Contains information about the placement of a window on the screen.
/// </summary>
[Serializable]
[StructLayout(LayoutKind.Sequential)]
internal struct WINDOWPLACEMENT
{
/// <summary>
/// The length of the structure, in bytes. Before calling the GetWindowPlacement or SetWindowPlacement functions, set this member to sizeof(WINDOWPLACEMENT).
/// <para>
/// GetWindowPlacement and SetWindowPlacement fail if this member is not set correctly.
/// </para>
/// </summary>
public int Length;
/// <summary>
/// Specifies flags that control the position of the minimized window and the method by which the window is restored.
/// </summary>
public int Flags;
/// <summary>
/// The current show state of the window.
/// </summary>
public ShowWindowCommands ShowCmd;
/// <summary>
/// The coordinates of the window's upper-left corner when the window is minimized.
/// </summary>
public POINT MinPosition;
/// <summary>
/// The coordinates of the window's upper-left corner when the window is maximized.
/// </summary>
public POINT MaxPosition;
/// <summary>
/// The window's coordinates when the window is in the restored position.
/// </summary>
public RECT NormalPosition;
/// <summary>
/// Gets the default (empty) value.
/// </summary>
public static WINDOWPLACEMENT Default
{
get
{
WINDOWPLACEMENT result = default;
result.Length = Marshal.SizeOf(result);
return result;
}
}
}
/// <summary>
/// Required pointless variables that we don't use in making a windows show
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int Left;
public int Top;
public int Right;
public int Bottom;
public RECT(int left, int top, int right, int bottom)
{
Left = left;
Top = top;
Right = right;
Bottom = bottom;
}
public RECT(System.Drawing.Rectangle r)
: this(r.Left, r.Top, r.Right, r.Bottom)
{
}
public int X
{
get
{
return Left;
}
set
{
Right -= Left - value;
Left = value;
}
}
public int Y
{
get
{
return Top;
}
set
{
Bottom -= Top - value;
Top = value;
}
}
public int Height
{
get { return Bottom - Top; }
set { Bottom = value + Top; }
}
public int Width
{
get { return Right - Left; }
set { Right = value + Left; }
}
public System.Drawing.Point Location
{
get
{
return new System.Drawing.Point(Left, Top);
}
set
{
X = value.X;
Y = value.Y;
}
}
public System.Drawing.Size Size
{
get
{
return new System.Drawing.Size(Width, Height);
}
set
{
Width = value.Width;
Height = value.Height;
}
}
public static implicit operator System.Drawing.Rectangle(RECT r)
{
return new System.Drawing.Rectangle(r.Left, r.Top, r.Width, r.Height);
}
public static implicit operator RECT(System.Drawing.Rectangle r)
{
return new RECT(r);
}
public static bool operator ==(RECT r1, RECT r2)
{
return r1.Equals(r2);
}
public static bool operator !=(RECT r1, RECT r2)
{
return !r1.Equals(r2);
}
public bool Equals(RECT r)
{
return r.Left == Left && r.Top == Top && r.Right == Right && r.Bottom == Bottom;
}
public override bool Equals(object obj)
{
if (obj is RECT)
{
return Equals((RECT)obj);
}
else if (obj is System.Drawing.Rectangle)
{
return Equals(new RECT((System.Drawing.Rectangle)obj));
}
return false;
}
public override int GetHashCode()
{
return ((System.Drawing.Rectangle)this).GetHashCode();
}
public override string ToString()
{
return string.Format(System.Globalization.CultureInfo.CurrentCulture, "{{Left={0},Top={1},Right={2},Bottom={3}}}", Left, Top, Right, Bottom);
}
}
/// <summary>
/// Same as the RECT struct above
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct POINT
{
public int X;
public int Y;
public POINT(int x, int y)
{
X = x;
Y = y;
}
public POINT(System.Drawing.Point pt)
: this(pt.X, pt.Y)
{
}
public static implicit operator System.Drawing.Point(POINT p)
{
return new System.Drawing.Point(p.X, p.Y);
}
public static implicit operator POINT(System.Drawing.Point p)
{
return new POINT(p.X, p.Y);
}
}
/// <summary>
/// GetWindow relationship between the specified window and the window whose handle is to be retrieved.
/// </summary>
public enum GetWindowCmd : uint
{
/// <summary>
/// The retrieved handle identifies the window of the same type that is highest in the Z order.
/// </summary>
GW_HWNDFIRST = 0,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The retrieved handle identifies the window of the same type that is lowest in the Z order.
/// </summary>
GW_HWNDLAST = 1,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The retrieved handle identifies the window below the specified window in the Z order.
/// </summary>
GW_HWNDNEXT = 2,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The retrieved handle identifies the window above the specified window in the Z order.
/// </summary>
GW_HWNDPREV = 3,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The retrieved handle identifies the specified window's owner window, if any.
/// </summary>
GW_OWNER = 4,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The retrieved handle identifies the child window at the top of the Z order, if the specified window
/// is a parent window.
/// </summary>
GW_CHILD = 5,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The retrieved handle identifies the enabled popup window owned by the specified window.
/// </summary>
GW_ENABLEDPOPUP = 6,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
}
/// <summary>
/// GetWindowLong index to retrieves the extended window styles.
/// </summary>
[System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1310:Field names should not contain underscore", Justification = "Matching interop var")]
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
public const int GWL_EXSTYLE = -20;
/// <summary>
/// The following are the extended window styles
/// </summary>
[Flags]
public enum ExtendedWindowStyles : uint
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
{
/// <summary>
/// The window has a double border; the window can, optionally, be created with a title bar by specifying
/// the WS_CAPTION style in the dwStyle parameter.
/// </summary>
WS_EX_DLGMODALFRAME = 0X0001,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The child window created with this style does not send the WM_PARENTNOTIFY message to its parent window
/// when it is created or destroyed.
/// </summary>
WS_EX_NOPARENTNOTIFY = 0X0004,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window should be placed above all non-topmost windows and should stay above all non-topmost windows
/// and should stay above them, even when the window is deactivated.
/// </summary>
WS_EX_TOPMOST = 0X0008,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window accepts drag-drop files.
/// </summary>
WS_EX_ACCEPTFILES = 0x0010,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window should not be painted until siblings beneath the window (that were created by the same thread)
/// have been painted.
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// </summary>
WS_EX_TRANSPARENT = 0x0020,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window is a MDI child window.
/// </summary>
WS_EX_MDICHILD = 0x0040,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window is intended to be used as a floating toolbar. A tool window has a title bar that is shorter
/// than a normal title bar, and the window title is drawn using a smaller font. A tool window does not
/// appear in the taskbar or in the dialog that appears when the user presses ALT+TAB.
/// </summary>
WS_EX_TOOLWINDOW = 0x0080,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window has a border with a raised edge.
/// </summary>
WS_EX_WINDOWEDGE = 0x0100,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window has a border with a sunken edge.
/// </summary>
WS_EX_CLIENTEDGE = 0x0200,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The title bar of the window includes a question mark.
/// </summary>
WS_EX_CONTEXTHELP = 0x0400,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window has generic "right-aligned" properties. This depends on the window class. This style has
/// an effect only if the shell language supports reading-order alignment, otherwise is ignored.
/// </summary>
WS_EX_RIGHT = 0x1000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window has generic left-aligned properties. This is the default.
/// </summary>
WS_EX_LEFT = 0x0,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// If the shell language supports reading-order alignment, the window text is displayed using right-to-left
/// reading-order properties. For other languages, the styles is ignored.
/// </summary>
WS_EX_RTLREADING = 0x2000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window text is displayed using left-to-right reading-order properties. This is the default.
/// </summary>
WS_EX_LTRREADING = 0x0,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// If the shell language supports reading order alignment, the vertical scroll bar (if present) is to
/// the left of the client area. For other languages, the style is ignored.
/// </summary>
WS_EX_LEFTSCROLLBAR = 0x4000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The vertical scroll bar (if present) is to the right of the client area. This is the default.
/// </summary>
WS_EX_RIGHTSCROLLBAR = 0x0,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window itself contains child windows that should take part in dialog box, navigation. If this
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// style is specified, the dialog manager recurses into children of this window when performing
/// navigation operations such as handling tha TAB key, an arrow key, or a keyboard mnemonic.
/// </summary>
WS_EX_CONTROLPARENT = 0x10000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window has a three-dimensional border style intended to be used for items that do not accept
/// user input.
/// </summary>
WS_EX_STATICEDGE = 0x20000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// Forces a top-level window onto the taskbar when the window is visible.
/// </summary>
WS_EX_APPWINDOW = 0x40000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window is an overlapped window.
/// </summary>
WS_EX_OVERLAPPEDWINDOW = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window is palette window, which is a modeless dialog box that presents an array of commands.
/// </summary>
WS_EX_PALETTEWINDOW = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window is a layered window. This style cannot be used if the window has a class style of either
/// CS_OWNDC or CS_CLASSDC. Only for top level window before Windows 8, and child windows from Windows 8.
/// </summary>
WS_EX_LAYERED = 0x80000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// The window does not pass its window layout to its child windows.
/// </summary>
WS_EX_NOINHERITLAYOUT = 0x100000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// If the shell language supports reading order alignment, the horizontal origin of the window is on the
/// right edge. Increasing horizontal values advance to the left.
/// </summary>
WS_EX_LAYOUTRTL = 0x400000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// Paints all descendants of a window in bottom-to-top painting order using double-buffering.
/// Bottom-to-top painting order allows a descendent window to have translucency (alpha) and
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// transparency (color-key) effects, but only if the descendent window also has the WS_EX_TRANSPARENT
/// bit set. Double-buffering allows the window and its descendents to be painted without flicker.
/// </summary>
WS_EX_COMPOSITED = 0x2000000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
/// <summary>
/// A top-level window created with this style does not become the foreground window when the user
/// clicks it. The system does not bring this window to the foreground when the user minimizes or closes
/// the foreground window.
/// </summary>
WS_EX_NOACTIVATE = 0x8000000,
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
}
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int EnumWindows(CallBackPtr callPtr, int lPar);
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr GetWindow(IntPtr hWnd, GetWindowCmd uCmd);
[DllImport("user32.dll", SetLastError = true)]
public static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int EnumChildWindows(IntPtr hWnd, CallBackPtr callPtr, int lPar);
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int GetWindowText(IntPtr hWnd, StringBuilder strText, int maxCount);
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int GetWindowTextLength(IntPtr hWnd);
[DllImport("user32.dll")]
public static extern bool IsWindowVisible(IntPtr hWnd);
[DllImport("user32.dll")]
public static extern bool IsWindow(IntPtr hWnd);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int x, int y, int cx, int cy, SetWindowPosFlags uFlags);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk);
[DllImport("user32.dll")]
public static extern bool UnregisterHotKey(IntPtr hWnd, int id);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool ShowWindow(IntPtr hWnd, ShowWindowCommands nCmdShow);
[DllImport("user32.dll")]
public static extern bool FlashWindow(IntPtr hwnd, bool bInvert);
[DllImport("user32.dll", SetLastError = true)]
public static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
[DllImport("psapi.dll")]
public static extern uint GetProcessImageFileName(IntPtr hProcess, [Out] StringBuilder lpImageFileName, [In][MarshalAs(UnmanagedType.U4)] int nSize);
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr GetProp(IntPtr hWnd, string lpString);
[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(ProcessAccessFlags dwDesiredAccess, [MarshalAs(UnmanagedType.Bool)] bool bInheritHandle, int dwProcessId);
[DllImport("dwmapi.dll", EntryPoint = "#113", CallingConvention = CallingConvention.StdCall)]
public static extern int DwmpActivateLivePreview([MarshalAs(UnmanagedType.Bool)] bool fActivate, IntPtr hWndExclude, IntPtr hWndInsertBefore, LivePreviewTrigger lpt, IntPtr prcFinalRect);
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 b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * 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 a1bc0dda564733f079235ed48e33b6bde768b24f. * 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 064d638588cfb2d2d69cd1f88b92127c200eac2d. 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
[DllImport("dwmapi.dll", PreserveSig = false)]
public static extern int DwmSetWindowAttribute(IntPtr hwnd, int attr, ref int attrValue, int attrSize);
[DllImport("dwmapi.dll", PreserveSig = false)]
public static extern int DwmGetWindowAttribute(IntPtr hwnd, int dwAttribute, out int pvAttribute, int cbAttribute);
[DllImport("user32.dll")]
public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCount);
[DllImport("user32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool GetWindowPlacement(IntPtr hWnd, out WINDOWPLACEMENT lpwndpl);
}
}