Hi Neil,
hm, the initial Abt layer was not multi monitor aware, just because such scenarios were not even invented (you implicetly selected a single monitor first and the rest was strictly relative to that one).
Decoration decided later that the active monitor is determined by the intended coordinates (hence alternate terms like pop and transient shells evoked) and a universal desktop was invented to gain the necessary flexibility.
That matches exactly to your description (although there is no magic configuration or registry behind the scenes).
Now to these coordinates: initially they were 0@0 at the left top relative to the (initially single and only) monitor.
A subwindow had to say were it is going to open, naturally at x@y, and x/y had to be strictly positive and in range, e.g. less than the right@bottom margin of that monitor, simply to stay visible.
That does not hold anymore (Windows already deveated here from Motiv in not counting the configurable header/lable, even on a single monitor) so coordinates can be elsewere (also negative) to reflect multi monitor allocations.
Is there any (historic) active restriction in place to force coordinates to be positive (implies the described effect to stick to the main monitor)?
As monitors can be dynamically moved and placed at runtime, any such hardcoded rules end up in such effects (that leads the need of a dynamic interface like DesktopBaseSupport and isPrimary).
E.g. such specs like start a subwindow at 10@10 absolute coordinates are wrong, it should be at 10@10 relative to the parent coordinates (or e.g. -20@-20 to be left an above...)?
Here we dive into that area that i meant with "mutiple coordinate" systems. If
s.th. is specified wrong, that is referring to the wrong base cooordinates, you end up as observed.
My hint is to look if any part is handling coordinates as absolute values instead of being relative (in the meantime) related to another component?
[of course, you can also use absolute ones, but then you actively have to deal permanently with monitors, their dimensions all over the time, with the risk to be wrong (as just sth. has been moved underneath]].
Not to mix up: widget coordinates relate to their (one and only) single parent shell (here the historic restrictions still hold most of the time), no matter where the shell is placed [the third coordinate system].
Windows and Part builder still rely on this.
Kind regards,
M