Desktop app maintainers: Please check for StartupNotify=true

Colin Walters walters at verbum.org
Mon Mar 15 14:33:58 UTC 2010


On Sun, Mar 14, 2010 at 5:40 PM, Ville Skyttä <ville.skytta at iki.fi> wrote:
>
> If an app uses GTK+ or Qt, does that alone always imply that it satisfies the
> desktop entry spec's requirements for StartupNotify=true, i.e. no further
> examination of the app's behavior is necessary?

The main tricky situation comes when the app implements
single-instance behavior internally, and does some sort of IPC (dbus,
whatever) to talk to an existing instance.  In GNOME 3 this doesn't
matter as much because we do single-instance by default, but otherwise
it's definitely possible to get the stale "Starting foo..." until it
times out.   Actually handling this correctly is tricky[1], and I just
noticed one of my apps doesn't.  Maybe I should really take the plunge
and backport app tracking to GNOME 2 which would obviate this.

But as a general rule: add it.  Even for the IPC case, it only occurs
if the user tries to relaunch an existing app, which (albeit without
data, but with some educated background) is unusual.  Without IPC,
having it has a 99.9% chance of being correct.

[1] libunique handles this, but see also my fix for my app here:
http://git.gnome.org/browse/hotssh/commit/?id=57c43b39413c5128983286f5c09cbaba6b397103

We have plans to basically make all this work out of the box when
using GTK+ but it blocks on gdbus.


More information about the devel mailing list