Comment 2 for bug 1065732

Revision history for this message
Mirco Bauer (meebey) wrote :

> If two instances of the same application are running, how should they appear in the messaging menu? Showing two application sections would be confusing, as there would be no way to tell which one activates which instance. Showing one section with two running indicators (triangles) would obfuscate which source originates in which instance.

IMHO the 2nd register would replace the 1st register and the 1st application no longer receives signals and messaging-menu ignores the requests (if it can identify the 1st instance). If it can't detect if the 1st instance makes calls, then the 2st instance should be ignored instead and 1st stays active.

> Also, when no instance of the application is running, how many sections should be shown? When one instance unregisters from the messaging menu (as a result of the user unchecking a box in preferences), but another instance is still running, should the sections disappear from the menu?

This does not happen, the application has a single desktop file and only registers in .config/indicators/messages/applications/* once. If no instance is running, it would never show more than one app section

> In general, the type of applications that appear in the messaging menu should not allow multiple instances. I can't think of a reason why empathy, thunderbird, or smuxi would need a second instance. In fact, it would be great if this decision leads to more single-instance apps ;)

I fully agree, those apps should never need a 2nd instance running. In the case of Smuxi it is a purely technical issue why I am not supporting single-instance yet.

>> I think this would be in the spirit of the new library to make it easy for application developers.
> Definitely! However, we couldn't find good answers to the above questions and decided to de-facto require apps to be single-instance.

Well, my point is that this is a "feature regression" from libindicate, which didn't have this issue :-)
Now I would need to fix something in Smuxi that wasn't an issue before...

> Supporting single-instance is really easy on Linux (either with GtkApplication or even with D-Bus directly).

This isn't true for GTK+2 apps and neither for cross-platform applications (other OSs have no D-Bus).

> Thank you! And thanks for updating smuxi so quickly.
Yeah, it was hard work, as C# has no out-of-the-box GIR support, and libmessaging-menu dropped the C# binding. I had to write the C# binding first (https://github.com/meebey/messagingmenu-sharp), then port Smuxi to the new API and make a special Ubuntu 12.10 release of Smuxi. And all that in 4 days :-D as the 12.10 release was getting so close! :-) Was a real hackothon...