Skip to content

Don't declare StartupNotify=true in panel-specific desktop files

Mario Sanchez Prada requested to merge startup-notify into master

As per the Startup Notification Spec, when an application declares this in its desktop file, it the launcher (e.g. the shell) will initiate the startup process, expecting the launchee to finish it with a "remove" X message once it's ready, unless there's a failure launching it.

The problem here is that this panel-specific desktop files declaring that key confuses the shell, since it will make it initiate the startup process but then no "remove" message is ever received if g-c-c was already running, since the newly launched process will realize it's not the main instance and will exit gracefully after handing over control of the situation to the original process, with exit code 0, leaving the startup process unfinished.

Due to this, the shell will keep waiting for a supposedly new application (as per the the panel-specific desktop file used to launch) to finish, which will result in the cursor to keep spinning after the app is discarded by the shell on a timeout.

We should fix this in a more general way (see [2]), since apps exiting due to handing control over to a previous instance should still send the "remove" message, but in the meantime let's make our user's lives better by not declaring this key in any of the panel-specific desktop files.

[1] https://www.freedesktop.org/wiki/Specifications/startup-notification-spec [2] https://bugzilla.gnome.org/show_bug.cgi?id=795779

Merge request reports