The current implementation of the display dialog does mostly support cloning your display to a second monitor. Xrandr and xfconf can do a lot more than that (e.g. extend and adjust resolutions) and this should be made more accessible to users. In fact this is one of the more frequently asked questions, or requested features. (There was even an episode in the 2011 FOSDEM where an Xfce-dev couldn'​t get the beamer to work from his notebook for his presentation.)

* Save settings ​based on EDID (automatic "​display-setup-profiles"​),​ i.e. different EDIDs at work and at home would result in always having the right config automatically,​ even if the screens have the same resolution (this would be particularly interesting ​with having primary monitor support in the panel)

+

+

==== Changelog Version 4.11.0 ====

+

* Implement support for extended desktop mode

+

* Improve minimal dialog

+

* Use new big icons to make minimal dialog easier to understand

+

* Implement display identification popups

+

* Improve applying new settings (now works with Nvidia'​s proprietary driver as well)

+

* Fix small naming inconsistencies

-

==== Settings Dialogs ​====

+

==== Status Quo ====

=== Minimal Dialog ===

=== Minimal Dialog ===

-

The minimal dialog ​should only be called ​automatically ​when a new display is plugged in. It should provide users quick access to the most-used modes:

+

The minimal dialog ​can be called when a new display is plugged in (given that the laptop send the appropriate signal). It should provide users quick access to four of the most-used modes:

-

* Extend desktop to the left

+

* Only Display 1

* Extend desktop to the right

* Extend desktop to the right

* Mirror displays

* Mirror displays

+

* Only Display 2

-

Furthermore it should contain a button ​linking to the display-settings ​dialog ​(see next section), in case the user wants to configure the new display more in depth (e.g. laptop docking). An additional checkbox should enable/​disable presentation mode (see section above).

+

The "​Advanced" ​button ​opens the normal ​display-dialog.

-

+

-

Theoretically (and according to Ubuntu'​s Multi-Monitor Spec) it's possible to (heuristically) detect whether the connected device is a TV or a Projector or an external monitor. We could try to use this information to set the window-title (at least).

+

{{:​design:​xfce4-settings:​minimal.png?​direct&​200|}}

{{:​design:​xfce4-settings:​minimal.png?​direct&​200|}}

-

-

This design currently features three 128px icons for the three basic modes, a tickbox for presentation-mode and a button to launch the display settings dialog.

=== Display Settings Dialog ===

=== Display Settings Dialog ===

-

This dialog will enable the user to change all the settings of all connected displays. The set of options basically depends on what RandR and the display drivers offer.

-

== Improve ​the current dialog ==

+

The main thing that changed here are the comboboxes ​to change ​the monitor position and the mirror-checkbox. (Note: ​the mirror-mode in the position-combobox only sets the currently selected display to mirror _one_ other display. This is mostly relevant ​in 2+ displays setups.) The comboboxes give the user a way of positioning always 2 displays relative to each other. In total, users can still position as many displays as they have.

-

To improve Xfce's dialog one would have to implement ​the "​extended desktop"​-mode of RandR, i.e. positioning ​the monitors "left-of" and "right-of". (Theoretically there'​s also "​above"​ and "​below",​ but in most scenarios multiple monitors are aligned horizontally.)

+

Four positions are available: left-of, above, right-of, below.

-

The "​mirror displays"​-checkbox would make the combobox for choosing the position ​of the screen insensitive.

+

-

{{:design:​xfce4-settings:​display_simple.png?​direct&​200|}}

+

-

== Mockups ==

{{:​design:​xfce4-settings:​dialog.png?​direct&​200|}}

{{:​design:​xfce4-settings:​dialog.png?​direct&​200|}}

+

=== Identification Popups ===

-

==== Status / Implementation ​====

+

For users to more easily know what display they'​re currently modifying, we decided to implement "​identity-popups"​. These show the name of the display (same as in the treeview) and the resolution.

+

These popups are currently shown at the bottom of the respective display.

+

+

{{:​design:​xfce4-settings:​popups.png?​direct&​200|}}

+

+

==== Open Issues ​====

+

+

**Hotplugging Scenarios**

+

* with an external display connected, internal display disabled, we want to re-enable the internal display when the cable gets __disconnected__

+

* when __connecting__ an external/​additional display, we could show a notification-popup with an action-button to either enable the display directly and/or open the display-dialog

+

* when the laptop-lid gets closed (e.g. in a docking-station),​ we should disable the display (currently this doesn'​t happen reliably with xfce4-power-manager,​ maybe this functionality should reside in xfsettingsd?​)

* Fix 3 commit authors (merge locally, then rebase interactive on origin/​master and set a new committer)

+

* <del>Fix 3 commit authors (merge locally, then rebase interactive on origin/​master and set a new committer)</​del>​

* Celebrate the release!

* Celebrate the release!

-

-

==== Problems ====

-

* More than two monitors could cause overflow problems in the fancier version of the dialog

-

* The vertical/​horizontal alignment of monitors (especially those with different resolutions) cannot be set in the current proposals. E.g. an external monitor with 1280x1024 and a laptop monitor with 1280x768, the ext-mon could be right of the laptop but then either at X=0 or at X=1024-768 depending on how you're using your desktop (panels etc.)

-

* Not all drivers send proper notifications so that we can trigger the --minimal dialog.