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 | |
| parent | 0d1d8f371c5c0f76d197db06bc7cc1558f2639f4 (diff) | |
Make open_url() honor $BROWSER environment variable.
(Based on code by Guilhem Bonnefille, from Viking project.)
| -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);  } | 
