[mutter/wip/carlosg/xwayland-initfd: 2/2] xwayland: Allow setting up maintenance processes



commit 8aeec308fb82fb01be7cda1250a93df1eace9716
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sat Jul 20 00:22:13 2019 +0200

    xwayland: Allow setting up maintenance processes
    
    This is made a signal, so the upper layers (read: gnome-shell) may
    decide what to spawn, whether to add a GSetting, and whatnot. The
    only signal argument contains the appropriate display to use for
    this kind of setup.

 src/core/display.c          | 8 ++++++++
 src/wayland/meta-xwayland.c | 3 +++
 2 files changed, 11 insertions(+)
---
diff --git a/src/core/display.c b/src/core/display.c
index 80acd114c..ed86e83ea 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -150,6 +150,7 @@ enum
   SHOWING_DESKTOP_CHANGED,
   RESTACKED,
   WORKAREAS_CHANGED,
+  INIT_XSERVER,
   LAST_SIGNAL
 };
 
@@ -480,6 +481,13 @@ meta_display_class_init (MetaDisplayClass *klass)
                   0, NULL, NULL, NULL,
                   G_TYPE_NONE, 0);
 
+  display_signals[INIT_XSERVER] =
+    g_signal_new ("init-xserver",
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST,
+                  0, NULL, NULL, NULL,
+                  G_TYPE_NONE, 1, G_TYPE_INT);
+
   g_object_class_install_property (object_class,
                                    PROP_FOCUS_WINDOW,
                                    g_param_spec_object ("focus-window",
diff --git a/src/wayland/meta-xwayland.c b/src/wayland/meta-xwayland.c
index 6c98d78a4..a5783fa13 100644
--- a/src/wayland/meta-xwayland.c
+++ b/src/wayland/meta-xwayland.c
@@ -590,6 +590,9 @@ on_displayfd_ready (int          fd,
    * that means it's ready. */
   xserver_finished_init (manager);
 
+  g_signal_emit_by_name (display, "init-xserver",
+                         manager->private_connection.display_index);
+
   if (meta_get_x11_display_policy () == META_DISPLAY_POLICY_ON_DEMAND)
     meta_display_init_x11 (display, NULL);
 


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