[gnome-flashback] monitor-config-manager: fallback to closed laptop lid configuration



commit 325ed5fb48ca5c4ed4b85473625249c46bfe0b7c
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Wed Apr 29 16:14:51 2020 +0300

    monitor-config-manager: fallback to closed laptop lid configuration
    
    Based on mutter commit:
    https://gitlab.gnome.org/GNOME/mutter/-/commit/e48516679c02bb265a80

 backends/gf-monitor-config-manager.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/backends/gf-monitor-config-manager.c b/backends/gf-monitor-config-manager.c
index ff78e70..695ea9b 100644
--- a/backends/gf-monitor-config-manager.c
+++ b/backends/gf-monitor-config-manager.c
@@ -866,23 +866,35 @@ GfMonitorsConfigKey *
 gf_create_monitors_config_key_for_current_state (GfMonitorManager *monitor_manager)
 {
   GfMonitorsConfigKey *config_key;
+  GfMonitorSpec *laptop_monitor_spec;
   GList *l;
   GList *monitor_specs;
 
+  laptop_monitor_spec = NULL;
   monitor_specs = NULL;
   for (l = monitor_manager->monitors; l; l = l->next)
     {
       GfMonitor *monitor = l->data;
       GfMonitorSpec *monitor_spec;
 
-      if (gf_monitor_is_laptop_panel (monitor) &&
-          gf_monitor_manager_is_lid_closed (monitor_manager))
-        continue;
+      if (gf_monitor_is_laptop_panel (monitor))
+        {
+          laptop_monitor_spec = gf_monitor_get_spec (monitor);
+
+          if (gf_monitor_manager_is_lid_closed (monitor_manager))
+            continue;
+        }
 
       monitor_spec = gf_monitor_spec_clone (gf_monitor_get_spec (monitor));
       monitor_specs = g_list_prepend (monitor_specs, monitor_spec);
     }
 
+  if (!monitor_specs && laptop_monitor_spec)
+    {
+      monitor_specs =
+        g_list_prepend (NULL, gf_monitor_spec_clone (laptop_monitor_spec));
+    }
+
   if (!monitor_specs)
     return NULL;
 


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