Subject: Re: bug#76120: [PATCH] Expose the native sharing dialog (macOS)

From: Stefan Kangas <[email-masked]>
Date: Sun, 9 Feb 2025 07:12:34 -0800

Alvaro Ramirez <[email-masked]> writes:

> [email-masked] (sorry, missed adding earlier)
>
> Stefan Kangas <[email-masked]> writes:
>
>> Alvaro Ramirez <[email-masked]> writes:
>>
>>> Alvaro Ramirez <[email-masked]> writes:
>>>
>>>>  Thanks.  Does this functionality exist on free operating
>>>>  systems (most
>>>>  importantly on GNU/Linux)?
>>>>
>>>> Yup. Lots of options there. Here are a handful.
>>>>
>>>> - GSConnect:
>>>> https://github.com/GSConnect/gnome-shell-extension-gsconnect
>>>> - KDE Connect: https://kdeconnect.kde.org
>>>> - Desktop integration portal:
>>>> https://flatpak.github.io/xdg-desktop-portal
>>>> - Teleport: https://gitlab.gnome.org/jsparber/teleport
>>>
>>> Another resource
>>> https://flatpak.github.io/xdg-desktop-portal/docs/convenience-libraries.html
>>
>> Do they work with Emacs, or do we need to do more work first?
>
> There’s one already
> https://github.com/carldotac/kdeconnect.el. There may be more.

According to our guidelines, we must have the same functionality on
GNU/Linux before we can install it for a non-free system.[1]  This is
also documented in nextstep/README.

In other words, the feature you have proposed sounds useful, and we are
grateful for your contribution.  However, we really would need it
working on GNU/Linux, as a part of core, before we can install such a
feature on macOS.  The reasons for this are detailed in the link below,
but comes down to us not wanting to make Emacs better on non-free
operating systems than it is on free ones.

Would you or anyone else be interested in implementing this for
GNU/Linux as well?  I don't think we need perfect coverage of all
desktop environments, but it would be useful to support it on one or more
popular ones (for example Gnome or KDE).

This would also be a good opportunity to generalize the feature, so that
instead of having `ns-share`, we would have a command named `share-file`
or something like that.

Footnotes:
[1]  https://www.gnu.org/prep/maintain/maintain.html#Non_002dGNU_002donly-Features