GNOME Bugzilla – Bug 731166
display: Fix alignment when rotating displays
Last modified: 2014-06-05 15:18:54 UTC
.
Created attachment 277808 [details] [review] display: Split out rotation sanity checking
Created attachment 277809 [details] [review] display: Check whether the rotation changes when relayouting Otherwise we'll end up with a huge gap between monitors when rotating the leftmost.
Created attachment 277811 [details] [review] display: Move apply_rotation_to_geometry()
Created attachment 277812 [details] [review] display: Fix problems when left-most monitor is rotated When rotating the left-most monitor, we could end up with one of two scenarios: - Huge gap between monitor one and two when the left monitor is made to be vertical - Monitor two overlapping on top of monitor one when monitor is back to being horizontal. In addition to adding a bit more debug, we now take the old and new rotation of monitor one into account when calculating the moving screen edges.
Created attachment 277813 [details] [review] display: Remove shadowing variable
Created attachment 277883 [details] [review] display: Check whether the rotation changes when relayouting Consider whether rotation has changed when checking whether we need to relayout the screens. Before, we would only have changed the layout if the resolution changed. This doesn't fix the problem of the relayouting code not taking rotation into account, but it will at least allow us to run that code when only the rotation changes.
The patches look good to me. Existing misaligned configurations do not get corrected, but that is probably a separate issue.
Pushed to master and gnome-3-12 after review by Thomas Wood Attachment 277808 [details] pushed as 1e6ea54 - display: Split out rotation sanity checking Attachment 277811 [details] pushed as 27fa69a - display: Move apply_rotation_to_geometry() Attachment 277812 [details] pushed as 42b1209 - display: Fix problems when left-most monitor is rotated Attachment 277813 [details] pushed as b50e712 - display: Remove shadowing variable Attachment 277883 [details] pushed as 4ab4c18 - display: Check whether the rotation changes when relayouting