Subject: bug#49504: Server support for Freedesktop.org startup notification

From: Peter Oliver <[email-masked]>
Date: Sat, 10 Jul 2021 12:43:39 +0100 (BST)

For a desktop environment, it’s helpful to know which execs caused which windows to be opened.  One way of doing this is with the Freedesktop.org startup notification protocol, https://specifications.freedesktop.org/startup-notification-spec/startup-notification-latest.txt.

We currently partially support this protocol in GTK builds, because GTK handles it for us automatically.  However, GTK can only automatically handle the simple case where emacs is launched and displays a window itself.

To support emacsclient, where the execed process is not necessarily an ancestor of the process displaying the window, as I understand it we’d need to do the following:

- Pass the value of the DESKTOP_STARTUP_ID environment variable from emacsclient to emacs.
- When opening a new frame at the request of emacsclient, call C function gtk_window_set_startup_id with the value from DESKTOP_STARTUP_ID.

-- 
Peter Oliver