! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Add multimonitor position settings to display dialog
Status:
RESOLVED: FIXED
Severity:
enhancement
Product:
Xfce4-settings
Component:
Display Settings

Comments

Description Jon Sturm 2011-04-04 07:01:07 CEST
Created attachment 3597 
patch to add position settings to the display dialog

The current display dialog is useless for users with more than one monitor if they wish to use anything other than a cloned mode.

I have started to add position settings to the dialog but just having numbers to input is not very intuative to the user and leaves it hard to tell where the monitor will end up on the screen. The other issue is that if one makes small adjustments it updates every time and thus the user has to wait for their xorg driver to apply the changes before they can continue adjusting. I would suggest adding an apply button and letting the user make all the needed changes before applying them. This should be fairly easy to implement and if we decide to go that route I would be happy to do so.

The most common use case would be an extended mode with the second monitor left, right, above or below the main one. The issue there is specifying which monitor is the main one. The --primary flag is in implemented in xrandr 1.2 and the code currently supports systems with that version so relying on that may not be possible. 

The other issue is that if one makes small adjustments it updates every time and thus the user has to wait for their xorg driver to apply the changes before they can continue adjusting. I would suggest adding an apply button and letting the user make all the needed changes before applying them. This should be fairly easy to implement and if we decide to go that route I would be happy to do so.

I have completed a basic patch that implements using spinbuttons to adjust the position but it is not ideal and currently doesn't properly check if the position is possible to apply based on the video cards maximum virtual screen size. I can add this but I feel it may be better to rework the rest of the dialog first.
Comment 1 Jon Sturm 2011-04-04 07:22:44 CEST
Created attachment 3598 
patch to add position settings to the display dialog

Fixed a typo in the first patch
Comment 2 fordfrog 2011-08-17 13:04:02 CEST
does this patch work with xfce4-settings 4.8.2? it applied fine before compilation but i can see no change in the display settings dialog. my only problem related to this is that though i set my bottom display (LVDS) as primary, the upper display (HDMI-0) is set as primary instead and i hoped this patch could help me to change it.
Comment 3 Jon Sturm 2011-11-18 06:43:38 CET
No all my patch did was add some very basic position settings to the dialog, and they weren't very useful at that.

That said I have been thinking about how xrandr in general is handled and I feel like the best choice would be to move all modesetting code to xfwm4. The main reason I see this as needed is in order to detect things like monitor hotpluging and resolution changes via other means we would need to listen on the root window and since xfwm4 is already doing so it make much more sense to leave all root window event listening to a single application. We could leave the mode setting in the settings deamon but then we would have to have xfwm4 notify it every time there is a change or update and that would complicate the code and possibly cause dependency issues between xfwm4 and xfce4-settings, though I haven't looked that closely at that particular issue. 

Either way making xfwm4 xrandr aware has definite bonus's and I plan on submitting a request on that as well if there is not already one.
Comment 4 Jérôme Guelfucci editbugs 2011-12-24 10:09:41 CET
*** Bug 8274 has been marked as a duplicate of this bug. ***
Comment 5 Jérôme Guelfucci editbugs 2011-12-24 10:10:00 CET
*** Bug 8265 has been marked as a duplicate of this bug. ***
Comment 6 Joost Van Durme 2012-01-10 19:25:16 CET
Hi Jon,

I think you're working on something that is heavily needed. I have a dual monitor setup using xrandr for resolution and position setting. The problem is that the --primary flag of xrandr is completely ignored in xcfe4. It seems that the primary display is always the one that is set to the left by xrandr. Hence, also the panel will always show up on that monitor.
See the bug filed here: https://bugzilla.xfce.org/show_bug.cgi?id=8115
It would be such a bonus to have xrandr setup dual monitors correctly in xcfe and with a gui. Also, making the settings permanent would be a necessity, since forums are full of how to make xrandr settings permanent. I suppose .xprofile in the home folder is an option, but doing it already on the login screen before the xcfe session starts would be even better.
Thanks for all the work. :)

Joost
Comment 7 Raphael Groner 2012-01-12 19:36:27 CET
I applied the patch but can't detect any differences in the display dialog compared to the dialog before without the patch applied.

