aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/application-service-watcher.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/application-service-watcher.c b/src/application-service-watcher.c
index 006f3aa..13280ba 100644
--- a/src/application-service-watcher.c
+++ b/src/application-service-watcher.c
@@ -288,5 +288,36 @@ get_name_cb (DBusGProxy * proxy, guint status, GError * error, gpointer data)
return;
}
+ /* After we've got the name we can request upstart to trigger
+ the jobs of any application indicators that need to start
+ at desktop init time. */
+
+ GError * spawn_error = NULL;
+ gchar * argv[] = {
+ "initctl",
+ "--session",
+ "--user",
+ "emit",
+ "--no-wait",
+ "appindicators-start",
+ NULL,
+ };
+
+ g_spawn_async(NULL, /* Working Directory */
+ argv,
+ NULL, /* environment */
+ G_SPAWN_SEARCH_PATH,
+ NULL, NULL, /* child setup function */
+ NULL, /* Pid */
+ &spawn_error);
+
+ if (spawn_error != NULL) {
+ /* NOTE: When we get to the point where we can start
+ assuming upstart user sessions this can be escillated
+ to a warning or higher */
+ g_debug("Unable to signal appindicators-start to upstart: %s", spawn_error->message);
+ g_error_free(spawn_error);
+ }
+
return;
}