Windows system utilities to maximize productivity
Go to file
Divyansh Srivastava 7da8689bf2
Somil55/merge custom ui into launcher (#2271)
* Remove Autosuggest box (#2192)

* Update Settings.Designer.cs

* Revert "Update Settings.Designer.cs"

This reverts commit a1bc0dda56.

* Updated LauncherControl XAML to add textbox and listview

* List View displayed

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

* Updated MainViewModel to Remove context menu and history

* Added Resultist XAML Island project

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

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

* Removed two way QueryText box binding

* Removed SelectedItem two way binding and replaced with a callback

* [Cleaning] Remove redundant UWP project

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

* Thmbnail fixed for NEW UI

* Removed PreviewMouseDown function required by older WOX code

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

* Added the auto-complete feature

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

* Fixed merge conflicts

* Set only when index is 0

* One way binding

* Removed unnecessary binding

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

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

This change also deletes unused commands.

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

* manually handling tab in mainwindow

* Loading context buttons on Selecting a suggestion list item

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

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

* Remove White background of list (#2218)

* Remove white background of list

* Removed comments

* Changed to ContainerContentChanging event

* add const variables instead of numbers

* Added comment before the updatelistSize function

* Search box UI (#2224)

* Added backdrop and rounded corner

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

* Fixed merge conflict

* Clean Mainwindow.xaml code

* Fix for textbox focus on first visible

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

* Renaming SelectedIndex to ContextMenuSelectedIndex

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

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

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

* Updated fix for border on no result

* Adding visibility  after clearing result in MainViewmodel

* Launcher Light/Dark mode (#2235)

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

* Added theme change for WPF

* updated ShadowDepth for dropshadow

* Updated border thicknes of searchbox and listview

* Diff issue with ResultList.xaml

* Removed change in result delay

* Added code to pull colors from UWP

* Updated border resource to use system based SystemControlHighlightAccentBrush

* Updated corner radius in dark mode

* Updated Launcher description text

Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com>
Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com>
2020-04-20 19:53:20 -07:00
.github Don't auto close issues referenced in PR (#663) 2019-11-06 10:37:42 +01:00
.pipelines Enable CI build on PowerLauncher Branch (#2181) 2020-04-16 20:25:54 -07:00
codeAnalysis Formatting chores (#1441) 2020-03-05 13:07:06 +03:00
doc Update file explorer readme (#1780) 2020-04-01 08:26:19 -07:00
installer Pull changes from master to dev/powerLauncher (#2255) 2020-04-20 17:33:30 -07:00
src Somil55/merge custom ui into launcher (#2271) 2020-04-20 19:53:20 -07:00
tools Cleanup project output/intermediate dirs (#1640) 2020-03-20 21:41:48 +03:00
.gitattributes FancyZones and Shortcut Guide initial commit 2019-09-05 18:12:40 +02:00
.gitignore Merge ImageResizer into master (#1469) 2020-03-12 09:02:34 -07:00
CODE_OF_CONDUCT.md adding in a Code of Conduct 2020-03-05 10:11:27 -08:00
contributing.md FancyZones and Shortcut Guide initial commit 2019-09-05 18:12:40 +02:00
LICENSE Cleanup LICENSE 2019-10-04 02:04:48 +02:00
NOTICE.md Update NOTICE.md 2020-04-13 10:48:05 -07:00
PowerToys.sln Somil55/merge custom ui into launcher (#2271) 2020-04-20 19:53:20 -07:00
README.md Update README.md 2020-04-02 15:05:50 -07:00

Overview

Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity. Inspired by the Windows 95 era PowerToys project, this reboot provides power users with ways to squeeze more efficiency out of the Windows 10 shell and customize it for individual workflows. A great overview of the Windows 95 PowerToys can be found here.

Build Status

Build Status

Installing and running Microsoft PowerToys 0.16

👉 Note: Microsoft PowerToys requires Windows 10 1803 (build 17134) or later.

Install from the Microsoft PowerToys GitHub releases page. Click on Assets to show the files available in the release and then click on PowerToysSetup-0.16.0-x64.msi to download the PowerToys installer.

This is our preferred method.

Other install methods

MSIX / Store Build Update
  • We put in a lot of effort here but currently our plan of record is to make the MSI our only installer option and built-in auto-upgrade. MSIX is a great installer / container tech but there are few spots we are working with the team to improve so we can adopt.

Via Chocolatey - ⚠ Unofficial ⚠

Download and upgrade PowerToys from Chocolatey. If you have any issues when installing/upgrading the package please go to the package page and follow the Chocolatey triage process

To install PowerToys, run the following command from the command line / PowerShell:

choco install powertoys

To upgrade PowerToys, run the following command from the command line / PowerShell:

choco upgrade powertoys

Processor support

We currently support the matrix below.

x64 x86 ARM
Supported Issue #602 Issue #490

Current PowerToy Utilities

FancyZones

FancyZones - FancyZones is a window manager that makes it easy to create complex window layouts and quickly position windows into those layouts.

Shortcut Guide

Windows key shortcut guide - The shortcut guide appears when a user holds the Windows key down for more than one second and shows the available shortcuts for the current state of the desktop.

PowerRename

PowerRename - PowerRename is a Windows Shell Extension for advanced bulk renaming using search and replace or regular expressions. PowerRename allows simple search and replace or more advanced regular expression matching. While you type in the search and replace input fields, the preview area will show what the items will be renamed to. PowerRename then calls into the Windows Explorer file operations engine to perform the rename. This has the benefit of allowing the rename operation to be undone after PowerRename exits.

This code is based on Chris Davis's SmartRename.

File Explorer (Preview Panes)

File Explorer add-ons right now are just limited to Preview Pane additions for File Explorer. Preview Pane is an existing feature in the File Explorer. To enable it, you just click the View tab in the ribbon and then click "Preview Pane".

PowerToys will now enable two types of files to be previewed:

  • Markdown files (.md)
  • SVG (.svg)

Image Resizer

Image Resizer is a Windows Shell Extension for quickly resizing images. With a simple right click from File Explorer, resize one or many images instantly.

This code is based on Brice Lambson's Image Resizer.

Window Walker (Text based alt-tab alternative)

Window Walker is an app that lets you search and switch between windows that you have open, all from the comfort of your keyboard. As you are searching for an app, you can use the keyboard up and down arrows to see an Alt-Tab style preview of the windows. In the future, this will be merged into the Launcher project.

This code is based on Beta Tadele's Window Walker.

Version 1.0 plan

Our plan for all the goals and utilities for v1.0 detailed over here in the wiki.

What's Happening

March 2020 Update

Our mantra for the 0.16 was adding in new features along with a continual push for quality and stability. We are working toward getting a way to auto-update PowerToys and have a good plan for this. We want to proactively thank the community for quickly identifying a few bugs inside 0.15 and allowing us to quickly release 0.15.1 and 0.15.2.

Below are just a few of the bullet items from this release.

  • We shipped v0.16!
  • FancyZone improvement:
    • Multi-Monitor improvement: Zone flipping switching now works between monitors!
    • Simplified UX: Removed layout hot-swap and flashing feature due to need to improve multi-monitor support
  • New Utilities!
    • Markdown Preview pane extension
    • SVG Preview pane extension
    • Image Resizer Window Shell extension
    • Window Walker, an alt-tab alternative
  • Fixed over 100 issues!
  • Testing improvements
    • 54 UX Functional tests
    • 161 new Unit tests

For 0.17, we are proactively working on:

  • Auto-updating
  • Win+R replacement (Launcher)
  • Keyboard remapping
  • Performance improvements with FancyZones
  • A testing utility for FancyZones to be sure we can test different window configurations.

Future release work, we are proactively working on:

  • Settings v2 / Fix bug #243

Developer Guidance

Please read the developer docs for a detailed breakdown.

Contributing

This project welcomes contributions of all times. Help spec'ing, design, documentation, finding bugs are ways everyone can help on top of coding features / bug fixes. We are excited to work with the power user community to build a set of tools for helping you get the most out of Windows.

We ask that before you start work on a feature that you would like to contribute, please read our Contributor's Guide. We will be happy to work with you to figure out the best approach, provide guidance and mentorship throughout feature development, and help avoid any wasted or duplicate effort.

⚠ State of code ⚠

PowerToys is still a very fluidic project and the team is actively working out of this repository. We will be periodically re-structuring/refactoring the code to make it easier to comprehend, navigate, build, test, and contribute to, so DO expect significant changes to code layout on a regular basis.

License Info

Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct.

Privacy Statement

The application logs basic telemetry. Our Telemetry Data page (Coming Soon) has the trends from the telemetry. Please read the Microsoft privacy statement for more information.