]> spindle.queued.net Git - midori/commitdiff
Support mailto: by passing it to gtk_show_uri or Exo
authorChristian Dywan <christian@twotoasts.de>
Thu, 26 Mar 2009 22:46:36 +0000 (23:46 +0100)
committerChristian Dywan <christian@twotoasts.de>
Thu, 26 Mar 2009 22:46:36 +0000 (23:46 +0100)
midori/midori-view.c
midori/sokoke.c

index e6e9f0231c1885d78151374362d267552459756a..633b8312cd283fa12688e0c34c97cd502bb19faf 100644 (file)
@@ -1803,6 +1803,16 @@ midori_view_set_uri (MidoriView*  view,
         {
             midori_view_execute_script (view, &uri[11], NULL);
         }
+        else if (g_str_has_prefix (uri, "mailto:"))
+        {
+            if (!gtk_show_uri (NULL, uri, GDK_CURRENT_TIME, NULL))
+            {
+                /* Fallback to Exo for example if GConf isn't setup */
+                gchar* command = g_strconcat ("exo-open ", uri, NULL);
+                g_spawn_command_line_async (command, NULL);
+                g_free (command);
+            }
+        }
         else
         {
             katze_assign (view->uri, g_strdup (uri));
index c073e1fa7ef6f4239920da056c48d6aa6d4e399b..fc1e716d37c6da80eadbe55ac5e18647ae3c29d6 100644 (file)
@@ -220,8 +220,8 @@ sokoke_magic_uri (const gchar* uri,
     g_return_val_if_fail (!search_engines ||
         katze_array_is_a (search_engines, KATZE_TYPE_ITEM), NULL);
 
-    /* Just return if it's a javascript: uri */
-    if (g_str_has_prefix (uri, "javascript:"))
+    /* Just return if it's a javascript: or mailto: uri */
+    if (g_str_has_prefix (uri, "javascript:") || g_str_has_prefix (uri, "mailto:"))
         return g_strdup (uri);
     /* Add file:// if we have a local path */
     if (g_path_is_absolute (uri))