summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/yelp-application.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/yelp-application.c b/src/yelp-application.c
index 92bb9dec..945b5176 100644
--- a/src/yelp-application.c
+++ b/src/yelp-application.c
@@ -357,12 +357,30 @@ YelpApplication *
yelp_application_new (void)
{
YelpApplication *app;
+ char *app_id = NULL;
+ char *yelp = NULL;
+
+ if (g_file_test ("/.flatpak-info", G_FILE_TEST_EXISTS)) {
+ GKeyFile *kf = g_key_file_new ();
+ g_key_file_load_from_file (kf, "/.flatpak-info", G_KEY_FILE_NONE, NULL);
+ if (g_key_file_has_group (kf, "Application"))
+ app_id = g_key_file_get_string (kf, "Application", "name", NULL);
+ else
+ app_id = g_key_file_get_string (kf, "Runtime", "name", NULL);
+ yelp = g_strconcat (app_id, ".Help", NULL);
+ g_key_file_unref (kf);
+ }
+ else {
+ yelp = g_strdup ("org.gnome.Yelp");
+ }
app = g_object_new (YELP_TYPE_APPLICATION,
- "application-id", "org.gnome.Yelp",
+ "application-id", yelp,
"flags", G_APPLICATION_HANDLES_COMMAND_LINE,
"inactivity-timeout", 5000,
NULL);
+ g_free (app_id);
+ g_free (yelp);
return app;
}