Comment 20 for bug 683084

Revision history for this message
Alex Launi (alexlauni) wrote :

The problem is that there are two (as I see it) external monitor work flows we need to consider.

These use cases are designed from a mix of intuition, personal use, physical observations of dual monitor users over the years, and from reading discussions related to dual monitor behavior in various applications.

1, A Desktop with two matching monitors: Users here use their monitors as one massive workspace. They do not really think of it as two monitors; that is just an implementation detail. They have everything laid out in front of them, and while they may generally separate their work by monitor, they still float things back and forth often and are usually aware of the entire space.

2. A laptop with an external monitor: Users of this configuration tend to use their secondary monitor as storage space. It's an edge of the desk for putting reference material, and other non-focused items. Gwibber idling to display new tweets, API documentation, reference material. The primary screen is the work area. It's in front of they keyboard* so while typing their attention is focused in that direction. It feels much less natural to have your head turned and be working in a different direction than your hands are pointing

So we need to design the multimonitor case with that in mind. The two means of working are rather different. The current behavior is very sub-optimal for the second case, of the laptop with an external. I feel that we can devise a very transparent dynamic system for this.

My proposal:
Have two configurations for how the panels get laid out, and menus behave. We can fairly reliably detect which case we should use. Xrandr gives a wealth of display information. If we see LVDS, we have a laptop. If we get a hotplug event, assume laptop case. Desktops don't get monitors plugged in and out of them very often. They tend to be static. We can probably even do some guessing based on screen geometries. I haven't seen too many dual monitor desktop users with differently sized screens. The super large desktop metaphor kind of breaks down here. This might be another hint we could use to decide.

Unfortunately I don't think that this is a problem where a one-size-fits-all solution will work, but luckily it's one where it should be relatively easy to make it just do what's implicitly expected.

*Some users also use a usb keyboard. I haven't seen very much of this so I can't really comment on how they use multiple monitors. I would guess that they would be a use case closer to 1 than 2, but I can't say.