11

Configuration

I have my desktop connected to two monitors, of which one is the primary monitor (best quality). I have a server as well, and its video output is connected to the alternate input of my primary monitor. That way, I can switch my monitor to display the output of my server, so I can quickly perform some actions on it.

Problem

However, when I switch my primary monitor to its alternate input, windows 10 on my desktop PC detects that my primary monitor 'disconnected'. Windows 10 then proceeds to make my secondary monitor my primary monitor, and moves every single window to that screen. When I`m done with my server (usually just a couple of seconds to make some quick changes) I press the button on my primary monitor to use its main input again. Windows then detects that it is connected again and makes it my primary monitor again, but leaves all windows on my secondary monitor!

This behaviour is maddening, I have to drag every single window back to where it was before to just be able to continue my work. This takes a lot longer than the actions I performed on my server.

Question

How do I prevent windows 10 from detecting monitor changes?

Or alternatively how do I get it to put back the windows to their original place when it changes primary monitor a second time?

Similar posts

I have found a similar question for display port, but I use HDMI. I have also found a similar question for windows 7, but I use windows 10 which does not have the TMM variable in the registry. I have not been able to find a post with exactly my problem, or found a setting for this in windows 10.

5
  • How is the Windows 7 answer not applicable to Windows 10?
    – Ramhound
    Aug 6 '17 at 16:17
  • Generally, windows 10 is a different operating system. Specifically, windows 10 does not have TMM.
    – Leo
    Aug 7 '17 at 6:21
  • This may solve your problem (The op asked for a Win7 solution, but it works everywhere as it is a hardware hack): superuser.com/questions/96683/… Dec 20 '20 at 20:35
  • This advice helped me with an ordinary NVidia card: nvidia.com/en-us/geforce/forums/game-ready-drivers/13/239683/…
    – Slava
    Nov 3 at 10:28
  • I hope this instruction won't be deleted. Unfortunately, I can't create an answer to copy the instruction there because of due to lack of reputation here (10 more reps needed).
    – Slava
    Nov 3 at 10:34
5

Since most answers to similar questions on different versions of windows come down to it's not possible, and I have not found any indication that this has changed for windows 10, I think I have to assume that it is not possible to disable 'monitor connection' detection.

0
2

I've never found a valid solution to this either. Some graphics card manufacturers allow this feature and then there's an issue with the "Extended Display Identification Data" handshake with Windows. Sometimes the monitor won't broadcast the EDID at all which means that Windows won't understand that the monitor is re-connected and won't place the icons back.

The only thing that completely alleviated this for me is a cheap hardware device called "monitor detect killer". With this device, it's as if the monitor is permanently 'connected' even though you switch it off or change it's input.

Cheers.

1
  • Those devices are also called "EDID Managers", which might help as search terms for future visitors. However, most of these devices work only for HDMI and not for DisplayPort connections.
    – Fritz
    May 13 '20 at 13:38
2

This worked for me: https://sites.google.com/site/ebobster/stuff/displayportblanking

Bottom line: Go into your NVIDIA control panel (or whatever software you have) and change the EDID source from "monitor" to "file." You do this by exporting the settings for each file, then import them again. Now your monitor doesn't determine the setup, the file does.

In this screenshot, where you see "File", it used to say "Monitor."

enter image description here

2
  • 1
    Sadly, this only works for Nvidia Quadro cards, not for consumer GeForce cards. :(
    – Fritz
    May 13 '20 at 13:35
  • I don't have that tree with my GeForce GTX 1070 Apr 3 at 1:15
2

The following worked for me (10080 is seven days in minutes):

Powercfg /SetacValueIndex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 10080
Powercfg /SetacValueIndex SCHEME_CURRENT SUB_VIDEO VIDEOCONLOCK 10080 
Powercfg /SetActive SCHEME_CURRENT 
2
  • Can you give a detailed explanation as to what this actually does? It obviously alters the power settings, but beyond that I'm not sure. i.e. why 7days? What happens after the 7th day? Apr 3 at 1:04
  • Does not work for me (Windows 10, NVIDIA GTX 2060). I as soon as I power off one of my monitors, Windows re-arranges all my windows.
    – Leonardo
    Apr 17 at 2:43

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