Tailen
24 discussion posts
I have the problem that the external output HDMI on my video card is not always on (it's connected to a TV/projector). I have two other DVI monitors that I normally use and in the Monitor Configuration menu they have the ID numbers 1 and 2.
The problem is that when I connect the HDMI cable, the projector becomes monitor ID 1, and the two DVI monitors become 2 and 3.
This causes two separate problems:
* All my Window Location settings are useless, because they are tied to a monitor number, which changes when the projector is connected.
* More annoyingly, all the open application windows are moved to another monitor when the profile is selected. I think this is a bug, however. For example, open application windows on the main monitor (ID 1) are moved to the projector (the new ID1) when it is connected. This sort of makes sense, if the application windows were tied to the monitor ID, but I can recreate the same behavior even when the monitor numbers are different:
1) Connect the HDMI to the projector without turning it on or activating the Monitor Configuration profile. This makes the projector show up as monitor ID 1, but it is disabled for the moment. The main screen is renamed to ID 2 and the secondary screen renamed to ID 3 (at which point the Window Location settings are wrong, from the other issue above).
2) Open an application window on the main screen, monitor ID 2. Open another application window on the secondary screen, monitor ID 3.
3) Activate the Monitor Configuration profile that has all three screens, or simply Enable the currently disabled monitor ID 1 (projector).
4) The application window on the main screen is moved to the projector (from ID 2 to ID 1), and the application window on the secondary screen is moved to the main screen (from ID 3 to ID 2). A few applications that draw their screens in odd ways sometimes stay on the same screen (e.g. Steam).
Solutions:
* Persistent monitor ID numbers tied to the screen name or connection name, or some other persistent ID.
* Making sure that new screens will always receive a higher ID number, i.e. currently activated screens cannot have their ID number stolen/changed.
* Count all the monitor connectors that the graphics card has and assign the ID numbers on startup, regardless of whether the monitors are connected or not.
* Some other clever solution I can't think of, which ensures that newly added monitors do not disrupt the current setup, or change the monitor ID numbers (so Window Location can work correctly).
* Fixing the bug with application windows jumping screens when monitors are activated above.
Tailen
24 discussion posts
That's depressing news indeed.
How about adding a function in DisplayFusion that lets me restrict application windows appearing only on certain screens, and restricts mouse movement to those too?
I'm not sure how, but even if I turn off the projector, Windows can still see it as connected and I can Enable it in the monitor control panel. (I'm guessing there's some circuit in the HDMI socket for monitor detection, which is fed power by the HDMI cable itself?).
As long as I keep the cable connected, I have a phantom monitor attached, I just need to NOT have any windows pop up on it, or move my mouse there.
Maybe something that detects if a window is going to open on the projector and then redirects it to the left/right monitor instead? There's some mechanism in Windows that remembers where a window was last opened, so those windows will appear on the monitor by default, they just need to be redirected. It'll be fair to assume that a disconnected monitor is either to the far right or the far left of all the other enabled monitors.