Bug 343632 - DockManager support (or similar interface) for displaying badges, progress bars etc. on icons
Summary: DockManager support (or similar interface) for displaying badges, progress ba...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Icons-only Task Manager (show other bugs)
Version: 5.2.0
Platform: unspecified All
: NOR wishlist
Target Milestone: 1.0
Assignee: Eike Hein
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-31 19:35 UTC by Thomas Backman
Modified: 2016-01-17 11:56 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.6.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Backman 2015-01-31 19:35:32 UTC
It would be nice if the icons-only task manager supported adding badges, showing progress bars etc. on task icons.

Badges are commonly used to show the number of unread messages or similar for e-mail/chat programs, or the number of unseen notifications for other types of programs such as download managers; progress bars speak for themselves, and can be nice for e.g. download managers or perhaps computation-heavy programs.

Several docks such as awn, Docky and cairo-dock support this, often via the DockManager DBus specification, which unfortunately doesn't seem to very *well* specified or documented.
There are several plugins for software such as Thunderbird and Pidgin to use this API to display information.

Having support for at least a subset of this API (for badges and perhaps progress bars via DBus) would be nice.

Reproducible: Always
Comment 1 Philipp A. 2015-12-19 11:03:19 UTC
the old icon-tasks had support for unity’s Launcher API: https://wiki.ubuntu.com/Unity/LauncherAPI

since they declare that the GLib-based C API is stable and the DBus API not, it makes sense to not keep compatibility here. KDE depending on GLib will (hopefully) never happen, else the floodgates are open for monoculture.

i found a spec for the DockManager API here: https://github.com/sandsmark/quassel-web/blob/6ba98cf72fee47e2b1bea2d8d62e0cab03922962/dev-notes/DockManager-spec.txt
Comment 2 Kai Uwe Broulik 2015-12-21 22:55:27 UTC
Note that starting in Plasma 5.6 we'll support at least the Desktop Actions (entitled "static quicklist entries" in the Unity Wiki linked above) in both the Task Managers and Application Launchers.
Comment 3 Philipp A. 2015-12-22 10:43:53 UTC
ah? using the (explicitly declared unstable) DBus API or the (GLib-based) C API?

if the former: is it actually stable and they just didn’t bother to remove this notice for some years,
Comment 4 Kai Uwe Broulik 2015-12-22 11:58:12 UTC
Using the official freedesktop specification [1].

[1] http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s10.html
Comment 5 Philipp A. 2015-12-22 13:42:52 UTC
ah sure, didn’t realize that this part was standardized.
Comment 6 Kai Uwe Broulik 2016-01-17 11:56:45 UTC
Git commit e284e9dc17051f22d05985e218fa44ddaba78de5 by Kai Uwe Broulik.
Committed on 17/01/2016 at 11:54.
Pushed by broulik into branch 'master'.

[Task Manager] Add support for Unity Launcher API and Application Jobs

This adds support for the Unity Launcher API [1] with which applications can show a progress
indicator, a number badge as well as demand the user's attention. It also shows application
progress, such as copying a file, at the respective application entry.

[1] https://wiki.ubuntu.com/Unity/LauncherAPI

REVIEW: 126621
FIXED-IN: 5.6.0

M  +5    -0    applets/taskmanager/CMakeLists.txt
M  +3    -0    applets/taskmanager/package/contents/config/main.xml
M  +7    -0    applets/taskmanager/package/contents/ui/ConfigGeneral.qml
M  +32   -2    applets/taskmanager/package/contents/ui/Task.qml
A  +90   -0    applets/taskmanager/package/contents/ui/TaskBadgeOverlay.qml     [License: GPL (v2+)]
C  +39   -33   applets/taskmanager/package/contents/ui/TaskProgressOverlay.qml [from: applets/taskmanager/plugin/taskmanagerplugin.cpp - 051% similarity]
A  +345  -0    applets/taskmanager/plugin/smartlaunchers/smartlauncherbackend.cpp     [License: GPL (v2+)]
A  +135  -0    applets/taskmanager/plugin/smartlaunchers/smartlauncherbackend.h     [License: GPL (v2+)]
A  +207  -0    applets/taskmanager/plugin/smartlaunchers/smartlauncheritem.cpp     [License: GPL (v2+)]
A  +104  -0    applets/taskmanager/plugin/smartlaunchers/smartlauncheritem.h     [License: GPL (v2+)]
M  +4    -0    applets/taskmanager/plugin/taskmanagerplugin.cpp

http://commits.kde.org/plasma-desktop/e284e9dc17051f22d05985e218fa44ddaba78de5