Powertoys: Remember / Restore window position when reconnecting a monitor

Created on 6 Sep 2019  路  11Comments  路  Source: microsoft/PowerToys

Summary of the new feature/enhancement

As a developer with 5 monitors, whenever I have to go to a meeting which requires my laptop, I usually have to spend a couple minutes minimizing windows once un-docked, then 3-5 minutes re-positioning/resizing a bazillion windows back onto my multiple monitors.

It would be awesome to have a PowerToy that at least attempted to keep my layout between dock cycles, maybe integrated into the virtual desktops feature in Windows 10

Proposed technical implementation details (optional)

Whenever a graphics/monitor hardware event occurs, and before Windows re-positions all windows, take a snapshot of the monitor layout, all main window handles and their current positions.

Then, check if the new layout/monitor configuration matches to any previous snapshots, and align the windows accordingly.

The initial version could just go off window handles, but maybe future versions could allow users to specify regular expressions for window titles/tab names (in the event windows are closed then re-opened.)

Idea-Enhancement Product-FancyZones Product-Window Manager

Most helpful comment

It's generally frustrating working on windows with a laptop + docking station + multiple screens.
Everytime you undock the laptop for a meeting the windows go to screen one (which is okay I guess, although it would be cool to have an option to use different desktops instead) but whenever you redock it all the windows are on screen 1 and you have to take time to restore their position. Depending on how many windows you have open during the work day that can take quite some time.

I recently found https://github.com/manutalcual/winredock which restores the position. Think it would be great if this kind of functionality was integrated into PowerToys.

All 11 comments

An alternative (And nice-to-have) addition to this feature would be to have a key command that would allow you to manually save/reload window layouts. Again, similar to the request above, it would be a case of saving the window titles/names or window handles, and then restoring them into position at a single keystroke. This would need to be multi-desktop, multi-window aware.

The feature #557 I suggested could be made part of this if/when implemented

@jcoutch I have a similar issue, and I've been using this program to do my window management

http://www.stefandidak.com/windows-layout-manager/

It hasn't been updated in a while but still works great.

Changed title to make it simpler to search for the issue.

This 1000+!

If for some reason automatic detection of "graphics/monitor hardware events" + save/restore is technically not possible, I could also live with a manual approach using some hotkeys as mentioned earlier (as an addition there).

+1

I would love for something to be built in to FancyZones (or PowerToys) that could save & restore window layouts based on what monitors are connected.

Yes, I could see this for Fancy Zones to adapt to different monitor profiles, but also as a separate Power Toys feature that can help manage those profiles when moving between workstations.

It's generally frustrating working on windows with a laptop + docking station + multiple screens.
Everytime you undock the laptop for a meeting the windows go to screen one (which is okay I guess, although it would be cool to have an option to use different desktops instead) but whenever you redock it all the windows are on screen 1 and you have to take time to restore their position. Depending on how many windows you have open during the work day that can take quite some time.

I recently found https://github.com/manutalcual/winredock which restores the position. Think it would be great if this kind of functionality was integrated into PowerToys.

^^^ What they said!

Sometimes my kvm does silly things in the monitor, i need to turn it on/off but then all my windows are back on the main and i have to re-arrange everything. This would certainly be a welcome solution. Also found those others tools but it should really be in powertoy ;)

Was this page helpful?
0 / 5 - 0 ratings