@Matias: I can appreciate your frustration. I think it was mostly because of my criticism of the Dockmanager API that we didn't use it (so pitchforks in my general direction ;-)).
As the FAQ on https://wiki.ubuntu.com/Unity/LauncherAPI also explains I think the Dockmanager API is actively bad (sorry to be frank). We've seen a great many times (and I shall omit finger pointing) that thrashing DBus is a *very* bad thing to do. It affects app responsiveness and startup times (very) noticeably. But since we did (an do) need an API to talk o the launcher Neil and I quickly threw something together that would minimize the bus traffic while exposing only the minimal feature set that we wanted. And let me emphasize that this was how this DBus protocol was created - minimal and in haste. Hence the fat disclaimer in the description of it: "While the libunity is unstable, the DBus protocol underneath is even more so. We strongly discourage anyone from relying on it". My emphasis on minimizing bus traffic also explains why we check whether Unity is running before emitting property changes: it's to minimize chatter on the bus when Unity starts. Unity relies heavily on DBus and if we had 20 processes all fighting to set launcher states on startup this could easily add a second or so to the startup time. Sure - one could device a more clever protocol that could implement this optimization without depending explicitly on the com.canonical.Unity name, but as said we were in a rush to get this out so the simplest option was taken. To answer you last question Matias: the answer is "nothing would happen, everything would continue to work". Either Unity fails to start because it can't own the name - or it steals the name from your dock. But all of this doesn't matter to libunity as it only cares whether *anyone* owns the com.canonical.Unity name. And since the Update() message is a signal broadcast on the bus anyone (including 3rd party docks that ignores the disclaimer from the FAQ) can still listen to it. Phew long post. Hope it explains the state of things. PS: And let me add - no one on the Unity team desires the Launcher API/protocol to be a private thing necessarily. But we do care a great deal that it's an d API that behaves exactly like we need it to. So if someone comes up with and even better API (or want to design one) that works for all docks and launchers out there we are open to talk business :-) -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/811826 Title: Not possible for other docks to use Unity LauncherAPI To manage notifications about this bug go to: https://bugs.launchpad.net/libunity/+bug/811826/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs