[mutter/wip/display-no-wayland: 12/33] Add the write side of the DBus protocol too
- From: Giovanni Campagna <gcampagna src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/display-no-wayland: 12/33] Add the write side of the DBus protocol too
- Date: Fri, 16 Aug 2013 14:39:39 +0000 (UTC)
commit 109efc96ccfa641f6d1249b22651e15d4b3979d7
Author: Giovanni Campagna <gcampagn redhat com>
Date: Fri Jul 19 16:38:04 2013 +0200
Add the write side of the DBus protocol too
This is just in the documentation for now, to attract wider feedback
before we start looking at how to implement this for real.
https://bugzilla.gnome.org/show_bug.cgi?id=705670
src/xrandr.xml | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 60 insertions(+), 1 deletions(-)
---
diff --git a/src/xrandr.xml b/src/xrandr.xml
index 4812267..6abd450 100644
--- a/src/xrandr.xml
+++ b/src/xrandr.xml
@@ -120,12 +120,71 @@
640x480 - 800x600 - 1024x768 default modes). Probably something
that we need to handle in mutter anyway.
-->
-
<method name="GetResources">
<arg name="serial" direction="out" type="u" />
<arg name="crtcs" direction="out" type="a(uxiiiiiuaua{sv})" />
<arg name="outputs" direction="out" type="a(uxiausaua{sv})" />
<arg name="modes" direction="out" type="a(uxuud)" />
</method>
+
+ <!--
+ ApplyConfiguration:
+ @serial: configuration serial
+ @persistent: whether this configuration should be saved on disk
+ @crtcs: new data for CRTCs
+ @outputs: new data for outputs
+
+ Applies the requested configuration changes.
+
+ @serial must match the serial from the last GetResources() call,
+ or org.freedesktop.DBus.AccessDenied will be generated.
+ (XXX: a better error maybe?)
+
+ If @persistent is true, mutter will attempt to replicate this
+ configuration the next time this HW layout appears.
+ (XXX: or is this gnome-settings-daemon role?)
+
+ @crtcs represents the new logical configuration, as a list
+ of structures containing:
+ - u ID: the API ID from the corresponding GetResources() call
+ - i new_mode: the API ID of the new mode to configure the CRTC
+ with, or -1 if the CRTC should be disabled
+ - i x, y: the new coordinates of the top left corner
+ the geometry will be completed with the size information
+ from @new_mode
+ - au outputs: the API ID of outputs that should be assigned to
+ this CRTC
+ - a{sv} properties: properties whose value should be changed
+
+ Note: CRTCs not referenced in the array will be disabled.
+
+ @outputs represent the output property changes as:
+ - u ID: the API ID of the output to change
+ - a{sv} properties: properties whose value should be changed
+
+ Note: both for CRTCs and outputs, properties not included in
+ the dictionary will not be changed.
+
+ Note: unrecognized properties will have no effect, but if the
+ configuration change succeeds the property will be reported
+ by the next GetResources() call, and if @persistent is true,
+ it will also be saved to disk.
+
+ If the configuration is invalid according to the previous
+ GetResources() call, for example because a CRTC references
+ an output it cannot drive, or not all outputs support the
+ chosen mode, the error org.freedesktop.DBus.InvalidArgs will
+ be generated.
+
+ If the configuration cannot be applied for any other reason
+ (eg. the screen size would exceed texture limits), the error
+ org.freedesktop.DBus.Error.LimitsExceeded will be generated.
+ -->
+ <method name="ApplyConfiguration">
+ <arg name="serial" direction="in" type="u" />
+ <arg name="persistent" direction="in" type="b" />
+ <arg name="crtcs" direction="in" type="a(uiiiaua{sv})" />
+ <arg name="outputs" direction="in" type="a(ua{sv})" />
+ </method>
</interface>
</node>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]