[gnome-flashback] display-config: add flags to MetaMonitorMode



commit f1d320b101268ba14d4c3c4807cc0311b752baa8
Author: Rui Matos <tiagomatos gmail com>
Date:   Tue Apr 21 17:49:55 2015 +0200

    display-config: add flags to MetaMonitorMode
    
    And export them in the DBus API since they're useful for
    gnome-control-center.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=763832

 .../libdisplay-config/flashback-display-config.c   |    7 ++++---
 .../libdisplay-config/flashback-monitor-manager.c  |    1 +
 .../libdisplay-config/flashback-monitor-manager.h  |    1 +
 .../org.gnome.Mutter.DisplayConfig.xml             |    3 ++-
 4 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/gnome-flashback/libdisplay-config/flashback-display-config.c 
b/gnome-flashback/libdisplay-config/flashback-display-config.c
index 3cfb637..d982625 100644
--- a/gnome-flashback/libdisplay-config/flashback-display-config.c
+++ b/gnome-flashback/libdisplay-config/flashback-display-config.c
@@ -300,7 +300,7 @@ handle_get_resources (MetaDBusDisplayConfig *skeleton,
 
   g_variant_builder_init (&crtc_builder, G_VARIANT_TYPE ("a(uxiiiiiuaua{sv})"));
   g_variant_builder_init (&output_builder, G_VARIANT_TYPE ("a(uxiausauaua{sv})"));
-  g_variant_builder_init (&mode_builder, G_VARIANT_TYPE ("a(uxuud)"));
+  g_variant_builder_init (&mode_builder, G_VARIANT_TYPE ("a(uxuudu)"));
 
   for (i = 0; i < manager->n_crtcs; i++)
     {
@@ -423,12 +423,13 @@ handle_get_resources (MetaDBusDisplayConfig *skeleton,
 
       mode = &manager->modes[i];
 
-      g_variant_builder_add (&mode_builder, "(uxuud)",
+      g_variant_builder_add (&mode_builder, "(uxuudu)",
                              i, /* ID */
                              (gint64) mode->mode_id,
                              (guint32) mode->width,
                              (guint32) mode->height,
-                             (double) mode->refresh_rate);
+                             (double) mode->refresh_rate,
+                             (guint32) mode->flags);
     }
 
   meta_dbus_display_config_complete_get_resources (skeleton,
diff --git a/gnome-flashback/libdisplay-config/flashback-monitor-manager.c 
b/gnome-flashback/libdisplay-config/flashback-monitor-manager.c
index ba71a3f..1a26882 100644
--- a/gnome-flashback/libdisplay-config/flashback-monitor-manager.c
+++ b/gnome-flashback/libdisplay-config/flashback-monitor-manager.c
@@ -1372,6 +1372,7 @@ read_current_config (FlashbackMonitorManager *manager)
       mode->width = xmode->width;
       mode->height = xmode->height;
       mode->refresh_rate = (xmode->dotClock / ((float)xmode->hTotal * xmode->vTotal));
+      mode->flags = xmode->modeFlags;
       mode->name = get_xmode_name (xmode);
     }
 
diff --git a/gnome-flashback/libdisplay-config/flashback-monitor-manager.h 
b/gnome-flashback/libdisplay-config/flashback-monitor-manager.h
index 4f70261..77ee2f8 100644
--- a/gnome-flashback/libdisplay-config/flashback-monitor-manager.h
+++ b/gnome-flashback/libdisplay-config/flashback-monitor-manager.h
@@ -164,6 +164,7 @@ struct _MetaMonitorMode
   int            width;
   int            height;
   float          refresh_rate;
+  guint32        flags;
 
   gpointer       driver_private;
   GDestroyNotify driver_notify;
diff --git a/gnome-flashback/libdisplay-config/org.gnome.Mutter.DisplayConfig.xml 
b/gnome-flashback/libdisplay-config/org.gnome.Mutter.DisplayConfig.xml
index 06449c3..d4d9227 100644
--- a/gnome-flashback/libdisplay-config/org.gnome.Mutter.DisplayConfig.xml
+++ b/gnome-flashback/libdisplay-config/org.gnome.Mutter.DisplayConfig.xml
@@ -115,6 +115,7 @@
        * x winsys_id: the low-level ID of this mode
        * u width, height: the resolution
        * d frequency: refresh rate
+       * u flags: mode flags as defined in xf86drmMode.h and randr.h
 
         Output and modes are read-only objects (except for output properties),
        they can change only in accordance to HW changes (such as hotplugging
@@ -133,7 +134,7 @@
       <arg name="serial" direction="out" type="u" />
       <arg name="crtcs" direction="out" type="a(uxiiiiiuaua{sv})" />
       <arg name="outputs" direction="out" type="a(uxiausauaua{sv})" />
-      <arg name="modes" direction="out" type="a(uxuud)" />
+      <arg name="modes" direction="out" type="a(uxuudu)" />
       <arg name="max_screen_width" direction="out" type="i" />
       <arg name="max_screen_height" direction="out" type="i" />
     </method>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]