--- a/scripts/xdg-email.in +++ b/scripts/xdg-email.in @@ -171,6 +171,38 @@ open_gnome3() fi } +open_mate() +{ + local client + local desktop + if gio help mime 2>/dev/null 1>&2; then + DEBUG 1 "Running gio mime \"x-scheme-handler/mailto\"" + desktop=`gio mime "x-scheme-handler/mailto" | grep -e 'x-scheme-handler\/mailto' | head -n 1 | sed -e 's|.*x-scheme-handler\/mailto.*\:[[:space:]]*\(.*\.desktop\)$|\1|'` + client=`desktop_file_to_binary "$desktop"` + echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1 + if [ $? -eq 0 ] ; then + run_thunderbird "$client" "$1" + fi + fi + + if gio help open 2>/dev/null 1>&2; then + DEBUG 1 "Running gio open \"$1\"" + gio open "$1" + elif gvfs-open --help 2>/dev/null 1>&2; then + DEBUG 1 "Running gvfs-open \"$1\"" + gvfs-open "$1" + else + DEBUG 1 "Running gnome-open \"$1\"" + gnome-open "$1" + fi + + if [ $? -eq 0 ]; then + exit_success + else + exit_failure_operation_failed + fi +} + open_gnome() { local client @@ -481,10 +513,14 @@ case "$DE" in open_gnome "${mailto}" ;; - gnome3|cinnamon|lxde|mate) + gnome3|cinnamon|lxde) open_gnome3 "${mailto}" ;; + mate) + open_mate "${mailto}" + ;; + xfce) open_xfce "${mailto}" ;;