Skip to content

Commit

Permalink
Safeguarding end user links in settings (#4226)
Browse files Browse the repository at this point in the history
* first adjustment to wiki move

* Image Resizer and deleting imgs for FZ

* updating stuff to aka links

* updating app to leverage aka links

* moving files to wiki

* KBM adjustment

* updating

* getting PT Run moved over

* Shortcut guide and fixing launcher's readme text

* Update README.md

* img for shortcut guide moved to wiki

* updated setting img to be aka link as well
  • Loading branch information
crutkas committed Jun 11, 2020
1 parent 792ce53 commit 67c8d80
Show file tree
Hide file tree
Showing 51 changed files with 50 additions and 476 deletions.
38 changes: 18 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,56 +14,54 @@ Microsoft PowerToys is a set of utilities for power users to tune and streamline

### FancyZones

[<img align="left" src="./doc/images/overview/FancyZones_small.png" />](/src/modules/fancyzones/) [FancyZones](/src/modules/fancyzones/) is a window manager that makes it easy to create complex window layouts and quickly position windows into those layouts.
[<img align="left" src="./doc/images/overview/FancyZones_small.png" />](https://aka.ms/PowerToysOverview_FancyZones) [FancyZones](https://aka.ms/PowerToysOverview_FancyZones) is a window manager that makes it easy to create complex window layouts and quickly position windows into those layouts.
<br>
<br>
<br>
<br>
<br>

### Shortcut Guide
### File Explorer Add-ons (Preview Panes)

[<img align="left" src="./doc/images/overview/Shortcut guide_small.png" />](/src/modules/shortcut_guide) [Windows key shortcut guide](/src/modules/shortcut_guide) appears when a user holds the Windows key down for more than one second and shows the available shortcuts for the current state of the desktop.
<br>
<br>
<br>
[<img align="left" src="./doc/images/overview/PowerPreview_small.PNG" />](https://aka.ms/PowerToysOverview_FileExplorerAddOns) [File Explorer](https://aka.ms/PowerToysOverview_FileExplorerAddOns) add-ons right now are just limited to Preview Pane additions for File Explorer. Preview Pane is an existing feature in the File Explorer. To enable it, you just click the View tab in the ribbon and then click "Preview Pane".

PowerToys will now enable two types of files to be previewed: Markdown (.md) & SVG (.svg)
<br>
<br>

### PowerRename
### Image Resizer

[<img align="left" src="./doc/images/overview/PowerRename_small.PNG" />](/src/modules/powerrename) [PowerRename](/src/modules/powerrename) is a Windows Shell Extension for advanced bulk renaming using search and replace or regular expressions. PowerRename allows simple search and replace or more advanced regular expression matching. While you type in the search and replace input fields, the preview area will show what the items will be renamed to. PowerRename then calls into the Windows Explorer file operations engine to perform the rename. This has the benefit of allowing the rename operation to be undone after PowerRename exits. This code is based on [Chris Davis's SmartRename](https://github.com/chrdavis/SmartRename).
[<img align="left" src="./doc/images/overview/ImageResizer_small.png" />](https://aka.ms/PowerToysOverview_ImageResizer) [Image Resizer](https://aka.ms/PowerToysOverview_ImageResizer) is a Windows Shell Extension for quickly resizing images. With a simple right click from File Explorer, resize one or many images instantly. This code is based on [Brice Lambson's Image Resizer](https://github.com/bricelam/ImageResizer).
<br>
<br>

### File Explorer (Preview Panes)

[<img align="left" src="./doc/images/overview/PowerPreview_small.PNG" />](/src/modules/previewpane) [File Explorer](/src/modules/previewpane) add-ons right now are just limited to Preview Pane additions for File Explorer. Preview Pane is an existing feature in the File Explorer. To enable it, you just click the View tab in the ribbon and then click "Preview Pane".

PowerToys will now enable two types of files to be previewed: Markdown (.md) & SVG (.svg)
<br>
<br>

### Image Resizer
### Keyboard Manager

[<img align="left" src="./doc/images/overview/ImageResizer_small.png" />](/src/modules/imageresizer) [Image Resizer](/src/modules/imageresizer) is a Windows Shell Extension for quickly resizing images. With a simple right click from File Explorer, resize one or many images instantly. This code is based on [Brice Lambson's Image Resizer](https://github.com/bricelam/ImageResizer).
[<img align="left" src="./doc/images/overview/KBM_small.png" />](https://aka.ms/PowerToysOverview_KeyboardManager) [Keyboard Manager](https://aka.ms/PowerToysOverview_KeyboardManager) allows you to customize the keyboard to be more productive by remapping keys and creating your own keyboard shortcuts. This PowerToy requires Windows 10 1903 (build 18362) or later.
<br>
<br>
<br>
<br>

### Keyboard Manager
### PowerRename

[<img align="left" src="./doc/images/overview/KBM_small.png" />](src/modules/keyboardmanager/) [Keyboard Manager](src/modules/keyboardmanager/) allows you to customize the keyboard to be more productive by remapping keys and creating your own keyboard shortcuts. This PowerToy requires Windows 10 1903 (build 18362) or later.
[<img align="left" src="./doc/images/overview/PowerRename_small.PNG" />](https://aka.ms/PowerToysOverview_PowerRename) [PowerRename](https://aka.ms/PowerToysOverview_PowerRename) is a Windows Shell Extension for advanced bulk renaming using search and replace or regular expressions. PowerRename allows simple search and replace or more advanced regular expression matching. While you type in the search and replace input fields, the preview area will show what the items will be renamed to. PowerRename then calls into the Windows Explorer file operations engine to perform the rename. This has the benefit of allowing the rename operation to be undone after PowerRename exits. This code is based on [Chris Davis's SmartRename](https://github.com/chrdavis/SmartRename).
<br>

### PowerToys Run

[<img align="left" src="./doc/images/overview/PowerLauncher_small.png" />](https://aka.ms/PowerToysOverview_PowerToysRun) [PowerToys Run](https://aka.ms/PowerToysOverview_PowerToysRun) is a new toy in PowerToys that can help you search and launch your app instantly with a simple alt-space and start typing! It is open source and modular for additional plugins. Window Walker is now inside too! This PowerToy requires Windows 10 1903 (build 18362) or later.
<br>
<br>
<br>
<br>

### PowerToys Run
### Shortcut Guide

[<img align="left" src="./doc/images/overview/PowerLauncher_small.png" />](src/modules/launcher/) [PowerToys Run](src/modules/launcher/) is a new toy in PowerToys that can help you search and launch your app instantly with a simple alt-space and start typing! It is open source and modular for additional plugins. Window Walker is now inside too! This PowerToy requires Windows 10 1903 (build 18362) or later.
[<img align="left" src="./doc/images/overview/Shortcut guide_small.png" />](https://aka.ms/PowerToysOverview_ShortcutGuide) [Windows key shortcut guide](https://aka.ms/PowerToysOverview_ShortcutGuide) appears when a user holds the Windows key down for more than one second and shows the available shortcuts for the current state of the desktop.
<br>
<br>
<br>
<br>
Expand Down
Binary file removed doc/images/Launcher/Features.gif
Binary file not shown.
Binary file removed doc/images/Launcher/FeaturesButtons.gif
Binary file not shown.
Binary file removed doc/images/Launcher/FeaturesCalculator.gif
Binary file not shown.
Binary file removed doc/images/Launcher/FeaturesShell.gif
Binary file not shown.
Binary file removed doc/images/Launcher/FeaturesWindowWalker.gif
Binary file not shown.
Binary file removed doc/images/Launcher/QuickStart.gif
Binary file not shown.
Binary file removed doc/images/imageresizer/resizeDragAndDrop.gif
Binary file not shown.
Binary file removed doc/images/imageresizer/resizeNormal.gif
Binary file not shown.
Binary file removed doc/images/imageresizer/resizeSettings.gif
Binary file not shown.
Binary file removed doc/images/keyboardmanager/dropdownstypekey.gif
Binary file not shown.
Binary file removed doc/images/keyboardmanager/example.gif
Binary file not shown.
Binary file removed doc/images/keyboardmanager/generalsettings.gif
Binary file not shown.
Binary file removed doc/images/keyboardmanager/orphanedkey.gif
Binary file not shown.
Binary file removed doc/images/keyboardmanager/remapkeyboard_both.gif
Binary file not shown.
Binary file removed doc/images/keyboardmanager/remapshort_both.gif
Binary file not shown.
Binary file removed doc/images/keyboardmanager/winkey.png
Binary file not shown.
Binary file removed doc/images/preview_pane/demo.gif
Binary file not shown.
Binary file removed doc/images/shortcut_guide/settings.png
Binary file not shown.
Binary file removed doc/images/shortcut_guide/usage.png
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -276,9 +276,9 @@
Style="{StaticResource SettingsGroupTitleStyle}"
Margin="{StaticResource XSmallBottomMargin}"/>

<Image MaxWidth="240" Source="https://user-images.githubusercontent.com/9866362/77859136-f04ae880-7207-11ea-8a7f-4295342fe319.gif" />
<Image MaxWidth="240" Source="https://aka.ms/powerToysFancyZoneSettingImage" />

<HyperlinkButton NavigateUri="https://github.com/microsoft/PowerToys/blob/master/src/modules/fancyzones/README.md">
<HyperlinkButton NavigateUri="https://aka.ms/PowerToysOverview_FancyZones">
<TextBlock x:Uid="Module_overview" />
</HyperlinkButton>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@
Style="{StaticResource SettingsGroupTitleStyle}"
Margin="{StaticResource XSmallBottomMargin}"/>

<HyperlinkButton NavigateUri="https://github.com/microsoft/PowerToys/blob/master/src/modules/imageresizer/README.md">
<HyperlinkButton NavigateUri="https://aka.ms/PowerToysOverview_ImageResizer">
<TextBlock x:Uid="Module_overview" />
</HyperlinkButton>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@
Style="{StaticResource SettingsGroupTitleStyle}"
Margin="{StaticResource XSmallBottomMargin}"/>

<HyperlinkButton NavigateUri="https://github.com/microsoft/PowerToys/tree/master/src/modules/keyboardmanager">
<HyperlinkButton NavigateUri="https://aka.ms/PowerToysOverview_KeyboardManager">
<TextBlock x:Uid="Module_overview" />
</HyperlinkButton>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@
Style="{StaticResource SettingsGroupTitleStyle}"
Margin="{StaticResource XSmallBottomMargin}"/>

<HyperlinkButton NavigateUri="https://github.com/microsoft/PowerToys/tree/master/src/modules/launcher">
<HyperlinkButton NavigateUri="https://aka.ms/PowerToysOverview_PowerToysRun">
<TextBlock x:Uid="Module_overview" />
</HyperlinkButton>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
Style="{StaticResource SettingsGroupTitleStyle}"
Margin="{StaticResource XSmallBottomMargin}"/>

<HyperlinkButton NavigateUri="https://github.com/microsoft/PowerToys/tree/master/src/modules/previewpane">
<HyperlinkButton NavigateUri="https://aka.ms/PowerToysOverview_FileExplorerAddOns">
<TextBlock x:Uid="Module_overview" />
</HyperlinkButton>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@
Style="{StaticResource SettingsGroupTitleStyle}"
Margin="{StaticResource XSmallBottomMargin}"/>

<HyperlinkButton NavigateUri="https://github.com/microsoft/PowerToys/tree/master/src/modules/powerrename">
<HyperlinkButton NavigateUri="https://aka.ms/PowerToysOverview_PowerRename">
<TextBlock x:Uid="Module_overview" />
</HyperlinkButton>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@
Style="{StaticResource SettingsGroupTitleStyle}"
Margin="{StaticResource XSmallBottomMargin}"/>

<Image MaxWidth="240" Source="https://raw.githubusercontent.com/microsoft/PowerToys/dev/build-features/doc/images/shortcut_guide/usage.png" />
<Image MaxWidth="240" Source="https://aka.ms/powerToysShortcutGuideSettingImage" />

<HyperlinkButton NavigateUri="https://github.com/microsoft/PowerToys/blob/master/src/modules/shortcut_guide/README.md">
<HyperlinkButton NavigateUri="https://aka.ms/PowerToysOverview_ShortcutGuide">
<TextBlock x:Uid="Module_overview"/>
</HyperlinkButton>

Expand Down
Binary file removed src/modules/fancyzones/FancyZones.png
Binary file not shown.
Binary file removed src/modules/fancyzones/FancyZonesSettings1.png
Binary file not shown.
Binary file removed src/modules/fancyzones/FancyZonesSettings2.png
Binary file not shown.
Binary file removed src/modules/fancyzones/Picker.png
Binary file not shown.
65 changes: 2 additions & 63 deletions src/modules/fancyzones/README.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,3 @@
# Overview
FancyZones is a window manager that is designed to make it easy to arrange and snap windows into efficient layouts for your workflow and also to restore these layouts quickly. FancyZones allows the user to define a set of window locations for a desktop that are drag targets for windows. When the user drags a window into a zone, the window is resized and repositioned to fill that zone.

![FancyZones](FancyZones.png)

To get started with FancyZones, you need to enable the utility in PowerToys settings and then invoke the FancyZones editor UI.
There is a button in settings to invoke the editor, or you can press <code>Win+&grave;</code> (note that this shortcut can be changed in the settings dialog) to launch it.
If you have multiple monitors, to edit the zone settings on each monitor, move the mouse to the desired monitor and then press <code>Win+&grave;</code> to launch the editor UI for that monitor, or move the PowerToys settings window to the desired monitor and then launch the editor UI using the `Edit zones` button.

When first launched, the UI presents a list of zone layouts that can be quickly adjusted by how many windows are on the monitor. Choosing a layout shows a preview of that layout on the monitor. Pressing the save and close button sets that layout to the monitor.

![FancyZones Picker](Picker.png)

The editor also supports creating and saving custom layouts. This functionality is in the `Custom` tab in the editor UI.
There are two ways to create custom zone layouts, window layout and table layout. These can also be thought of as additive and subtractive models.
The additive window layout model starts with a blank layout and supports adding zones that can be dragged and resized similar to windows.

![FancyZones Window Editor Mode](WindowEditor.png)

The subtractive table layout model starts with a table layout and allows zones to be created by splitting and merging zones and then resizing the gutter between zones.
To merge two zone, press and hold the left mouse button and drag the mouse until a second zone is selected, then release the button and a popup menu will show up.

![FancyZones Table Editor Mode](TableEditor.png)

The backlog for the utility can be found [here](https://github.com/Microsoft/PowerToys/tree/master/doc/planning/FancyZonesBacklog.md) and the source code is [here](https://github.com/Microsoft/PowerToys/tree/master/src/modules/fancyzones).

# Snapping a window to two zones (EXPERIMENTAL)

If two zones are adjacent, a window can be snapped to the sum of their area (rounded to the minimum rectangle that contains both). When the mouse cursor in near the common edge of two zones, both zones are activated simultaneously, allowing to drop the window on both.
**NOTE:** when snapping a window to two zones, restoring the window when the app is restarted is not supported yet.

![Two Zones Activation](TwoZonesActivation.png)

# Shortcut Keys
| Shortcut | Action |
| ----------- | ----------- |
| Win + ` | Launches editor (this shortcut is editable in the settings dialog) |
| Win+Left/Right Arrow | Move focused window between zones (only if `Override Windows Snap hotkeys` setting is turned on, in that case only the `Win+Left Arrow` and `Win+Right Arrow` are overridden, while the `Win+Up Arrow` and `Win+Down Arrow` keep working as usual) |

FancyZones doesn't override the Windows 10 `Win+Shift+Arrow` to quickly move a window to an adjacent monitor.

# Settings
| Setting | Description |
| --------- | ------------- |
| Configure the zone editor hotkey | To change the default hotkey, click on the textbox (it's not necessary to select or delete the text) and then press on the keyboard the desired key combination |
| Enable zones while dragging with the shift key | Toggles between auto-snap mode with the shift key disabling snapping during a drag and manual snap mode where pressing the shift key during a drag enables snapping |
| Override Windows Snap hotkeys (Win+Arrow) to move between zones | When this option is on and FancyZones is running, it overrides two Windows Snap keys: `Win+Left Arrow` and `Win+Right Arrow` |
| Keep windows in their zones when the screen resolution changes | After a screen resolution change, if this setting is enabled, FancyZones will resize and reposition windows into the zones they were previously in |
| Keep windows in their zones when the active FancyZones layout changes | When this option is on, FancyZones will resize and position windows into the new zone layout by maintaining the previous zone number location of each window |
| Keep windows in their zones when the active virtual desktop changes | If an application is pinned to all virtual desktops, this setting will keep that window in the same zone on all desktops |
| Move newly created windows to the last known zone | Automatically move a newly opened window into the last zone location that application was in |
| Follow mouse cursor instead of focus when launching editor in a multi-monitor environment | When this option is on, the editor hotkey will launch the editor on the monitor where the mouse cursor is, when this option is off, the editor hotkey will launch the editor on monitor where the current active window is |
| Show zones on all monitors while dragging a window | By default FancyZones shows only the zones available on the current monitor, this feature may have performance impact when turned on |
| Show zones on all monitors while dragging a window | When the zones are activated, the dragged window is made transparent to improve the zones visibility |
| Zone highlight color (Default #008CFF) | The color that a zone becomes when it is the active drop target during a window drag |
| Zone Inactive color (Default #F5FCFF) | The color that zones become when they are not an active drop during a window drag |
| Zone border color (Default #FFFFFF) | The color of the border of active and inactive zones |
| Zone opacity (%) (Default 50%) | The percentage of opacity of active and inactive zones |
| Exclude applications from snapping to zones | Add the applications name, or part of the name, one per line (e.g., adding `Notepad` will match both `Notepad.exe` and `Notepad++.exe`, to match only `Notepad.exe` add the `.exe` extension) |

![FancyZones Settings UI](FancyZonesSettings1.png)

![FancyZones Settings UI](FancyZonesSettings2.png)
# This file has been moved

[FancyZone Overview](https://aka.ms/PowerToysOverview_FancyZones)
Binary file removed src/modules/fancyzones/TableEditor.png
Binary file not shown.
Binary file removed src/modules/fancyzones/TwoZonesActivation.png
Binary file not shown.
Binary file removed src/modules/fancyzones/WindowEditor.png
Diff not rendered.
2 changes: 1 addition & 1 deletion src/modules/fancyzones/lib/Settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ IFACEMETHODIMP_(bool) FancyZonesSettings::GetConfig(_Out_ PWSTR buffer, _Out_ in
// Pass a string literal or a resource id to Settings::set_description().
settings.set_description(IDS_SETTING_DESCRIPTION);
settings.set_icon_key(L"pt-fancy-zones");
settings.set_overview_link(L"https://github.com/microsoft/PowerToys/blob/master/src/modules/fancyzones/README.md");
settings.set_overview_link(L"https://aka.ms/PowerToysOverview_FancyZones");
settings.set_video_link(L"https://youtu.be/rTtGzZYAXgY");

// Add a custom action property. When using this settings type, the "PowertoyModuleIface::call_custom_action()"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -546,7 +546,7 @@ namespace FancyZonesUnitTests
PowerToysSettings::Settings ptSettings(HINSTANCE{}, m_moduleName);
ptSettings.set_description(IDS_SETTING_DESCRIPTION);
ptSettings.set_icon_key(L"pt-fancy-zones");
ptSettings.set_overview_link(L"https://github.com/microsoft/PowerToys/blob/master/src/modules/fancyzones/README.md");
ptSettings.set_overview_link(L"https://aka.ms/PowerToysOverview_FancyZones");
ptSettings.set_video_link(L"https://youtu.be/rTtGzZYAXgY");

ptSettings.add_custom_action(
Expand Down Expand Up @@ -609,7 +609,7 @@ namespace FancyZonesUnitTests
m_ptSettings = new PowerToysSettings::Settings(hInst, m_moduleName);
m_ptSettings->set_description(IDS_SETTING_DESCRIPTION);
m_ptSettings->set_icon_key(L"pt-fancy-zones");
m_ptSettings->set_overview_link(L"https://github.com/microsoft/PowerToys/blob/master/src/modules/fancyzones/README.md");
m_ptSettings->set_overview_link(L"https://aka.ms/PowerToysOverview_FancyZones");
m_ptSettings->set_video_link(L"https://youtu.be/rTtGzZYAXgY");

m_ptSettings->add_custom_action(
Expand Down

0 comments on commit 67c8d80

Please sign in to comment.