Technobabble
Grokking Technology

Multiple Monitors on XFCE4

If you have configured X.org so that your display spans multiple monitors, usually when you login to an XFCE session, it will appear as if your monitors are simple clones of one another. You can use an xrandr tool to tweak your setup but if this is not called at an appropriate time in the startup sequence, some functionality may be lost with parts of your display being inaccessible to the mouse pointer.

A better way is to configure XFCE to match your desired display arrangement. However, at present (xfce-settings 4.10), there is no tool available to assist with configuring multiple monitors directly.

The Settings -> Display tool does allow configuration of screen resolution, rotation and enabling individual monitors; warning: using this tool to adjust display settings will reset or lose settings made manually for properties not explicitly offered as buttons in the tool (see below).

The Settings -> Settings Editor allows manipulation of all configuration items in particular the displays settings which are saved in the file displays.xml below

~/.config/xfce4/xfconf/xfce-perchannel-xml

Alternatively, the displays.xml file can be edited using your favourite editor.

The main requirement for multiple monitors is their arrangement relative to one another. This can be controlled by setting the Position properties (X and Y) to suit; an (x,y) position of 0,0 corresponds to the top, left position of the monitor array. This is the default position for all monitors and if several monitors are enabled they will appear as a cloned display area extending from this point.

To extend the display area correctly across both monitors:

Measurements are in pixels. As an example, a pair of monitors with nominal dimensions of 1920x1080 which are rotated by 90 and placed side-by-side can be configured with a displays.xml like this:

<channel name="displays" version="1.0">
 <property name="Default" type="empty">
   <property name="VGA-1" type="string" value="Idek Iiyama 23"">
     <property name="Active" type="bool" value="true"/>
     <property name="Resolution" type="string" value="1920x1080"/>
     <property name="RefreshRate" type="double" value="60.000000"/>
     <property name="Rotation" type="int" value="90"/>
     <property name="Reflection" type="string" value="0"/>
     <property name="Primary" type="bool" value="false"/>
     <property name="Position" type="empty">
       <property name="X" type="int" value="0"/>
       <property name="Y" type="int" value="0"/>
     </property>
   </property>
   <property name="DVI-0" type="string" value="Digital display">
     <property name="Active" type="bool" value="true"/>
     <property name="Resolution" type="string" value="1920x1080"/>
     <property name="RefreshRate" type="double" value="60.000000"/>
     <property name="Rotation" type="int" value="90"/>
     <property name="Reflection" type="string" value="0"/>
     <property name="Primary" type="bool" value="false"/>
     <property name="Position" type="empty">
       <property name="X" type="int" value="1080"/>
       <property name="Y" type="int" value="0"/>
     </property>
   </property>
 </property>
</channel>

Usually, editing settings in this way requires a logout/login to action them.

A new method for configuring multiple monitors will be available in the forthcoming xfce-settings 4.12 release.

This posting was originally posted to Arch Linux Wiki.


Page created on Sat 30 Jan 2021 by Andy Ferguson