I've come to question the whole idea that windows should be attached to different screens.
It's easy to show that a single window can span any number of displays, and in that case to which display it belongs?
You can say it belongs to the display where its left top corner is located - this definition is sufficient, sure, but the point is that our per-display division is artificial - it is not enforced by the OS.
Moreover, if we think from a focus model perspective: there are nodes in the OS widget tree (windows, pages, fields) that remember their last focused widget or caret position and restore it to the child when such node is refocused. But screen is not one of these, as we can't refocus to a screen, only to another window.
So:
- What do we gain from it? Please list the benefits that you see.
- Clearly we get extra complexity, as now we have to traverse all the
system/view/screens to list all opened windows: example
My proposal here is:
- Let's keep screens as informational structure: we need each screen's geometry to locate and place windows
- Let windows belong all in the same single root (e.g.
system/view/windows)
I've come to question the whole idea that windows should be attached to different screens.
It's easy to show that a single window can span any number of displays, and in that case to which display it belongs?
You can say it belongs to the display where its left top corner is located - this definition is sufficient, sure, but the point is that our per-display division is artificial - it is not enforced by the OS.
Moreover, if we think from a focus model perspective: there are nodes in the OS widget tree (windows, pages, fields) that remember their last focused widget or caret position and restore it to the child when such node is refocused. But
screenis not one of these, as we can't refocus to a screen, only to another window.So:
system/view/screensto list all opened windows: exampleMy proposal here is:
system/view/windows)