Commit graph

10 commits

Author SHA1 Message Date
Rui Matos
1fe3f5c5fe display: Add support for mutter's global scale requirement
If mutter requires the same scale on all logical monitors we must
propagate a scale set on one monitor to the remaining ones or we'll
fail validation leaving users wondering why it doesn't work.

https://bugzilla.gnome.org/show_bug.cgi?id=790809
2018-01-21 12:24:54 -02:00
Rui Matos
245f796f4a display: Remove automatic layout adjustments
As the comment hinted at, fixing layouts automatically to ensure their
applicability doesn't actually work in all cases and in fact may force
users to redo their layout completely after a seemingly small change.

So, let's stop pretending we can do it and instead leave it to users
to fix it manually.

https://bugzilla.gnome.org/show_bug.cgi?id=789711
2017-11-13 18:31:39 +01:00
Rui Matos
a4a243cee4 display: Round scaled logical monitor sizes the same way mutter does
Mutter uses round() while we are just truncating via the implicit
double -> int type conversion, meaning that mutter will reject some
configurations that should work. Fix that by using the same rounding
as mutter.

https://bugzilla.gnome.org/show_bug.cgi?id=786919
2017-08-28 18:58:05 +02:00
Rui Matos
e4dc2995a3 display: Add a signal for scale changes
This will allows other bits of the UI to monitor scale changes.
2017-08-22 19:21:41 +02:00
Rui Matos
353236b576 display-config-dbus: Consider interlaced flag for similar modes
Otherwise we could end up picking an interlaced mode when we want a
non-interlaced one or vice-versa since they might have equal
refresh rates.

https://bugzilla.gnome.org/show_bug.cgi?id=785949
2017-08-09 19:27:08 +02:00
Rui Matos
7c89e30a47 display: Add some signals to the new configuration API
These will be useful to keep track of changes across different places
in the new UI.

https://bugzilla.gnome.org/show_bug.cgi?id=785949
2017-08-09 19:27:08 +02:00
Jonas Ådahl
c37ce6fcb4 display: Add is_interlaced() D-Bus implementation
Whether a mode is interlaced or not is now exported by adding a
'is-interlaced' (b) value to the mode properties variant. Implement the
is_interlaced() vfunc using this information.
2017-07-14 18:32:55 +02:00
Jonas Ådahl
252fd31762 display: Update to the new D-Bus API mode format
The mode format communicated via the new D-Bus API changed to
specifying modes using a per monitor unique mode ID string. The uint
'flags' was also changed to more flexible a{sv} 'properties' structure.
2017-07-14 18:32:55 +02:00
Marco Trevisan (Treviño)
cca9663d87 display: Adapt to new Mutter interface with scaling per mode
New Mutter GetCurrentState now provides a list of available scales, we
need to use these values in order to define an UI that shows them all.
2017-07-14 18:32:54 +02:00
Rui Matos
8a175d1106 display: Provide an implementation for mutter's new display config API
This adapts as much as possible mutter's new display config API to the
current display panel's expectations. In particular we keep the
concept of logical monitors hidden from the panel. They will later be
exposed when we re-design the panel to make full use of the new API.

https://bugzilla.gnome.org/show_bug.cgi?id=782785
2017-05-18 18:57:26 +02:00