
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
Plasmoid providing fancy visualization of tasks, launchers and jobs for those who need full power of task manager and fresh look.
Developed and tested on KDE 4.8 with Qt 4.8 (Kubuntu 12.04).
Some screen casts:
http://www.youtube.com/watch?v=n5i2S1xCKPk
http://www.youtube.com/watch?v=Wj4W6cqycl8
http://www.youtube.com/watch?v=zfqtnncLNcQ
Milestone 1.1 (current) will be last one using libtaskamanager and hopefully will be soon replaced by currently developed data engine based version (which should lower requirements back to KDE 4.6 or maybe earlier, depending on which one shipped first functional version of tasks data engine).
Milestone 2.0 will bring new dock management library which will allow for more advanced features. There will be also new, QML based, applet interface (might be available earlier, depends on progress on library).
Note that included panel was made only for test and could make various problems, use it on your own risk (I'll focus on it later).
This applet uses standard libtaskmanager like other task managers in KDE, so before you report bug check if it also happens in other applets (for example default Tasks applet).
Tips:
- to make applet more usable you can put it on panel with enabled option "Windows can cover" or similar;
- you can use theme with panel background similar to that of dock (for example Sabre Tiger) or modify current one using Desktop Theme Details;
- you can add launchers to applet by drag and drop of URLs and desktop files when Plasma is unlocked or using configuration dialog;
- to show only launchers you need to remove tasks area item from arrangement;
- to show application jobs you need to add jobs area.
Hidden options:
You can set them in applets configuration file (usually located at ~/.kde4/share/config/plasma-desktop-appletsrc), in group containing line plugin=fancytasks or plugin=fancypanel;
- initialZoomLevel - initial zoom level for zoom move animations (value ranging from 0 to 1, default: 0.7);
- paintBackground - decides if background should be painted or not (true or false, default: true);
- paintReflections - decides if icon reflection should be painted or not, note that it won't change icon size because of space allocation for drawing task indicators (true or false, default: true).
Features:
- manages your tasks, launchers and application jobs;
- tasks filtering, grouping (including manual) and sorting;
- keyboard navigation (Tab and Shift+Tab);
- launcher to task transition with custom connecting rules (icons of launchers with running tasks are hidden if sorting other than manual is enabled);
- tool tips with live preview of windows when KWin Taskbar Thumbnail effect is enabled;
- highlighting windows when hovering cursor over task or window preview when KWin Highlight Window effect is enabled;
- dropping files on launchers runs command with parameters or gives option to move, copy or link them (if target is directory);
- visual drop indicator that helps in manual tasks sorting and rearranging launchers;
- possibility to browse directories of directory launchers using context menu;
- possibility to add application menus;
- menu with list of all icons shown after activating keyboard shortcut;
- configurable animations (zoom, jump, bounce, highlight, etc.) and appearance (optional thumbnails and text label);
- fully animated icons (including animations of starting applications, tasks needing attention and application jobs progress).
If you have found bugs or have suggestions you can contact me via email, message or using comments, before you will vote bad.
And remember that not everybody has enough time for fast replying. ;-)
Don't be silly, don't vote bad just for fun!
8 years ago
1.1.2 (10.06.2012):
- increased task light size a bit;
- fixed label position for zoom animation;
- avoid hijacking of icons with launcher connected to task group (if grouping by program);
- clear thumbnail when launcher looses connected task.
1.1.1 (01.06.2012):
- reuse launcher icons by tasks also when using manual sorting;
- let startups connect to launcher icons (when there is no sorting or it set to manual);
- do not lose connection with launcher when group is created (if grouping by program);
- enable Apply button when configuration values are changed;
- do not propose to drop icon in place which equals its current index;
- enable Add / Remove action buttons;
- many other fixes and changes.
8 years ago
1.1.2 (10.06.2012):
- increased task light size a bit;
- fixed label position for zoom animation;
- avoid hijacking of icons with launcher connected to task group (if grouping by program);
- clear thumbnail when launcher looses connected task.
1.1.1 (01.06.2012):
- reuse launcher icons by tasks also when using manual sorting;
- let startups connect to launcher icons (when there is no sorting or it set to manual);
- do not lose connection with launcher when group is created (if grouping by program);
- enable Apply button when configuration values are changed;
- do not propose to drop icon in place which equals its current index;
- enable Add / Remove action buttons;
- many other fixes and changes.
Emdek
9 years ago
It's a bit too short to be useful (only one generic reference to Plasma...), could you reproduce that?
Report
unknownSpirit
9 years ago
I've got a wish though: more panel backgrounds.
Report
Emdek
9 years ago
Well, I'm not an artist, but there is another way to get more background images. In fact panel backgrounds from all Plasma themes should be usable (applet follows Plasma specification for theming).
Report
unknownSpirit
9 years ago
Unfortunately, I've recognized bugs.
Two things are bothering me:
Since installation, three plasma-widgets get weird after some time (that is: they are still working, but incorrectly)
Restarting plasma-desktop temporarily solves the problem, meaning I've to restart it about ten times a day if I want to have functional widgets.
I am not sure yet if the installation is just a coincidence and the whole plasma configuration is corrupt or it's really related to Fancy Tasks, but I'll find out as soon as I've more time to play with the environment.
One thing is for sure: the jobs section is not working for me either.
Each time a job completes, whole desktop crashes and restarts. I've made a log and hope it helps you to find the bug: http://tinyurl.com/67eav3n (first half may be irrelevant)
I hope you still support my old version.
Regards,
Report
Emdek
9 years ago
Which version are you using?
Report
unknownSpirit
9 years ago
The latest release of Cairo dock (glx-dock) eventually fixed a bug that deterred me from using it. Cairo's seperate implementation has ambivalent consequences: on the one hand it is independent from plasma's bugs (speed, mess of plasmoids' positions...), on the other one it cannot interfere with it (yet).
Regards,
Report
Emdek
9 years ago
Report
jfilipe
9 years ago
I realy note that Fancy Tasks crash many times, most when open or close apps that is has lancher, and its causes crash every plasma ! :-(
For other side, i've experimented cairo dock, a times ago, and this do not had a good integration in kde !
Maybe, if does not happens new version that fixes this, i go back to daisy (a good stable dock, but less effects), unless fancy tasks release new version
But, if you found another greater dock, tell me please ! loool
Bye
Report
Emdek
9 years ago
Without them it's impossible to fix bug if not possible to reproduce it. ;-)
And the main difference (and reason of most of crashes but also giving features) between those two applets is that mine still uses libtaskmanager (but hopefully it will be soon replaced by own solution).
Report
unknownSpirit
9 years ago
"ITS integration in plasma"
Report
unknownSpirit
9 years ago
With Daisy it's similar to Fancy Tasks: it's integration in plasma results in a take-over of all its benefits and limitations.
On my system (ubuntu), plasma-deskop's panels are slow.
I really do not why, but they are just not suitable for fluent (!) animation and quick response, especially with a high working load.
In contrast to the other two docks, Cairo-Dock is lightning fast and it is constantly fast.
I do not know what's the case with AWN, I have not tried it and I guess I won't do it as there's simply no need. Although Cairo-Dock certainly can't replace the whole desktop interface yet it satisfies my needs.
Report
unknownSpirit
9 years ago
Application: Plasma-Arbeitsfläche (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb5762700 (LWP 2235))]
Thread 2 (Thread 0xa62ffb70 (LWP 2245)):
#0 0xb7795430 in __kernel_vsyscall ()
#1 0xb5ebae15 in [email protected]@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2 0xb607f9ad in __pthread_cond_wait (cond=0x90d6138, mutex=0x90d6120) at forward.c:139
#3 0xb7595e67 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#4 0xb5dcc922 in ?? () from /usr/lib/libQtNetwork.so.4
#5 0xb7594e32 in ?? () from /usr/lib/libQtCore.so.4
#6 0xb5eb680e in start_thread (arg=0xa62ffb70) at pthread_create.c:300
#7 0xb6072a0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Thread 1 (Thread 0xb5762700 (LWP 2235)):
[KCrash Handler]
#6 QString (this=0x0) at /usr/include/qt4/QtCore/qstring.h:711
#7 FancyTasks::Job::title (this=0x0) at /home/user/Programme/fancytasks-1.0.0/applet/FancyTasksJob.cpp:227
#8 0xa727f964 in FancyTasks::Icon::title (this=0x93b5238) at /home/user/Programme/fancytasks-1.0.0/applet/FancyTasksIcon.cpp:1853
#9 0xa7283535 in FancyTasks::Icon::paint (this=0x93b5238, painter=0xbfd87ef8, option=0x93432d0, widget=0x92d4b28) at /home/user/Programme/fancytasks-1.0.0/applet/FancyTasksIcon.cpp:405
#10 0xb692697a in ?? () from /usr/lib/libQtGui.so.4
#11 0xb6931de1 in ?? () from /usr/lib/libQtGui.so.4
#12 0xb69341f4 in QGraphicsScene::drawItems(QPainter*, int, QGraphicsItem**, QStyleOptionGraphicsItem const*, QWidget*) () from /usr/lib/libQtGui.so.4
#13 0xb6941ebc in QGraphicsView::drawItems(QPainter*, int, QGraphicsItem**, QStyleOptionGraphicsItem const*) () from /usr/lib/libQtGui.so.4
#14 0xb694ebde in QGraphicsView::paintEvent(QPaintEvent*) () from /usr/lib/libQtGui.so.4
#15 0xb42c4dac in ?? () from /usr/lib/libkdeinit4_plasma-desktop.so
#16 0xb6353dd4 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#17 0xb6703633 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#18 0xb67a2494 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#19 0xb694c51f in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#20 0xb67a4a95 in ?? () from /usr/lib/libQtGui.so.4
#21 0xb768483a in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#22 0xb62fef2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#23 0xb63065ca in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#24 0xb6d4ebfa in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#25 0xb76856cb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#26 0xb635be25 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#27 0xb635c64d in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
from /usr/lib/libQtGui.so.4
#28 0xb635ba16 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#29 0xb64ea2f8 in ?? () from /usr/lib/libQtGui.so.4
#30 0xb634d116 in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4
#31 0xb6354215 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#32 0xb6703633 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#33 0xb67a2faa in QAbstractScrollArea::event(QEvent*) () from /usr/lib/libQtGui.so.4
#34 0xb694c406 in QGraphicsView::event(QEvent*) () from /usr/lib/libQtGui.so.4
#35 0xb42c6523 in ?? () from /usr/lib/libkdeinit4_plasma-desktop.so
#36 0xb62fef54 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#37 0xb63065ca in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#38 0xb6d4ebfa in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#39 0xb76856cb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#40 0xb76862b2 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#41 0xb768647d in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#42 0xb76b03ff in ?? () from /usr/lib/libQtCore.so.4
#43 0xb5f02e88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#44 0xb5f06730 in ?? () from /lib/libglib-2.0.so.0
#45 0xb5f06863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#46 0xb76b002c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#47 0xb639fbe5 in ?? () from /usr/lib/libQtGui.so.4
#48 0xb7683c79 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#49 0xb76840ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#50 0xb768653f in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#51 0xb62fedd7 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#52 0xb42bb80d in kdemain () from /usr/lib/libkdeinit4_plasma-desktop.so
#53 0x0804dde1 in _start ()
Report
Emdek
9 years ago
It looks like icon tries to retrieve job title after it's object is deleted, but that shouldn't be possible as if icon has only one job and no tasks etc. (otherwise it wouldn't try to get it's title but for example task title).
It should be possible to find reason by setting some traps in the code, if you are interested.
Report
unknownSpirit
9 years ago
I don't know what you mean by backtrace. My log shows significant close errors before segmentation fault, only occurring with the jobs section activated.
Report
nerdykid
9 years ago
Report
Emdek
9 years ago
http://websvn.kde.org/trunk/playground/base/plasma/applets/fancytasks/
(replace beginning of the link to get SVN URL)
But it's usually updated only when there is new release...
Report
Marcisaccount
10 years ago
(line 223)
I must restore the if then expression to Version 1.0.93 so that the Panel shows the Background Image again.
Sytem: Opensuse 11.3 with Kde 4.5.5 and QT 4.7 in both Version i586 / x64
Greets
Report
Emdek
10 years ago
Report
toadhall
10 years ago
it worked fine for a while but as I switched my box on today I once again started with the default set.
That brings to mind: is there any way to manipulate the default?
Cheers and keep up the good work :)
Report
Emdek
10 years ago
Most of applet (but not panel specific - like size, location etc.) settings are read in method configChanged() in applet/FancyTasksApplet.cpp.
I hope to finally find some time to finish that new panel but currently I'm forced to make money mode. ;-)
Report
sbjf
10 years ago
Report
Emdek
10 years ago
If there is shown crash information dialog then go to backtrace information, copy backtrace, upload to some text paste service and post link in comment.
Report
sbjf
10 years ago
http://pastebin.ca/1990016
looking through /var/log/messages I also found:
Nov 13 11:54:45 MUESLIMOBIL kernel: [40320.862950] plasma-desktop[21169]: segfault at 50 ip 00007fef3d6176b9 sp 00007fff59e6c9a0 error 4 in libQtGui.so.4.6.3[7fef3d270000+a29000]
My Qt Version is 4.6.3-8.1 and some packages are 4.6.3-9.1 (current ones for KDE SC 4.5.2 repo)
Report
Emdek
10 years ago
Could you install debug packages for fancytasks (at least) and for qtgui (but there will be probably only one bug for whole Qt...) and try to reproduce crash?
Report
masterdany88
10 years ago
I have been doing like you said in your INSTALL file in archive. and I get this compilation error
[ 17%] Generating ui_findApplication.h
Scanning dependencies of target plasma_applet_fancytasks
[ 20%] Building CXX object applet/CMakeFiles/plasma_applet_fancytasks.dir/plasma_applet_fancytasks_automoc.o
[ 23%] Building CXX object applet/CMakeFiles/plasma_applet_fancytasks.dir/FancyTasksApplet.o
In file included from /home/danielo/pobrane_Firefox/fancytasks-1.0.94/applet/FancyTasksApplet.cpp:59:
/usr/include/X11/extensions/Xcomposite.h:46:38: error: X11/extensions/composite.h: No such file or directory
/home/danielo/pobrane_Firefox/fancytasks-1.0.94/applet/FancyTasksApplet.cpp: In static member function 'static QPixmap FancyTasks::Applet::windowPreview(WId, int)':
/home/danielo/pobrane_Firefox/fancytasks-1.0.94/applet/FancyTasksApplet.cpp:1953: error: 'CompositeRedirectAutomatic' was not declared in this scope
make[2]: *** [applet/CMakeFiles/plasma_applet_fancytasks.dir/FancyTasksApplet.o] Error 1
make[1]: *** [applet/CMakeFiles/plasma_applet_fancytasks.dir/all] Error 2
make: *** [all] Error 2
An error occured during compilation!
Check if you have installed all needed header files.
bash-4.1#
please help
I use slackware 13.1 with native KDE 4.4.3 and compiz and cairo-dock. Before I start compiling I've installed this packages:
kdebase-workspace-4.4.3-i486-1.txz
konq-plugins-4.4.0-i486-1.txz
this packages I had already in my kde:
kdelibs
please give me some advice: what to do...
Report