From e08cee0e828063eca4609b6052c24d293b36e0a7 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 12 Dec 2019 14:07:33 +0100 Subject: [PATCH] authenticator: Use g_app_info_launch_default_for_uri() to launch browser This way we get the system default. We still respect BROWSER if set which is useful for e.g. the tests or scripts. --- app/flatpak-cli-transaction.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/app/flatpak-cli-transaction.c b/app/flatpak-cli-transaction.c index d9d1399e3..38918310f 100644 --- a/app/flatpak-cli-transaction.c +++ b/app/flatpak-cli-transaction.c @@ -521,18 +521,25 @@ webflow_start (FlatpakTransaction *transaction, return FALSE; } + /* Allow hard overrides with $BROWSER */ browser = g_getenv ("BROWSER"); - if (browser == NULL) - browser = "xdg-open"; - - /* TODO: Use better way to find default browser */ - - args[0] = browser; - if (!g_spawn_async (NULL, (char **)args, NULL, G_SPAWN_SEARCH_PATH, - NULL, NULL, NULL, &local_error)) + if (browser != NULL) { - g_printerr ("Failed to spawn browser %s: %s\n", browser, local_error->message); - return FALSE; + args[0] = browser; + if (!g_spawn_async (NULL, (char **)args, NULL, G_SPAWN_SEARCH_PATH, + NULL, NULL, NULL, &local_error)) + { + g_printerr ("Failed to start browser %s: %s\n", browser, local_error->message); + return FALSE; + } + } + else + { + if (!g_app_info_launch_default_for_uri (url, NULL, &local_error)) + { + g_printerr ("Failed to show url: %s\n", local_error->message); + return FALSE; + } } g_print ("Waiting for browser...\n");