-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126621/
-----------------------------------------------------------
(Updated Jan. 4, 2016, 10:50 nachm.)
Review request for Plasma, KDE Usability, Craig Drummond, Eike Hein, and Lukáš
Tinkl.
Changes
-------
* Address comments
* Use IconItem paintedWidth/paintedHeight from recent P-f
* Remove qDebug()s
* Allow badge for launchers with text
Bugs: 343632
https://bugs.kde.org/show_bug.cgi?id=343632
Repository: plasma-desktop
Description
-------
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) with the
respective application.
This functionality has been present in the Icon Tasks applet [2] in Plasma 4
times. libunity must be present for most applications to actually use this.
I did not want to pollute libtaskmanager with this, so I made it a plugin in
the Task Manager applet, which should also be fairly trivial to update to the
new Launcher API that Unity 8 is going to use [3], or if we come up with our
own solution at some point, maybe.
The primary focus is still the icons only task manager as the Unity API works
on a per-application/per-launcher basis rather than per-window, however, where
it makes sense the functonality is also offered to the traditional task
manager. A downside of this is that (in the current implementation, anyways) in
case you do not group your tasks and you have multiple windows of the same task
open, it will show the same information on all entries.
For progress it gradually fills up the background of the task (VDG: I need a
better graphic here, I currently abuse the "hover" tasks SVG, also I find the
"+2" badge less than optimal) in all cases. The badges are only shown if 1) the
cell is large enough 2) the label is *not* shown (ie. icon tasks manager or the
regular one in very narrow). The badge is just a circle in theme highlight
color, not an actual SVG - it cuts off part of the icon to provide more
contrast. The "urgent" state just highlights the entry as if it requested
attention, there's no wiggle animation and this is nowhere integrated with the
window manager, also I did not find an application that used this, so I have no
idea how it's used by them.
A video with the regular task manager on the top, a regular task manager and an
icon tasks applet in the left panel and an icon tasks applet on the desktop
(the latter is broken in the video, fixed in this patch) can be found here [4].
(There's still a ton of qDebug in the code at this point)
[1] https://wiki.ubuntu.com/Unity/LauncherAPI
[2] http://kde-apps.org/content/show.php/Icon+Tasks?content=144808
[3]
http://bazaar.launchpad.net/~unity-team/unity8/trunk/files/head:/plugins/Unity/Launcher/
[4] https://www.youtube.com/watch?v=aBPGjlP6Wd8
Diffs (updated)
-----
applets/taskmanager/CMakeLists.txt 3c94cb7
applets/taskmanager/package/contents/config/main.xml f89fd51
applets/taskmanager/package/contents/ui/ConfigGeneral.qml bd97506
applets/taskmanager/package/contents/ui/Task.qml 2a88886
applets/taskmanager/package/contents/ui/TaskBadgeOverlay.qml PRE-CREATION
applets/taskmanager/package/contents/ui/TaskProgressOverlay.qml PRE-CREATION
applets/taskmanager/plugin/smartlaunchers/smartlauncherbackend.h PRE-CREATION
applets/taskmanager/plugin/smartlaunchers/smartlauncherbackend.cpp
PRE-CREATION
applets/taskmanager/plugin/smartlaunchers/smartlauncheritem.h PRE-CREATION
applets/taskmanager/plugin/smartlaunchers/smartlauncheritem.cpp PRE-CREATION
applets/taskmanager/plugin/taskmanagerplugin.cpp 1be1fed
Diff: https://git.reviewboard.kde.org/r/126621/diff/
Testing
-------
I started a download in Chromium and got progress as well as a badge indicating
how many download jobs were in progress. Thunderbird also registered a launcher
on DBus but it never actually set a badge although I had unread mail. I copied
a folder in Dolphin and got proper progress; also I played around with
JobViewServer on DBus and it behaved correctly, even in case there were
multiple progresses in one application.
File Attachments
----------------
Unity Launchers
https://git.reviewboard.kde.org/media/uploaded/files/2016/01/03/c4c552a5-0449-47b1-a7f2-35ac20886cd0__unitylauncherstuff.png
Two unrelated windows
https://git.reviewboard.kde.org/media/uploaded/files/2016/01/03/3817426d-42e7-4aca-9478-2774f6908589__twounrelatedlaunchers.png
Dolphin copying a file (notification applet next to it for demo)
https://git.reviewboard.kde.org/media/uploaded/files/2016/01/04/4f200297-2c88-45fd-a986-8285203b6950__jobviewprogress.png
Config option
https://git.reviewboard.kde.org/media/uploaded/files/2016/01/04/24ab5241-1a10-45fe-8ede-923c678644a7__unitylauncherconfig.jpg
Thanks,
Kai Uwe Broulik
_______________________________________________
Plasma-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/plasma-devel