Guides
How to fix windows moving after a Remote Desktop session
You connect to your office PC from a laptop over Remote Desktop, do some work, and the next morning every window on the office PC is shrunk and stacked on one monitor. Or the other way around: you remote into your home machine with three screens and get a squashed single display. Remote Desktop changes the display configuration of the session, and Windows rearranges windows to fit. This guide explains why, which Remote Desktop options reduce the damage, and how to get your layout back automatically.
-
Understand why RDP rearranges windows
When you connect over Remote Desktop, Windows gives the session the screens of the computer you are connecting from: its number of monitors, resolution and scaling. Your three-monitor office layout suddenly has to fit a single laptop screen, so Windows moves and resizes windows to keep them visible. When you return to the office PC, the physical monitors come back but Windows does not move the windows to where they were. Maximized windows and several windows of the same app are hit hardest.
-
Use all your monitors in the session
If the client has several monitors too, open Remote Desktop Connection, click Show Options, go to the Display tab and tick Use all my monitors for the remote session, or start it with mstsc /multimon. The session then gets one screen per client monitor and windows are squeezed less. This needs a host edition that supports multiple monitors, such as Windows Pro. Matching the client's resolution and scaling to the host's also reduces the reshuffle.
-
Save your normal layout as a window profile
On the PC you connect to, arrange your windows on its own monitors, install WindowLayout, open Window Profiles and click Save current, for example as Office. In Profile options, give it a Hotkey and turn on Apply automatically when this setup connects. A profile records each window's monitor, position, size, maximized state and stacking order, and identifies monitors by device and model, so it can put everything back exactly.
-
Turn on automatic restore
Under Automation in Window Profiles, switch on Restore windows after monitor changes, sleep and unlock. WindowLayout keeps a snapshot of your windows for every monitor setup. When you come back to the console after a Remote Desktop session and windows are piled on one screen, it recognizes the change and restores the snapshot taken before. Turn on Launch at startup in Settings so it is always running.
-
Restore by hand when you need to
If you prefer control, leave automation off and press the profile's hotkey when you sit down, or choose the profile from the tray menu or the command palette (Ctrl+Alt+Space). Preview restore shows which windows will move before anything happens, and Undo last restore puts them back if you change your mind. Ctrl+Alt+G gathers every window to the main display if you just need to find everything quickly.
Frequently asked questions
Should WindowLayout run inside the remote session?
It runs in the Windows session itself, which is the same session you see over Remote Desktop and at the console. It notices the monitor change when you return and restores the layout for the physical screens.
Does this help with other remote tools such as VNC?
Tools that mirror the console screen do not change the display configuration, so windows usually stay put. If a tool changes resolution or disables monitors, the same profile and automatic restore help.
Can I stop Remote Desktop from changing the resolution?
Not completely, because the session adapts to the client's screens. Using all client monitors and similar resolutions reduces the change, and a saved profile undoes the rest.