SF.net SVN: geany: [2675] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Tue Jun 10 13:51:46 UTC 2008


Revision: 2675
          http://geany.svn.sourceforge.net/geany/?rev=2675&view=rev
Author:   eht16
Date:     2008-06-10 06:51:45 -0700 (Tue, 10 Jun 2008)

Log Message:
-----------
Allow and use arguments to the browser command (closes #1989575).
Add 'xdg-open' as first browser fallback.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/utils.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-06-10 12:16:27 UTC (rev 2674)
+++ trunk/ChangeLog	2008-06-10 13:51:45 UTC (rev 2675)
@@ -1,3 +1,10 @@
+2008-06-10  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
+
+ * src/utils.c:
+   Allow and use arguments to the browser command (closes #1989575).
+   Add 'xdg-open' as first browser fallback.
+
+
 2008-06-10  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>
 
  * tagmanager/python.c:

Modified: trunk/src/utils.c
===================================================================
--- trunk/src/utils.c	2008-06-10 12:16:27 UTC (rev 2674)
+++ trunk/src/utils.c	2008-06-10 13:51:45 UTC (rev 2675)
@@ -62,33 +62,44 @@
 #ifdef G_OS_WIN32
 	win32_open_browser(uri);
 #else
-	const gchar *argv[3];
+	gchar *cmdline = g_strconcat(tool_prefs.browser_cmd, " ", uri, NULL);
 
-	argv[0] = tool_prefs.browser_cmd;
-	argv[1] = uri;
-	argv[2] = NULL;
+	if (! g_spawn_command_line_async(cmdline, NULL))
+	{
+		const gchar *argv[3];
 
-	if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL))
-	{
-		argv[0] = "firefox";
-		if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL))
+		argv[0] = "xdg-open";
+		argv[1] = uri;
+		argv[2] = NULL;
+		if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
+				NULL, NULL, NULL, NULL))
 		{
-			argv[0] = "mozilla";
-			if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL))
+			argv[0] = "firefox";
+			if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
+					NULL, NULL, NULL, NULL))
 			{
-				argv[0] = "opera";
-				if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL))
+				argv[0] = "mozilla";
+				if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH, NULL,
+						NULL, NULL, NULL))
 				{
-					argv[0] = "konqueror";
-					if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL))
+					argv[0] = "opera";
+					if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
+							NULL, NULL, NULL, NULL))
 					{
-						argv[0] = "netscape";
-						g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL);
+						argv[0] = "konqueror";
+						if (! g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
+								NULL, NULL, NULL, NULL))
+						{
+							argv[0] = "netscape";
+							g_spawn_async(NULL, (gchar**)argv, NULL, G_SPAWN_SEARCH_PATH,
+								NULL, NULL, NULL, NULL);
+						}
 					}
 				}
 			}
 		}
 	}
+	g_free(cmdline);
 #endif
 }
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list