--- ./exo/exo-url.c.old 2008-04-23 00:12:28.000000000 -0700 +++ ./exo/exo-url.c 2008-04-23 00:16:00.000000000 -0700 @@ -241,14 +241,15 @@ /* determine the display name for the screen */ display_name = gdk_screen_make_display_name (screen); - /* check if we can translate the URL to a local path */ + /* check if we can translate the URL to a local path or it's a trash: URL */ local_path = _exo_url_to_local_path (url); - if (G_LIKELY (local_path != NULL)) + gboolean is_trash_url = strncmp (url, "trash:", 6) == 0; + if (G_LIKELY (local_path != NULL) || is_trash_url) { /* check if we have a local HTML file here */ - if (fnmatch ("*.xhtml", local_path, FNM_CASEFOLD) == 0 + if (!is_trash_url && (fnmatch ("*.xhtml", local_path, FNM_CASEFOLD) == 0 || fnmatch ("*.htm", local_path, FNM_CASEFOLD) == 0 - || fnmatch ("*.html", local_path, FNM_CASEFOLD) == 0) + || fnmatch ("*.html", local_path, FNM_CASEFOLD) == 0)) { /* transform the path to a file:-URI */ uri = g_filename_to_uri (local_path, NULL, error); @@ -262,7 +263,14 @@ else { /* make a shell quoted url to pass to other applications */ - quoted_url = g_shell_quote(local_path); + if (is_trash_url) + { + quoted_url = g_shell_quote(url); + } + else + { + quoted_url = g_shell_quote(local_path); + } /* but since we have a local file here, maybe the org.xfce.FileManager can open it? */ command = g_strdup_printf ("dbus-send --print-reply --dest=org.xfce.FileManager "