[mutter] monitor-manager: Expose output_is_laptop() method



commit ab6c008e3ef64484fe1f1774b2f6ed62df6a1d9e
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Apr 21 17:29:44 2016 +0200

    monitor-manager: Expose output_is_laptop() method
    
    We currently duplicate the heuristics of whether an output is considered
    a laptop or not. Avoid this by sharing a small helper method.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=765267

 src/backends/meta-monitor-config.c          |   16 +---------------
 src/backends/meta-monitor-manager-private.h |    1 +
 src/backends/meta-monitor-manager.c         |   22 +++++++++++++++-------
 3 files changed, 17 insertions(+), 22 deletions(-)
---
diff --git a/src/backends/meta-monitor-config.c b/src/backends/meta-monitor-config.c
index a934613..238305d 100644
--- a/src/backends/meta-monitor-config.c
+++ b/src/backends/meta-monitor-config.c
@@ -917,20 +917,6 @@ key_is_laptop (MetaOutputKey *key)
 }
 
 static gboolean
-output_is_laptop (MetaOutput *output)
-{
-  /* FIXME: extend with better heuristics */
-  switch (output->connector_type)
-    {
-    case META_CONNECTOR_TYPE_eDP:
-    case META_CONNECTOR_TYPE_LVDS:
-      return TRUE;
-    default:
-      return FALSE;
-    }
-}
-
-static gboolean
 laptop_display_is_on (MetaConfiguration *config)
 {
   unsigned int i;
@@ -1092,7 +1078,7 @@ find_primary_output (MetaOutput *outputs,
 
   for (i = 0; i < n_outputs; i++)
     {
-      if (output_is_laptop (&outputs[i]))
+      if (meta_output_is_laptop (&outputs[i]))
         return i;
     }
 
diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h
index 1b80299..7cda017 100644
--- a/src/backends/meta-monitor-manager-private.h
+++ b/src/backends/meta-monitor-manager-private.h
@@ -398,6 +398,7 @@ void                meta_monitor_manager_confirm_configuration (MetaMonitorManag
 
 void               meta_output_parse_edid (MetaOutput *output,
                                            GBytes     *edid);
+gboolean           meta_output_is_laptop  (MetaOutput *output);
 
 void               meta_crtc_info_free   (MetaCRTCInfo   *info);
 void               meta_output_info_free (MetaOutputInfo *info);
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index 56a52bb..4849e3f 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -511,14 +511,8 @@ make_display_name (MetaMonitorManager *manager,
   g_autofree char *inches = NULL;
   g_autofree char *vendor_name = NULL;
 
-  switch (output->connector_type)
-    {
-    case META_CONNECTOR_TYPE_LVDS:
-    case META_CONNECTOR_TYPE_eDP:
+  if (meta_output_is_laptop (output))
       return g_strdup (_("Built-in display"));
-    default:
-      break;
-    }
 
   if (output->width_mm > 0 && output->height_mm > 0)
     {
@@ -1464,6 +1458,20 @@ meta_output_parse_edid (MetaOutput *meta_output,
     meta_output->serial = g_strdup ("unknown");
 }
 
+gboolean
+meta_output_is_laptop (MetaOutput *output)
+{
+  /* FIXME: extend with better heuristics */
+  switch (output->connector_type)
+    {
+    case META_CONNECTOR_TYPE_eDP:
+    case META_CONNECTOR_TYPE_LVDS:
+      return TRUE;
+    default:
+      return FALSE;
+    }
+}
+
 void
 meta_monitor_manager_on_hotplug (MetaMonitorManager *manager)
 {


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