Support more Unity features (quicklist, urgent properties) #1245
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds support for the two properties of a libunity LauncherEntry object not yet supported: "quicklist" and "urgent". Quicklist entries are added to the right-click menu of the launcher as dynamic menu items. The urgent flag, if set, gives the icon a short dancing animation to call attention to it. These features don't seem to be widely used by applications, but there's a bit of a chicken-and-egg problem here; why would application authors spend time writing code to use them if they aren't supported by the desktop?
I encountered some trouble with the libunity communication, and I also had some trouble understanding the intent of the original libunity integrating code, so I took the liberty of refactoring it into a pattern that, among other advantages, is more robust to multiple DBus applications contending for the same LauncherEntry. Hopefully you see it as an improvement too; I can try to back it out if not, but it did make adding these two features much easier.
I've been using this branch for the better part of a year now, and tested the new features with my own custom applications; it all has been working quite well for me. I hope it does some good for someone else.