summaryrefslogtreecommitdiff
path: root/src/org.gnome.Mutter.DisplayConfig.xml
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2017-02-24 18:10:52 +0800
committerJonas Ådahl <jadahl@gmail.com>2017-04-07 22:30:48 +0800
commit8163ca68212ea17f40132eaac812a7b972d7fc47 (patch)
tree79c4f5e9681816294db20de05a2d2986502dcd60 /src/org.gnome.Mutter.DisplayConfig.xml
parent094e0356e854c7525c991bdd580b8c5d1b532e0c (diff)
downloadmutter-8163ca68212ea17f40132eaac812a7b972d7fc47.tar.gz
Add support for scaled logical monitor framebuffers
This commit adds support for rendering onto enlarged per logical monitor framebuffers, using the scaled clutter stage views, for HiDPI enabled logical monitors. This works by scaling the mode of the monitors in a logical monitors by the scale, no longer relying on scaling the window actors and window geometry for making windows have the correct size on HiDPI monitors. It is disabled by default, as in automatically created configurations will still use the old mode. This is partly because Xwayland clients will not yet work good enough to make it feasible. To enable, add the 'scale-monitor-framebuffer' keyword to the org.gnome.mutter.experimental-features gsettings array. It is still possible to specify the mode via the new D-Bus API, which has been adapted. The adaptations to the D-Bus API means the caller need to be aware of how to position logical monitors on the stage grid. This depends on the 'layout-mode' property that is used (see the DisplayConfig D-Bus documentation). https://bugzilla.gnome.org/show_bug.cgi?id=777732
Diffstat (limited to 'src/org.gnome.Mutter.DisplayConfig.xml')
-rw-r--r--src/org.gnome.Mutter.DisplayConfig.xml31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/org.gnome.Mutter.DisplayConfig.xml b/src/org.gnome.Mutter.DisplayConfig.xml
index 2c623c65b..bb48768d3 100644
--- a/src/org.gnome.Mutter.DisplayConfig.xml
+++ b/src/org.gnome.Mutter.DisplayConfig.xml
@@ -344,10 +344,34 @@
scale factors of logical monitors supported by the display server.
+ @layout_mode current layout mode represents the way logical monitors
+ are layed out on the screen. Possible modes include:
+
+ 1 : physical
+ 2 : logical
+
+ With physical layout mode, each logical monitor has the same dimensions
+ an the monitor modes of the associated monitors assigned to it, no
+ matter what scale is in use.
+
+ With logical mode, the dimension of a logical monitor is the dimension
+ of the monitor mode, divided by the logical monitor scale.
+
+
Possible @properties are:
* "supports-mirroring" (b): FALSE if mirroring not supported; TRUE or not
present if mirroring is supported.
+ * "layout-mode" (u): Represents in what way logical monitors are laid
+ out on the screen. The layout mode can be either
+ of the ones listed below. Absence of this property
+ means the layout mode cannot be changed, and that
+ "logical" mode is assumed to be used.
+ * 1 : logical - the dimension of a logical monitor is derived from
+ the monitor modes associated with it, then scaled
+ using the logical monitor scale.
+ * 2 : physical - the dimension of a logical monitor is derived from
+ the monitor modes associated with it.
-->
<method name="GetCurrentState">
<arg name="serial" direction="out" type="u" />
@@ -386,6 +410,13 @@
- "enable_underscanning" (b): enable monitor underscanning;
may only be set when underscanning
is supported (see GetCurrentState).
+
+ @properties may effect the global monitor configuration state. Possible
+ properties are:
+
+ * "layout-mode" (u): layout mode the passed configuration is in; may
+ only be set when changing the layout mode is
+ supported (see GetCurrentState).
-->
<method name="ApplyMonitorsConfig">
<arg name="serial" direction="in" type="u" />