Imagine you do this...

  1. Connect your external monitor.
  2. Start some apps, some on each monitor.
  3. Disconnect the external monitor.
    • All good because all the apps move the primary monitor.
  4. Re-connect the external monitor.
    • The apps stay on the primary monitor, but it'd be very nice if they moved back to the external monitor they were on before.

Using Windows 10. Are there any solutions or workarounds to this to moving the apps back to the external monitor automatically?

If you shift+right click the icon on the taskbar, then press move, you can use the arrow keys to move the window and the enter key to set the position. I had the same issue a few years ago.

Another solution is to use DisplayFusion to snap the window to the closest monitor (the only one connected) with the "Move all windows to current monitor" hotkey.

  • 1
    why so complex? If you just want to move to another monitor then simply use windows+shift+left/right – phuclv Oct 1 '17 at 13:01

Some gpu's have support for this such as Nvidia control panel which allows you to apply settings for this and a lot of other features.

Or you could just set the multiple display settings to mirror the desktop (instead of extend) on all monitors if that works for you.

I have, in the past, used an Autohotkey tool called Windowpad for this. Apparently this has now been replaced with a new, enhanced version called WindowPadX. Scroll down to see the readme. Full documentation is here.

This was crucial to me on multiple monitors. I loved to be able to easily switch a window between the two.

You can set hotkeys for the following (from the readme):

Possible actions to be configured on hotkeys

Window actions


WPXA_MoveWindowToMonitor: Move window between screens, preserving relative position and size.

WPXA_MinimizeWindowsOnMonitor: Minimize all windows on the given Screen

WPXA_GatherWindowsOnMonitor: "Gather" windows on a specific screen.

WPXA_FillVirtualScreen: Expand the window to fill the virtual screen (all monitors).


WPXA_MaximizeToggle: Maximize or restore the window.

WPXA_TopToggle: Toogles "AlwaysOnTop" for given window

WPXA_RollToggle: Toggles "Roll/Unroll" for given window WPXA_Move: move and resize window based on a "pad" concept.

WPXA_TileLast2Windows: Tile active and last window

Multi-Monitor Mouse actions

WPXA_MoveMouseToMonitor: Moves mouse to center of given monitor

WPXA_ClipCursorToCurrentMonitorToggle: Toogles clipping mouse to current monitor

WPXA_ClipCursorToMonitor: Clips (Restricts) mouse to given monitor

General Mouse actions

WPXA_MouseLocator: Easy find the mouse

You can find it and other tools among a "A curated list of awesome AutoHotkey libraries, library distributions, scripts, tools and resources" here

I use UltraMon (I believe it is Open Source) and in certain circumstances, it can do this, if configured correctly.

  • 2
    Can you elaborate on the "how", the circumstances in which it works, and how to configure it correctly? – fixer1234 Apr 29 at 8:11

There aren't any solutions to do this, you must use the windows key on the keyboard with the left right arrows, to move in between screens, or windows key+shift+left/right in order to move to portions of the screen.

Windows key + P also helps in multi monitor situations to aid with mirroring/extending etc.

But again, once you disconnect your screen, if those windows had any metadata on them, they are gone afterwards

  • Actually, there are multiple solutions. One or two which you mentioned. Changing resolution is another one. – Hennes Oct 1 '17 at 12:33

You can do this, if you're an old "keyboard guy" like me ;-] I figured this out ages ago, being that I've been multi-mon since the early 90's, it's been a very longtime issue, amongst slightly differing UIs.

The easiest way I've found for offscreen/border apps, is: - Simply select the app, via the taskbar or Alt-Tab - Hold the Alt key down, and press the spacebar (Alt-Spacebar) - You'll see a menu, on your main screen(s), one option of which will be "Move", with the M underlined. - As such, press the "M" key, while the menu is still on-sceen - At this point, don't point/click/etc, as you're now "re-positioning" the active window (the offscreen one). - You can drag the mouse around (NO BUTTON PUSHES FOR NOW), and you should see the app sort of come in/out of the main screens, enough for you to place it somewhere more convenient for use. - Alternatively, you can use the arrow-keys to move the app around, works just as well, but a bit slower, to figure out where the windows is and which way it's heading. - Once you have the Window in a "good place", where can actively size/move it, either click the main-mouse-button, or if using the keyboard method, hit the "enter" key. - The window/app should now be easy to move/adjust. - Repeat for all windows/apps that are off-screen.

  • 2
    (1) Your answer seems to be suggesting that the OP has no idea how to move windows, which is insulting and naïve.  The whole point of the question is to get the computer to remember which window was on which monitor and to get the computer to restore them automatically,  without the user needing to remember where they were and then move them back manually, one at a time.  (2) Aside from the Alt+Space keyboard shortcut, your answer is essentially the same as the first paragraph of hydraxx’s answer.  … (Cont’d) – Scott Oct 19 '17 at 20:34
  • (Cont’d) …  (3) Why do you believe that the “easiest” way to do it is to use the keyboard to get into “move mode” and then use the mouse to do the moving?  As hydraxx says, you can do it entirely with the keyboard.  Or you can do it entirely with the mouse, by clicking on the window header and dragging.  You have presented the most complex possible solution. – Scott Oct 19 '17 at 20:34
  • It's actually quite simple, the description is just a bit tricky. I don't get the "Move" menu item when I try the taskbar thing, either it's been deprecated, or something on my system is preventing viewing it. I agree, other than the alt-spc, my answer is essentially the same, but I've shown my method to dozens, and it's always been along the lines of "wow, that was easy, wonder why didn't try that". My answer does allow for a keybd-only solution, as noted. There are utilities for this too, but sometimes shell extensions can have unwanted effects... – PeteG Oct 19 '17 at 23:39
  • I agree though, we're more or less getting to the same place, using the same construct in the OS. – PeteG Oct 19 '17 at 23:44
  • You could also use DisplayFusion to do this. It's got a setting to "snap" the current task/window to the current (likely main) monitor. – PeteG Oct 22 '17 at 1:46

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.