This is a follow up on the issue I had with Vista's multi-monitor support back in June. Just a recap, Vista tries to be smart by configuring your dual view displays (and their resolutions) automatically (unfortunately to its liking, not yours) upon certain triggers like when a user logs on.
After having done the fix described in my previous post, I managed to stop the screen flicking and screen reconfiguration at user log on and returning from a locked Windows session. But to my dismay, I was still getting weird behaviours with my dual monitor displays at times. i.e. changing my laptop display to secondary or even blanking it out completely.
After many hours of troubleshooting and googling, I think I have finally nailed the other triggers for the automatic configuration of dual view displays of Vista to the following:
1) If you have your external monitor plugged in (it doesn't matter whether the monitor is on or not) when booting Vista, it will assume that the external monitor is your default display (i.e. Display 1) and your laptop display is secondary (i.e. Display 2).
2) If your external monitor is plugged in and Vista is running, closing the lid of your notebook will cause the display configuration to change the default display to external monitor (if its not already default). Oh, and unfortunately, its not smart enough to switch back when you open the lid the next time.
If you have fiddled with "Display Settings" under "Personalization", you will have realized that you can change the default monitor back by checking the "This is my main monitor" checkbox. However, the setting will not stick and the next time one of the above happens, your external monitor becomes the primary display again.
The permanent fix I have found so far is to change the setting in the native display control panel provided by the hardware manufacturer instead. i.e. If you have a NVidia graphics card, use the "NVidia Control Panel" applet. If you are using the Intel embedded graphics card, then use the "Intel Graphics Media Accelerator" applet.
Hopefully, this will be the last time I'm going to blog on this topic. *fingers crossed!*