xfce4-settings-4.8.3
Comment 8 Raphael Groner 2012-01-12 20:50:49 CET
(In reply to comment #7)
Problem solved. You have to call autogen.sh instead of configure. Then, the header files will be regenerated because the patch modifies the glade file.

Curiously, autogen.sh isn't shipped with the official release. So you have to get the sources out of git.

It works for me with
http://git.xfce.org/xfce/xfce4-settings/snapshot/xfce4-settings-xfce4-settings-4.8.3.tar.bz2
Comment 9 Raphael Groner 2012-01-12 23:16:28 CET
%build
# use xdt-autogen to regenerate glade header
NOCONFIGURE=1 xdt-autogen
%configure --enable-sound-settings --enable-pluggable-dialogs
make %{?_smp_mflags}
Comment 10 Raphael Groner 2012-01-12 23:29:56 CET
(In reply to comment #9)
Better with --enable-maintainer-mode:

%build
# use xdt-autogen to regenerate glade header
NOCONFIGURE=1 xdt-autogen
%configure --enable-maintainer-mode --enable-sound-settings --enable-pluggable-dialogs
make %{?_smp_mflags}
Comment 11 Raphael Groner 2012-01-13 00:05:20 CET
Forget about what I wrote in comments # 8, 9 and 10. It is simply sufficient to call configure --enable-maintainer-mode to regenerate the glade header file.
Sorry about the spam.
Comment 12 Kevin Fenzi 2012-01-21 20:25:51 CET
This sure looks pretty handy, what are the chances of it going in? ;)
Comment 13 Lionel Le Folgoc 2012-01-21 20:56:36 CET
Comboboxes (e.g. <output1> <left of/right of/below/above> <output2>) will be a nightmare with more than 2 outputs ; spinbuttons are not really user friendly, etc. That's why we didn't add anything like that in 4.8.

IMHO, we should do something like what arandr does (you can drag your output to the position you want), or maybe reuse something similar to the "set wallpaper" dialog of ristretto 0.3.x... (if nothing has been done yet, I guess it's because Jérôme doesn't have time, and I don't really have the needed gtk/cairo skills ;-).
Comment 14 Raphael Groner 2012-01-21 22:55:07 CET
This patch with freely configurable coordinates is a good workaround, if you ask me. It's true that the user has to calculate by itself the right values to input.

I thought also about some improvements to the dialog. There should be a possibility to order the outputs, maybe add arrow keys to the left list. Then some buttons could be added, for arranging them horizontally (left-of / right-of) and vertically (below-of). To test the current settings, there could be also a button "Apply" that sets the configuration for a special amount of time.

I agree that combo boxes won't improve usability. But consider that currently, most users wouldn't use  more than 3 outputs cause there are not much (cheap) cards available with more than 2 or 3 outputs and if, most people won't afford the money for them. DisplayPort is too expensive for normal users, and the chance that Xfce would then be used is minimalistic.

More buttons are easily to add in future without the need to redesign the dialog completely.

Let's wait for Jérôme with the final solution.
Comment 15 Jérôme Guelfucci editbugs 2012-08-23 21:36:22 CEST
*** Bug 9200 has been marked as a duplicate of this bug. ***
Comment 16 Lionel Le Folgoc 2012-10-03 15:24:46 CEST
FYI, there's a work in progress in the bluesabre/display-settings branch.
Comment 17 Lionel Le Folgoc 2012-10-29 23:04:05 CET
Implemented in master.
Comment 18 Jérôme Guelfucci editbugs 2012-11-09 10:05:16 CET
*** Bug 9477 has been marked as a duplicate of this bug. ***
Comment 19 Lionel Le Folgoc 2013-07-08 17:06:06 CEST
*** Bug 10219 has been marked as a duplicate of this bug. ***

Bug #7465

Reported by:
Jon Sturm
Reported on: 2011-04-04
Last modified on: 2013-07-08
Duplicates (5):
  • 8265 Complete support for xrandr options
  • 8274 Display manager doesn't allow to select the layout for external monitors
  • 9200 Impossible to configure the position of a multi screen
  • 9477 No option to extend the screen, only copy the screen
  • 10219 Extend functionality of display settings

People

Assignee:
Jérôme Guelfucci
CC List:
16 users

Version

Version:
unspecified

Attachments

Additional information