Xfce - Can't set primary monitor in xrandr
I'm using Xfce 4 Desktop Environment version 4.6.1 (Xfce 4.6)
I'm trying to get a dual monitor setup working. I have a vga monitor plugged in and sitting to the left of my laptop.
I want to have it so that my regular desktop sits in the laptop screen as normal and the vga acts as extra space to drag windows into. I'm almost there: i have the two spaces sitting next to each other and i can drag left and right.
The problem is that the vga monitor is the "primary" one with the taskbar in it: i want this in my laptop (ie in the right screen not the left).
Here's my current xrandr setup:
Screen 0: minimum 320 x 200, current 2720 x 900, maximum 4096 x 4096
VGA1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 408mm x 255mm
1440x900 59.9*+ 75.0
1280x1024 75.0 60.0
1152x864 75.0
1024x768 75.1 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2
640x480 72.8 75.0 66.7 60.0
720x400 70.1
LVDS1 connected 1280x800+1440+0 (normal left inverted right x axis y axis) 331mm x 207mm
1280x800 60.0*+
1024x768 85.0 75.0 70.1 60.0
832x624 74.6
800x600 85.1 72.2 75.0 60.3 56.2
640x480 85.0 72.8 75.0 59.9
720x400 85.0
640x400 85.1
640x350 85.1
TV1 disconnected (normal left inverted right x axis y axis)
VGA1 is the external vga monitor and LVDS1 is my native laptop screen. I've tried doing
xrandr --output LVDS1 --primary --right-of VGA1
which puts the screens in the correct layout, but doesn't make LVDS1 the primary, unless i'm misunderstanding what "primary" means in this context. Does primary mean "where the desktop lives"?
I've downloaded grandr and arandr and mucked about in those and haven't achieved anything there.
What's annoying is that i can get it so that LVDS1 is the primary, with the desktop etc, if i set VGA1 to be on the right of the laptop, instead of the left. So, it seems like the primary always just goes to whatever is the leftmost display.
Here's my /etc/X11/xorg.conf
file in case it's relevant:
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
SubSection "Display"
Modes "1440x1440" "1440x900" "1280x1024" "1280x960" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
Virtual 2464 900
EndSubSection
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
Option "SHMConfig" "on"
Option "MaxTapTime" "0"
Option "MaxTapMove" "0"
EndSection
Any advice anyone? thanks, max
Solution 1:
There is bug report filed about this; it's been known about for a little while. Xfce (as of 4.11.0) treats the left/upper-most display as 'primary' regardless. Irritating and not just limited to laptops.
With two monitors statically arranged, you can emulate changing the primary display by explicitly moving the Panel(s). But with a laptop that isn't practical so you'll have to either:
- physically locate the external display on the right;
- get used to non-intuitive desktop wrapping behavior;
- roll up your sleeves and fix Xfce.
I tried option B for a while: the monitor physically left-ward of my primary was designated as "below." I didn't have to rearrange my desk and traversing left/right screen edges resulted in normal workspace wrapping.
Solution 2:
As far as I can tell, in the current version of xrandr the primary flag doesn't work with laptops. The primary monitor is always the one on the left, starting at 0x0. Very annoying, maybe it's a bug.
My solution was just to move the desktop panels and icons. Right click Panel > Panel Prefences > Output: VGA1 (or whatever monitor).
Solution 3:
'm trying to get a dual monitor setup working. I have a vga monitor plugged in and sitting to the left of my laptop.
try:
$ xrandr --output VGA1 --auto --left-of LVDS1
For your reference, mine is laptop (LVDS-1) and and a right-of vertical panel (VGA-1) working well.
$ xrandr Screen 0: minimum 320 x 200, current 2340 x 1440, maximum 8192 x 8192 LVDS-1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 303mm x 190mm 1440x900 60.0*+ 50.0 1152x864 60.0 1024x768 59.9 800x600 59.9 640x480 59.4 720x400 59.6 640x400 60.0 640x350 59.8 VGA-1 connected 900x1440+1440+0 left (normal left inverted right x axis y axis) 408mm x 255mm 1440x900 59.9*+ 75.0 1280x1024 76.0 75.0 72.0 60.0 1152x864 75.0 1024x768 75.1 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3 640x480 72.8 75.0 66.7 60.0 720x400 70.1 640x350 70.1 DVI-D-1 disconnected (normal left inverted right x axis y axis)
Solution 4:
It's a bug.
xfce4-display-settings: why is there no “Extend to the left”?
I have tried to explain why: here.
Workaround:
Extend to the left external monitor (which thus becomes the primary) then move all controls - namely the panel(s) - to the right (secondary) internal monitor, making it act as if it were the primary.
-
To extend to the left use a command like
xrandr --output LVDS1 --auto --right-of VGA1 --output VGA1 --auto
(whereLVDS1
is the internal display). It is very useful to add that to a panel or desktop launcher. -
Un-check the 'Span monitors' option and unlock the panel.
[][5]
- Drag & drop the panel onto the right (internal) monitor. (If that doesn't seem to work, make the panel vertical then move it, then make it horizontal if that's what you want.)
The panel position seems to be remembered after coming back to this display configuration and after restart.