
Our D-Bus services don't make sense outside a GNOME session, so they shut down automatically when gnome-shell is not on the bus. However this does not only apply when activating a service from a non-GNOME session, but also when restarting gnome-shell on Xorg. This is particularly problematic for services that shut down automatically, as they lose all tracking state, even when re-activated. Address this by queuing a shutdown check instead of shutting down immediately, so that the service can pick up the new shell name provided it appears before the timeout (i.e. two seconds). Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7843 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3463>