diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2017-02-24 18:10:52 +0800 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2017-04-07 22:30:48 +0800 |
commit | 8163ca68212ea17f40132eaac812a7b972d7fc47 (patch) | |
tree | 79c4f5e9681816294db20de05a2d2986502dcd60 /src/org.gnome.Mutter.DisplayConfig.xml | |
parent | 094e0356e854c7525c991bdd580b8c5d1b532e0c (diff) | |
download | mutter-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.xml | 31 |
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" /> |