summaryrefslogtreecommitdiff
path: root/libs/pbd/openuri.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/pbd/openuri.cc')
-rw-r--r--libs/pbd/openuri.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/libs/pbd/openuri.cc b/libs/pbd/openuri.cc
new file mode 100644
index 0000000000..7c51dc55e9
--- /dev/null
+++ b/libs/pbd/openuri.cc
@@ -0,0 +1,28 @@
+#ifdef WAF_BUILD
+#include "libpbd-config.h"
+#endif
+
+#include <string>
+#include <glibmm/spawn.h>
+
+#include "pbd/openuri.h"
+
+bool
+PBD::open_uri (const char* uri)
+{
+#ifdef HAVE_GTK_OPEN_URI
+ GError* err;
+ return gtk_open_uri (0, uri, GDK_CURRENT_TIME, &err);
+#else
+#ifdef __APPLE__
+ extern bool cocoa_open_url (const char*);
+ return cocoa_open_url (uri);
+#else
+ std::string command = "xdg-open ";
+ command += uri;
+ Glib::spawn_command_line_async (command);
+
+ return true;
+#endif
+#endif
+}