Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Short version: When moving my laptop and sleeping between using different monitors, all my open windows are crammed into the upper left corner as if they tried to fit on the laptop internal screen resolution. I plug in and switch to the external monitor before unlocking my session. Is there a way to prevent this automatic resizing?

Longer version: I have a laptop that I move between two locations. I have one docking station, and the same kind of monitor configured for 1600x1200, in both locations. The internal laptop screen is awful so I don't use it.

  • Location A: Docking station, monitor connected via DVI.
  • Location B: No docking station, external monitor connected via VGA cable. In this location I have the laptop lid open for keyboard access but I don't use the laptop screen.

When moving from Location A to Location B, the laptop wakes up from sleep, displaying the screen on the internal monitor. I switch to the external monitor display (using Fn+F8 on this laptop), and only after that do I unlock my session with my password. However, Windows has crammed all my nicely arranged windows into the upper left corner as if it were trying to fit them all on the laptop internal screen resolution.

When moving from Location B to Location A, I have the laptop lid closed when using the docking station so Windows apparently concludes the screen resolution is 1600x1200 and doesn't resize any windows.

The laptop is a Dell Latitude running Windows 7 Professional.

share|improve this question
1  
It's not trying to fit them all on the laptop internal screen resolution - it is fitting them all. It detects that the digital connection is gone, immediately removes the monitor (at which point it has to rearrange your windows onto the internal dispaly), and only then does it detect the new analog connection. It sounds like the way the graphics device in here initializes the connections works well with the order of events in one direction but not the other, I guess. This is system-specific so it can be hard to say. There's probably nothing you can do about it (well, buy another dock). –  Shinrai Oct 9 '12 at 20:45
    
I have tried always disconnecting and connecting the screens, and docking/undocking the laptop, while the laptop is sleeping. It's not going to "detect" anything while it's asleep. What leads you to suggest the dock is the problem here? It's the dock that came with the laptop, with a (presumably) proprietary Dell connector. –  Greg Hewgill Oct 9 '12 at 20:47
    
No, my point is that it doesn't matter if you do it while it's asleep - it see that it's different when it wakes up, so it forces a redetection of the displays. It's the exact thing that would happen if it wasn't asleep, at least going the direction it doesn't work. It's DVI on one side and VGA on the other - it doesn't matter that they're identical panels. It's the graphics chipset's fault. It sounds like using DVI on both locations would work, though. –  Shinrai Oct 9 '12 at 22:26
    
Well I don't really care why it happens. My question is whether there is a way to prevent this resizing from happening. I don't own the hardware, so I am hoping for something like "[x] Stop shifting windows around when not asked to" or other software solution. –  Greg Hewgill Oct 9 '12 at 22:30
    
Sorry, I guess I'm not being clear - Windows by default will reshuffle a window if it would no longer be visible, for instance if you've unplugged the monitor it was on, so that windows can't get stranded offscreen. There's no way around this behavior and anyway I think we can all agree it's probably a good behavior to have. The problem is that this laptop is triggering that behavior when it sees the monitor configuration has changed, and that's a hardware/chipset level problem. Unless you want to write new graphics drivers, there's probably not much you can do to prevent it. –  Shinrai Oct 9 '12 at 22:53
show 2 more comments

1 Answer

up vote 1 down vote accepted

Lock the console. Push the Switch User button. This will completely disconnect your user session from the console (keyboard, display, mouse, sound, etc). -- you can also accomplish this by opening Task Manager and disconnecting your own session under the Users tab.

Then when you unplug your external monitor or docking station, your user session (and the various open windows within), will be unaware of any resolution changes.

Then plug the laptop back in to a monitor or docking station at its new location. When you "log in", your existing user session will get reattached, and ideally it will only see the resolution change from the original to the new (without going through the intervening "small" laptop native display res).

share|improve this answer
    
... and, of course, test this under non-critical circumstances, and save everything first. My test of this technique was not thorough. –  William Oct 10 '12 at 2:19
    
Brilliant, just tried this and it did the trick. Thanks! –  Greg Hewgill Oct 10 '12 at 3:45
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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