Regarding this, and thinking back that I changed from 2 display setup to 1 UW due to lack of Haiku support for multiple displays on my HW, I can think of two ways to approach this (without knowing so much yet how things work on Haiku):
1- Display root:
---- Virtual display (workspaces)
-------- physical display 1
-------- physical display N
In this situation there is only one virtual display that holds all physical devices as a whole single desktop, extending from the Master to the attached ones according to user setup
In this situation, a workspace matches the virtual display, and each workspace shows a new desktop set. Changing from one workspace to another changes the whole set
2- Display root:
---- Physical display 1 (workspaces1)
---- Physical display N (workspacesN)
In this situation each display is independent of the rest and they act as such.
In this situation, a workspace matches the physical display in which it’s set, so changing from one workspace to another only changes the physical display in which user selects a different workspace keeping other physical displays unchanged.
Now, moving windows in the situation 1 is easy, as workspace switcher would show all workspaces that match the virtual display (whole desktop), so it would work as only one display attached, as it works now with single display.
Situation 2 would make things a bit more complex, as dragging windows between workspaces inside one display would be as it is now, but in order to move it to another display need to think on how to send the window to the other display (right click on window tab -> send to display N workspace M?).
Of course could be possible arrange a mix of both, but I presume that would be complex to implement and it would make sense in cases where user has more than 2 physical displays.
While I would like to have plenty, I mean 4 physical displays, I have no physical space (and coin) to set a 4 display system unless all are 17 inch, 24 at most, and having everything way too tight on the table.
Both approaches have their pros and cons. I can think of keeping one screen always with some stuff running and another screen to do other things and workspace switching on the later only, in my case, only with the laptop now, as desktop is single display setup.
Then again, if Haiku implements something like “show all workspaces”, for single virtual display (situation 1), I think it could be like a “gallery” of all workspaces/desktops. For several physical displays, it “should” show available displays with their workspaces, be it in a gallery like, scrolling, whatever… Where each “display” entry shows its whole workspace children? Problem here, where should show this? In the first display?, the Nth? all together?
Just thinking aloud.