Xfce – Can’t set primary monitor in xrandr

multiple-monitorsxfcexrandr

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

Best Answer

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:

  1. physically locate the external display on the right;
  2. get used to non-intuitive desktop wrapping behavior;
  3. 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.

Related Question