MultiMonitorBehaviour

Summary

Our infrastructure for multiple monitor support is now relatively mature. We do not, however, have a good idea of what behaviours we should be defaulting to.

Release Note

The handling of multiple monitors has been improved, making it easier to enable and configure a second display. Particularly, it is easier to set up a projector for a presentation.

Rationale

Many laptops are frequently plugged in to an external monitor and desktop cards supporting 6 simultaneous outputs are now becoming mainstream. An important special case is connecting a projector, as this is both a common requirement and occurs in a very public place.

User stories

Alan goes to the office, puts his laptop with the lid closed into a docking station and boots it up. The external display should be run at its native resolution. Later that day he needs to see a customer. He suspends the laptop and takes it out of the docking station. At the customer he wakes up the laptop and the internal screen is used at its native resolution. Finishing his visit the laptop is suspended, brought back to the office. There it is placed in the docking station, woken up and the external display should run again at its native resolution.

Bob starts his day in a presentation, booting the laptop with lid open while attached to a projector. He delivers the presentation in clone mode. He suspends the laptop, closes the lid and walks to his office. The laptop is placed in a docking station and woken up. The external display should be used in its native resolution. When going home he suspends the laptop and takes it with him. At home the laptop lid is opened, the system resumes and the internal display is used at the native resolution.

Charlie uses the train in the morning and uses his laptop there. When leaving the train he suspends the system. At work he gives a presentation first, resuming the laptop with the projector attached. He gives the presentation in clone mode. After the presentation he suspends the laptop, walks to his office and places it in the docking station there. With the lid closed he resumes and works with the external display with native resolution.

David works from home in the morning, using his laptop in native resolution. Later that day he visits his office, places the laptop with lid closed in the docking station and works on the external display in native resolution.

Assumptions

Design

Default on monitor plug-in event: suggested clone mode when connecting a second monitor - OS X and W7 appear to default to clone

Default to resolution of smaller device (within sane ranges), letterbox on larger device.

On display plugin event, pop up new GUI with a few, graphical, sane defaults presented to user.

Hot-key should bring up same display chooser as display hotplug - preferably it can be configured on the dialog what the hot key does. User can select to have the hotkey switch between a chosen set of configurations.

Implementation

UI Changes

The Monitors applet from GNOME Control Centre is responsible for the multi monitor UI; this needs to be extended to add the simple UI popup.

Code Changes

The xrandr plugin to GNOME settings daemon is responsible for handling hotplug events and setting modes; this needs to be changed to default to clone in the absence of previous configuration.

A popup UI for the Monitors applet needs to be developed.

Migration

No data migration is required.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.

Unresolved issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.


CategorySpec

X/Blueprints/MultiMonitorBehaviour (last edited 2010-11-16 12:01:18 by 91-67-104-13-dynip)