Deprecating nautilus-sendto



Hey,

15 years ago, in another age, nautilus-sendto was created so that one
could easily send files from nautilus via email. Then via email and
Gaim. Via email, Gaim and Bluetooth. And Gajim. And now Pidgin not
Gaim. And then Empathy and UPnP servers. And then just email again,
because the UI was quite frankly absolutely awful.

But nautilus-sendto doesn't work in a sandbox. And there's pretty
similar but more capable code that can be run in xdg-desktop-portal-
gtk, the gnome-ish Flatpak/Snap portal.

So I would recommend that applications that use nautilus-sendto right
now, start using the portal D-Bus API directly instead:
https://github.com/flatpak/xdg-desktop-portal/blob/master/data/org.freedesktop.impl.portal.Email.xml

This is an example of using said API:
https://github.com/flatpak/flatpak-xdg-utils/blob/master/src/xdg-email.c

You could but I would not recommend using xdg-email if your application
will be used outside of a Flatpak because it will end up running this
code:
https://gitlab.freedesktop.org/xdg/xdg-utils/blob/master/scripts/xdg-email.in
which might, or might not work. It's brittle and ugly.

Note the regressions though:
- Some email clients are not as well supported in xdg-desktop-portal-gtk:
  https://github.com/flatpak/xdg-desktop-portal-gtk/issues/187
  https://github.com/flatpak/xdg-desktop-portal-gtk/issues/188
  https://github.com/flatpak/xdg-desktop-portal-gtk/issues/189
- There is no support for zipping files up before sending them. This
was only used by nautilus, and nautilus can replace/enhance this by
using its native archive support.

Here are a number of issues I filed against applications that use
nautilus-sendto:
  https://gitlab.gnome.org/GNOME/shotwell/issues/111
  https://gitlab.gnome.org/GNOME/evince/issues/1091
  https://gitlab.gnome.org/GNOME/rhythmbox/issues/1695
  https://gitlab.gnome.org/GNOME/nautilus/issues/928
  https://gitlab.gnome.org/GNOME/yelp/issues/141
  https://gitlab.gnome.org/GNOME/gnome-commander/issues/83

I'll have the code moved to the archives after the 3.32 release, at the
start of the new development cycle:
https://gitlab.gnome.org/Infrastructure/GitLab/issues/380

Cheers



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]