This is an old revision of the document!
Roadmap
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
- 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. These popups are currently shown at the bottom of the respective display.
Open Issues
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 modeChange rotation-combo-entry-name from “normal” to “none”
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 Secondarydraw iconsimplement in code
Hook up Advanced buttonConsider dropping “presentation mode”
General:
- Fix 3 commit authors (merge locally, then rebase interactive on origin/master and set a new committer)
- Celebrate the release!