[Xfce4-commits] [xfce/xfce4-settings] 02/05: xfsettingsd: Start settings prior to complete startup (Bug #15725)

noreply at xfce.org noreply at xfce.org
Fri Jul 26 00:15:52 CEST 2019


This is an automated email from the git hooks/post-receive script.

o   c   h   o   s   i       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository xfce/xfce4-settings.

commit 9c4acaaf5ea233f342b20e709eed25f1be1915ac
Author: Olivier Fourdan <fourdan at xfce.org>
Date:   Fri Jul 19 14:05:00 2019 +0200

    xfsettingsd: Start settings prior to complete startup (Bug #15725)
    
    On session startup, various gtk based applications are launched concurrently.
    If we start the settings daemon simultaneously, those other apps fail to detect
    the settings and ignore the various preferences set via xsettings (themes,
    icons, etc.).
    
    Make sure we spawn all settings helpers  prior to declaring ourselves ready to the
    session manager.
    
    Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
---
 xfsettingsd/main.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/xfsettingsd/main.c b/xfsettingsd/main.c
index 4afc85a..ccb19ac 100644
--- a/xfsettingsd/main.c
+++ b/xfsettingsd/main.c
@@ -125,19 +125,6 @@ on_name_acquired (GDBusConnection *connection,
 
     s_data = (struct t_data_set*) user_data;
 
-    /* connect to session always, even if we quit below.  this way the
-     * session manager won't wait for us to time out. */
-    s_data->sm_client = xfce_sm_client_get ();
-    xfce_sm_client_set_restart_style (s_data->sm_client, XFCE_SM_CLIENT_RESTART_IMMEDIATELY);
-    xfce_sm_client_set_desktop_file (s_data->sm_client, XFSETTINGS_DESKTOP_FILE);
-    xfce_sm_client_set_priority (s_data->sm_client, 20);
-    g_signal_connect (G_OBJECT (s_data->sm_client), "quit", G_CALLBACK (gtk_main_quit), NULL);
-    if (!xfce_sm_client_connect (s_data->sm_client, &error) && error)
-    {
-        g_printerr ("Failed to connect to session manager: %s\n", error->message);
-        g_clear_error (&error);
-    }
-
     /* launch settings manager */
     s_data->xsettings_helper = g_object_new (XFCE_TYPE_XSETTINGS_HELPER, NULL);
     xfce_xsettings_helper_register (XFCE_XSETTINGS_HELPER (s_data->xsettings_helper),
@@ -155,6 +142,19 @@ on_name_acquired (GDBusConnection *connection,
     s_data->workspaces_helper = g_object_new (XFCE_TYPE_WORKSPACES_HELPER, NULL);
     s_data->gtk_decorations_helper = g_object_new (XFCE_TYPE_DECORATIONS_HELPER, NULL);
 
+    /* connect to session always, even if we quit below.  this way the
+     * session manager won't wait for us to time out. */
+    s_data->sm_client = xfce_sm_client_get ();
+    xfce_sm_client_set_restart_style (s_data->sm_client, XFCE_SM_CLIENT_RESTART_IMMEDIATELY);
+    xfce_sm_client_set_desktop_file (s_data->sm_client, XFSETTINGS_DESKTOP_FILE);
+    xfce_sm_client_set_priority (s_data->sm_client, 20);
+    g_signal_connect (G_OBJECT (s_data->sm_client), "quit", G_CALLBACK (gtk_main_quit), NULL);
+    if (!xfce_sm_client_connect (s_data->sm_client, &error) && error)
+    {
+        g_printerr ("Failed to connect to session manager: %s\n", error->message);
+        g_clear_error (&error);
+    }
+
     if (g_getenv ("XFSETTINGSD_NO_CLIPBOARD") == NULL)
     {
         s_data->clipboard_daemon = g_object_new (GSD_TYPE_CLIPBOARD_MANAGER, NULL);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list