Mate Configure Display Settings Spacing of Rotated Displays

Bug #1723238 reported by layingback on 2017-10-12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu MATE

Bug Description

Discovered on clean 17.04 install on new Entroware, but suspect applies to all releases.

Configure 2 or more monitors via Mate Configure Display Settings (eg. System > Preferences > Hardware > Display): mate-display-properties.

If all (2 or 3) displays are configured as 'normal' (or 'upside down') everything works correctly, and monitor objects can be paced touching each other, and mouse cursor can travel across and between monitors after application.

Rotate 1 monitor - say the leftmost one - to 'left' or right', ie. portrait, and the display object rotates about its CENTRE and thus a gap is left between it and its neighbour. Saving/applying at this point will leave a portrait monitor that is inaccessible to any mouse traversal due to that gap. Indeed if mouse is on that monitor at the time of Apply, it will be trapped to that device as there are no adjacent edges.

Issue is caused by mate-display-properties always calculating the position of the subsequent display (working from left to right) on the LANDSCAPE WIDTH of the display regardless of its orientation, in this case portrait.

This can be demonstrated by editing the resultant ~/.config/monitors.xml to correct the x settings of all monitors other than the first taking into account the actual width of the rotated monitor. Eg. if Monitor 1 is 1920x1200 then monitor 2 will have been set with x = 1920. Correcting this to 1200 and mate-display-properties will display without a gap between monitors 1 & 2, and the mouse will traverse.

Looking at function lay_out_outputs_horizontally around line 875 of and there is no testing of orientation, just a simple x += width;

The workaround of editing monitors.xml is unsatisfactory because any use of mate-display-properties will undo and overwite it.

layingback (laying-back) wrote :

Steps to reproduce

Requirements: 2 monitors, eg a laptop with an external monitor (neither need to actually be rotatable).

Connect 2nd monitor so that Mate Configure Display Settings shows 2 monitors.

Set the left monitor to Rotation: left (or right). It will step away from the right monitor in the display. Move the rotated (portrait) monitor around and it will touch when below or to the right of the other monitor, but when left or above it will be off by landscape width - height: a gap when to the left and an overlap when above.

layingback (laying-back) wrote :

Have upgraded to 17.10 (20/Oct/17) and can confirm issue is unchanged and applies also to 17.10 U-M.

Victor Kareh (vkareh) wrote :
Changed in ubuntu-mate:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers