diff options
author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2009-03-09 12:13:18 -0300 |
---|---|---|
committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2009-03-09 12:13:18 -0300 |
commit | d549fee93bd47008773d50d158057350a85198c1 (patch) | |
tree | fbe778a93e9cbd4ee7b7b9484c1615068a5dc900 /hardinfo2/util.c | |
parent | 0d1d8f371c5c0f76d197db06bc7cc1558f2639f4 (diff) |
Make open_url() honor $BROWSER environment variable.
(Based on code by Guilhem Bonnefille, from Viking project.)
Diffstat (limited to 'hardinfo2/util.c')
-rw-r--r-- | hardinfo2/util.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/hardinfo2/util.c b/hardinfo2/util.c index a0a4fe1a..924b9b45 100644 --- a/hardinfo2/util.c +++ b/hardinfo2/util.c @@ -461,10 +461,15 @@ void open_url(gchar * url) "opera", "konqueror", "netscape", "links -g", NULL }; - gint i; - - for (i = 0; browsers[i]; i++) { - gchar *cmdline = g_strdup_printf("%s '%s'", browsers[i], url); + gint i = 0; + gchar *browser = (gchar *)g_getenv("BROWSER"); + + if (!browser || *browser == '\0') { + browser = (gchar *)browsers[i++]; + } + + do { + gchar *cmdline = g_strdup_printf("%s '%s'", browser, url); if (g_spawn_command_line_async(cmdline, NULL)) { g_free(cmdline); @@ -472,7 +477,9 @@ void open_url(gchar * url) } g_free(cmdline); - } + + browser = (gchar *)browsers[i++]; + } while (browser); g_warning("Couldn't find a Web browser to open URL %s.", url); } |