Subject: bug#49505: 28.0.50; Multiple launchers in GNOME

From: Lars Ingebrigtsen <[email-masked]>
Date: Wed, 25 May 2022 02:16:55 +0200

Tim Ruffing <[email-masked]> writes:

> 1. Unify the .desktop files
>
> I know this has been tried already and was reverted because that
> particular approach has forced users into using the daemon, which I
> fully agree was not a good idea. What we could do instead is to have
> have a single emacs.desktop that simply does the following:
>
> Try to connect to daemon and create a new frame, if there's no daemon,
> just launch a new instance (e.g., using emacsclient -a emacs).

[...]

> The only drawback of this approach is that ideally "New Window" would
> bring up a just a new frame but this will work only in daemon mode. In
> non-daemon mode, you'll get a new instance.

I think this sounds like a sound approach.  Can you prepare a patch for
this so we can try it out?

> But I'm not sure if this could be solved quickly because I'm not sure
> if there's a way to ask a non-daemon emacs to create a new frame. I
> think in the long-term we could for example use D-Bus activation [1]
> and make non-daemon emacs expose a dbus service that can create frames.
> But that's a larger project. Ideally there would be a "semi-daemon"
> mode, which is in between the daemon mode and the normal mode: The
> first invocation launches a daemon, further invocations (e.g., using
> emacsclient, or dbus) would just create new frames BUT if you close the
> last frame, no daemon will stay around. This would exactly match the
> behavior of other desktop applications.

Yes, that'd be nice.  Using dbus for this (perhaps via emacsclient?)
might be the right approach here.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no