(Split off bug 4983) Given: A client with multiple monitors When: A new session is requested with client settings: Size of session: All monitors Full screen mode Enable full screen over all monitors Then: The session will initially start with just one big screen. It will not be resized until the client has connected. Besides causing unnecessary resizes, this means that initial windows might be placed incorrectly etc (reason for bug 4983). Upstream feature request: https://github.com/TigerVNC/tigervnc/issues/328
Running xrandr in a session reports: > Screen 0: minimum 32 x 32, current 5120 x 1440, maximum 32768 x 32768 > VNC-0 connected primary 2560x1440+0+0 0mm x 0mm > 2560x1440 60.00*+ > ... > 640x480 60.00 > VNC-1 connected 2560x1440+2560+0 0mm x 0mm > 2560x1440 60.00*+ > ... It turns out our pyxlib-ctypes doesn't include bindings for Xlib extensions like randr. I'm investigating if a switch to python-xlib, which has extensions like randr, can be viable: https://github.com/python-xlib/python-xlib
Passing multi-monitor information along with the initial connection isn't necessary for solving bug 7952. We can listen to Randr events and get what we need there.
It is unclear if we actually need this at all. I can't see any issues with profile chooser window placement.. Placing on "---" for discussion.
The profile chooser has a heuristic to try to guess that the single very wide monitor is actually two distinct monitors. Being a heuristic, this sometimes guesses wrong. So we still want the proper information to handle all cases.