Another thing we can enable here:

- in .desktop files have a X-Launchable-Service=org.gnome.MyAppName
- this means the app supports the Launch() method

At that point, the panel can ignore the Exec= line and just do Launch() 
directly. This eliminates:
- fork/exec and dynamically linking the app
- connecting to the dbus session bus in the exec'd process
- connecting to the X server in gtk_init() in the exec'd process

This init stuff may be a noticeable short delay for users, and isn't 
needed since the app will just be forwarding to its existing instance 
then exiting.

If the panel is already on the session bus, and the app is already on 
the session bus, then calling Launch() is extremely cheap and instantaneous.

I don't know if this is user-visible but it might be, especially for 
apps with lots of initialization and setup, or that link to lots of 
libraries.

Havoc

_______________________________________________
desktop-devel-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to