diff --git a/moo.mprj b/moo.mprj
index 8460fa32..13a0ea77 100644
--- a/moo.mprj
+++ b/moo.mprj
@@ -38,7 +38,7 @@
- /usr/share/aclocal-1.4/
+ /home/muntyan/projects/moo/build/optimized/
--g-fatal-warnings --new-app --mode=project
medit/medit
diff --git a/moo/mooutils/mooutils-misc.c b/moo/mooutils/mooutils-misc.c
index 8a86c1ae..1083c6cc 100644
--- a/moo/mooutils/mooutils-misc.c
+++ b/moo/mooutils/mooutils-misc.c
@@ -61,6 +61,7 @@ typedef enum {
KDE,
GNOME,
DEBIAN,
+ XFCE,
UNKNOWN
} Desktop;
@@ -75,10 +76,7 @@ static gboolean open_uri (const char *uri,
char *kfmclient = g_find_program_in_path ("kfmclient");
char *gnome_open = g_find_program_in_path ("gnome-open");
char *x_www_browser = g_find_program_in_path ("x-www-browser");
-
- if (want_browser && x_www_browser &&
- g_file_test ("/etc/debian_version", G_FILE_TEST_EXISTS))
- desktop = DEBIAN;
+ char *exo_open = g_find_program_in_path ("exo-open");
if (desktop == UNKNOWN)
{
@@ -100,6 +98,8 @@ static gboolean open_uri (const char *uri,
desktop = KDE;
else if (!g_ascii_strcasecmp (wm, "metacity") && gnome_open)
desktop = GNOME;
+ else if (!g_ascii_strcasecmp (wm, "xfwm4") && exo_open)
+ desktop = XFCE;
}
}
#endif /* GDK_WINDOWING_X11 */
@@ -112,6 +112,8 @@ static gboolean open_uri (const char *uri,
desktop = KDE;
else if (gnome_open)
desktop = GNOME;
+ else if (exo_open)
+ desktop = XFCE;
}
switch (desktop)
@@ -129,6 +131,12 @@ static gboolean open_uri (const char *uri,
argv[1] = g_strdup (uri);
break;
+ case XFCE:
+ argv = g_new0 (char*, 3);
+ argv[0] = g_strdup (exo_open);
+ argv[1] = g_strdup (uri);
+ break;
+
case DEBIAN:
argv = g_new0 (char*, 3);
argv[0] = g_strdup (x_www_browser);
@@ -167,6 +175,7 @@ static gboolean open_uri (const char *uri,
g_free (gnome_open);
g_free (kfmclient);
g_free (x_www_browser);
+ g_free (exo_open);
return result;
}