Xfce Wiki

Sub domains

This is an old revision of the document!


Stage 1

Target: Xfce 4.12, Implementation: 75%

  • Support extended desktop mode for 2 monitors
  • Improve minimal dialog
Stage 2

Target: , Implementation: 0%

  • Replace treeview with iconview
  • Support xfce4-notifyd's themes for the identity-popups
Stage 3
  • Support setting the primary monitor (Related bug: 9338)
  • Create “display profiles” (save setups based on EDID)

Status Quo

Minimal Dialog

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:

  • Only Display 1
  • Extend desktop to the right
  • Mirror displays
  • Only Display 2

The “Advanced” button opens the normal display-dialog.

Display Settings 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. Four positions are available: left-of, above, right-of, below.

Identification Popups

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.

Open Issues

Minimal dialog:

  • Add the 10sec-reset-timeout dialog just to be sure
  • Debug/fix segfault after setting Mirror, then Extend Right
  • 4 options: Only Primary, Mirror, Extend Right, Only Secondary
    • draw icons
    • implement in code
  • Hook up Advanced button
  • Consider dropping “presentation mode”

Normal dialog:

  • Fix xfconf channel binding warning
  • Add code for “identifying popups”
    • Use xfce4-notifyd's gtk-style
    • Fix wrong position and values after a display has been disabled
    • Re-color the currently selected display
  • Check why xrandr works better with Nvidia proprietary than our code
    • Applying new positions works every second time. Debugging output about desktop dimensions only gets printed every second time (TRACE[displays.c:800] xfce_displays_helper_channel_apply(): Desktop dimensions: 3200×1200 (px), 722×271 (mm).) I would assume that the problem lies there: the desktop dimensions don't get changed in time for the first try, so the driver falls back to mirror-mode. The second time the desktop dimensions are already changed from the last try and then applying new positions works. What supports this hypothesis is that switching from right-of to left-of seems to work fine. But e.g. from right-of to below it takes 2 tries again and vice versa (because the desktop dimensions would again have to be changed). — simon 2012/10/11 10:55
  • Code review
  • Fix rotation code with extended desktop mode
  • Change rotation-combo-entry-name from “normal” to “none”


  • Fix 3 commit authors (merge locally, then rebase interactive on origin/master and set a new committer)
  • Celebrate the release!