aboutsummaryrefslogtreecommitdiff
path: root/hardinfo2/util.c
diff options
context:
space:
mode:
authorLeandro A. F. Pereira <leandro@hardinfo.org>2009-03-09 12:13:18 -0300
committerLeandro A. F. Pereira <leandro@hardinfo.org>2009-03-09 12:13:18 -0300
commitd549fee93bd47008773d50d158057350a85198c1 (patch)
treefbe778a93e9cbd4ee7b7b9484c1615068a5dc900 /hardinfo2/util.c
parent0d1d8f371c5c0f76d197db06bc7cc1558f2639f4 (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.c17
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);
}