Show unpinned applications with available LauncherEntry DBus interface
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Plank |
Fix Released
|
Wishlist
|
Rico Tzschichholz |
Bug Description
Following up on bug 1155789, here's a finer point that's also required for "background notificators" use case: Plank should show the launcher not only if the relevant app has a window open, but also if it has a badge or progressbar.
This might be a not a good idea in the general case, but that's up to me to judge. If it isn't, we'll probably have to extend Unity's LauncherAPI instead.
Update-manager currently implements that using an ugly hack: it displays a window and then issues a minimize request. This usually causes flickering and other issues with the window manager, and doesn't allow e.g. checking for new email using a standalone lightweight daemon instead of running the whole email client UI.
Related branches
- Robert Dyer (community): Approve
-
Diff: 193 lines (+74/-24)4 files modifiedlib/Items/ApplicationDockItemProvider.vala (+46/-18)
lib/Items/DockItemPreferences.vala (+9/-0)
lib/Items/TransientDockItem.vala (+17/-6)
lib/libplank.symbols (+2/-0)
description: | updated |
summary: |
- [request] Show launchers in the dock if they have LauncherAPI clients + [request] Show launchers in the dock if they have a visible badge or + progressbar |
affects: | pantheon-dock → plank |
Changed in plank: | |
importance: | Undecided → Wishlist |
summary: |
- [request] Show launchers in the dock if they have a visible badge or - progressbar + Show unpinned applications with available LauncherEntry DBus interface |
Changed in plank: | |
assignee: | nobody → Rico Tzschichholz (ricotz) |
status: | New → In Progress |
I'm not sure that D-bus interface availability is a good indicator; I'd expect any app running in background and occasionally showing something in the dock to have its D-bus interface available at all times. That's what code examples from https:/ /wiki.ubuntu. com/Unity/ LauncherAPI do (I've checked with D-feet) and there seems to be no documented way to terminate the D-bus interface.
So I suggest also checking if either the badge or the progressbar is visible and only showing the icon if one of them is visible. Disregard the suggestion if terminating the D-bus interface client-side is reasonably easy and generally makes sense.