The ViewX StartupConfiguration.xml allows you to define the monitor origins via the new 'MonitorOrigin' attribute. This supersedes the existing 'Monitor' attribute (which can be removed; if left in the file, it will be ignored)
'MonitorOrigin' is defined as a point attribute. An extract from my StartupConfiguration.xml showing its use is as follows:
Interpreting the above, the primary container is my middle monitor (0,0) 'Head 2' is on the left (has a negative X value) and 'Head 3' is on the right (has a positive X value).
Note that monitor 'Head 2' has a positive Y value of 327, this is because this left-hand monitor's top line is 327 pixels lower down than the primary monitor.
Note that the 'LegacyHead' attribute is left unchanged. This is what the mimic/script 'Head()' function uses so its functionality still behaves as before. The 'Monitor' attribute was only used to try and replicate the monitor numbers shown in the Windows Display settings. (Which does not work reliably).
A word of warning, if the user updates their monitor configuration in the Windows Display settings by repositioning monitors, then you will need to get the updated list of monitor origins and update the StartupConfiguration.xml file, otherwise ViewX will display its usual 'Monitor configuration has changed' message on startup and move any window containers configured to show on the repositioned monitor/s onto the primary monitor.
Monitor Origin Utility
This simple .exe program will advise the co-ordinates of the upper left origin of all monitors connected to the PC.