Fancy Tasks

Plasma 4 Extensions

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

68
8.4
Description:

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!
Last changelog:

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.

C

Emdek

11 years ago

Thanks. :-)

That's known problem.
I've tried to fix it some times but I still don't know from where comes that strange margin.
I'll probably ask Plasma developers as it uses panel class developed by them.
But I can't guarantee that it will be fixed for 1.0, panel is still experimental addon only.

Report

mnurolcay

11 years ago

Got this error with KDE 4.3.4:

fancytasks-0.9.9/applet/FancyTasksIcon.cpp:52:32: error: Plasma/WindowEffects: No such file or directory

Report

C

Emdek

11 years ago

Thanks for report, should be fixed now. :-)

It's strange, I and testers compiled it on 4.3 which for sure has no header with this name (introduced in 4.4) and compiler did not complain...

Report

mnurolcay

11 years ago

Thanks for the quick response, works now;)

Report

gravy

11 years ago

It crashes in KDE SC 4.4 Beta 1, and it takes the whole plasma desktop with it.
For everything else, it's a great widget!

Report

C

Emdek

11 years ago

Thanks for report. :-)
You mean that it behaves like this when using it as panel or applet on desktop?
I'll probably start working on version optimized for KDE 4.4 during Christmas (now I'm still busy with working on my thesis...) and it will be probably based on current code with fixes with sits on my hard disc for long time (I need some time to fix important regression with task light painting) and it will use only native tool tips (most of needed changes were done in kdelibs now). After that I'll finish new task management library and create new interface using new technologies available in new Qt and KDE versions.
Stay tuned. ;-)

Report

szponzor

11 years ago

Hello!

I really like this dock,but where can i get themes for this?

Report

C

Emdek

11 years ago

Two additional themes are inside source package in themes/ directory.
It uses standard Plasma background format so you can try to use every SVG compatible with this specification:
http://techbase.kde.org/Projects/Plasma/Theme#Backgrounds_format

Report

szponzor

11 years ago

Thanks!

Report

dsfitzpat

11 years ago

First of all, great job on this panel, I like it a lot!
I noticed (as one or two other people mentioned I think) that my config settings weren't being saved - the panel returned to the default every time I logged in.
I checked the file .kde/share/config/plasma-desktop-appletsrc and found my setting there, but noticed that the old settings were there too - instead of over-writing, it makes a new configuration entry with a different number every time the config is changed - and it loads the oldest of these on login. Deleting the old entries seems to have fixed the problem - I now get my custom settings.

Report

C

Emdek

11 years ago

Thanks. :-)

This is strange issue, I need to talk about this problem with Plasma developers, maybe they could help...

Report

gzmorell

11 years ago

fancytasks seems to crash plasma when closing some applications.
I have noticed this closing krusader and also evolution.
Sometimes the application icon in the applet keeps bouncing after closing.
I am using Kubuntu 9.10 release. Fancytasks is version 0.9.8 and KDE 4.3.2
Is there any debug version of the package in order to include a better backtrace?

Include the backtrace:

-- Backtrace:
Application: Área de trabajo de Plasma (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb57ce700 (LWP 2023))]

Thread 2 (Thread 0xa50c0b70 (LWP 2024)):
#0 0xb77fe430 in __kernel_vsyscall ()
#1 0xb5f28e15 in [email protected]@GLIBC_2.3.2 () from
/lib/tls/i686/cmov/libpthread.so.0
#2 0xb60ec78d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3 0xb7601e67 in QWaitConditionPrivate::wait (this=0x99a2e50, mutex=0x99a2e4c,
time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4 QWaitCondition::wait (this=0x99a2e50, mutex=0x99a2e4c, time=4294967295) at
thread/qwaitcondition_unix.cpp:159
#5 0xb5e3a922 in QHostInfoAgent::run (this=0x99a2e40) at
kernel/qhostinfo.cpp:260
#6 0xb7600e32 in QThreadPrivate::start (arg=0x99a2e40) at
thread/qthread_unix.cpp:188
#7 0xb5f2480e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#8 0xb60df7ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb57ce700 (LWP 2023)):
[KCrash Handler]
#6 QBasicAtomicInt::operator!= (this=0x975c368, [email protected],
[email protected], [email protected], [email protected]) at
/usr/include/qt4/QtCore/qbasicatomic.h:69
#7 QHash<QString, Plasma::FrameData*>::detach (this=0x975c368,
[email protected], [email protected], [email protected], [email protected]) at
/usr/include/qt4/QtCore/qhash.h:281
#8 QHash<QString, Plasma::FrameData*>::operator[] (this=0x975c368,
[email protected], [email protected], [email protected], [email protected]) at
/usr/include/qt4/QtCore/qhash.h:717
#9 Plasma::FrameSvg::getMargins (this=0x975c368, [email protected],
[email protected], [email protected], [email protected]) at
../../plasma/framesvg.cpp:240
#10 0xa8a5d362 in ?? () from /usr/lib/kde4/plasma_applet_fancytasks.so
#11 0xa8a567b0 in ?? () from /usr/lib/kde4/plasma_applet_fancytasks.so
#12 0xa8a56da5 in ?? () from /usr/lib/kde4/plasma_applet_fancytasks.so
#13 0xb77013bf in QObject::event (this=0x97bc1b8, e=0x4) at
kernel/qobject.cpp:1075
#14 0xb69c3b64 in QGraphicsWidget::event (this=0x97bc1b8, event=0xbfb272a0) at
graphicsview/qgraphicswidget.cpp:1340
#15 0xb636af54 in QApplicationPrivate::notify_helper (this=0x8feffc0,
receiver=0x97bc1b8, e=0xbfb272a0) at kernel/qapplication.cpp:4056
#16 0xb637267c in QApplication::notify (this=0x8fc90c0, receiver=0x97bc1b8,
e=0xbfb272a0) at kernel/qapplication.cpp:3603
#17 0xb6dbabfa in KApplication::notify (this=0x8fc90c0, receiver=0x97bc1b8,
event=0xbfb272a0) at ../../kdeui/kernel/kapplication.cpp:302
#18 0xb76f16cb in QCoreApplication::notifyInternal (this=0x8fc90c0,
receiver=0x97bc1b8, event=0xbfb272a0) at kernel/qcoreapplication.cpp:610
#19 0xb771e7ce in QCoreApplication::sendEvent (this=0x8ff278c) at
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#20 QTimerInfoList::activateTimers (this=0x8ff278c) at
kernel/qeventdispatcher_unix.cpp:572
#21 0xb771c0e0 in timerSourceDispatch (source=0x8ff2758) at
kernel/qeventdispatcher_glib.cpp:165
#22 0xb5f70e78 in g_main_dispatch (context=0x8ff2090) at
/build/buildd/glib2.0-2.22.2/glib/gmain.c:1960
#23 IA__g_main_context_dispatch (context=0x8ff2090) at
/build/buildd/glib2.0-2.22.2/glib/gmain.c:2513
#24 0xb5f74720 in g_main_context_iterate (context=0x8ff2090, block=<value
optimized out>, dispatch=1, self=0x8fefac8) at
/build/buildd/glib2.0-2.22.2/glib/gmain.c:2591
#25 0xb5f74853 in IA__g_main_context_iteration (context=0x8ff2090, may_block=1)
at /build/buildd/glib2.0-2.22.2/glib/gmain.c:2654
#26 0xb771c02c in QEventDispatcherGlib::processEvents (this=0x8fefdb0,
flags=...) at kernel/qeventdispatcher_glib.cpp:327
#27 0xb640bbe5 in QGuiEventDispatcherGlib::processEvents (this=0x8fefdb0,
flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#28 0xb76efc79 in QEventLoop::processEvents (this=0xbfb27564, flags=) at
kernel/qeventloop.cpp:149
#29 0xb76f00ca in QEventLoop::exec (this=0xbfb27564, flags=...) at
kernel/qeventloop.cpp:201
#30 0xb76f253f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#31 0xb636add7 in QApplication::exec () at kernel/qapplication.cpp:3525
#32 0xb434480d in kdemain (argc=1, argv=0x8fa8ff0) at
../../../../plasma/shells/desktop/main.cpp:50
#33 0x0804dde1 in launch (argc=<value optimized out>, _name=<value optimized
out>, args=<value optimized out>, cwd=0x0, envc=0, envs=0x8f909e8 "",
reset_env=false, tty=0x0, avoid_loops=false,
startup_id_str=0x80511a5 "0") at ../../kinit/kinit.cpp:677
#34 0x0804ea35 in handle_launcher_request (sock=<value optimized out>,
who=<value optimized out>) at ../../kinit/kinit.cpp:1169
#35 0x0804eeac in handle_requests (waitForPid=<value optimized out>) at
../../kinit/kinit.cpp:1362
#36 0x0804fbaf in main (argc=2, argv=0xbfb27dc4, envp=0xbfb27dd0) at
../../kinit/kinit.cpp:1793

Report

C

Emdek

11 years ago

Thanks for backtrace. :-)
I'll try to find and fix reason when I'll return to home from boarding school at Friday.
I don't know if there is debug package it's a question for packagers. ;-)

Report

karma0321

11 years ago

Hi! thank you for this app... i just love it! i've been waiting for such a dock for kde4 since its early releases...
that's why i want to help you turning it into a stable killer-app ;)
that's what i noticed: if you set no sort for icons and you have some launcher with a customized icon, as soon as that app gets minimized, or whatever other action, plasma starts crashing.
i tried it with amule and firefox with customized icons... no way! on the other side, with other apps/sorting settings it's perfectly working.
Hope it was useful and easy to fix :D
cheers!

Report

karma0321

11 years ago

uh, i'm using fancy panel 0.9.8 on kubuntu 9.10.. just as you know

and by the way, there's another bug i forgot to tell you: if you add A LOT of launchers (and tasks of course) and the panel gets wide enough to go over the screen width, it auto cuts itself into a higher and shorter panel that only shows the first 4 or 5 icons.. the way to resolve it (till now) is just to reduce the height of the whole panel... it would be a great thing a sort-of auto resizing of icons on a too long panel.
cheers!

Report

C

Emdek

11 years ago

Thanks for report and idea. :-)

Do you get dialog with crash information when it happens? If it contains valid backtrace (you can paste it somewhere and put link in the comment) it could help in fixing it. But it will be done properly when I'll finish my libtaskmanager replacement which was designed to be used also in dock like managers (Fancy Tasks 2.0 will be based on it, when ready).

There is one problem with that issue with too big icons, applet needs to know that it has nor enough space (I'm not sure if it is possible to check it automatically). It could be done by specifying behaviour (static size or flexible with maximum and maybe minimum size). Also there are two ideas how it should behave then, one is smaller icons other is kind of scrolling interface (like in Raptor mockups or similar to new widget explorer).
Also these changes are planned for new milestone which will be started after releasing first stable version (I hope that it will be in this or next month, studies started again...) and will be available along updates for milestone 1.

Report

steveke

11 years ago

Hello again!

I have noticed that when a tooltip is clicked for an application that is grouped, and these windows are behind (unfocused), the window that is clicked in the tooltip is minimised rather that being raised - is that expected behaviour? Only it seems to me that the first click should raise the window and the second minimise it once raised.

As always, thanks for your attention and to let you know that I have become extremely dependent on the Fancy Panel now ;-)

Report

C

Emdek

11 years ago

Thanks for report. :-)

This is not intended.
I'll try to reproduce it, find reason and of course fix it or at least workaround.

Report

FSchulz

11 years ago

Yep, I also noticed that. Thanks for fixing this!

Report

FSchulz

11 years ago

I'm very happy with the new version and I use the stand alone version, so I don't need a seperate panel any more. The reason I wrote here is to post a bug. Sometimes, when I go over the plasmoid and I leave the plasmoid with the mouse, the plasmoid don't hide anymore. I use the autohide option. This error happens often. When I restart plasma, then the plasmoid acts the right way and hides automatical. So I have no idea, why it happens. With a normal panel, I don't have this bug.

Best regards!

Report

C

Emdek

11 years ago

Thanks for report. :-)
This is known issue, in my case Plasma often mixes settings for panels, for example autohide setting for Fancy Panel is applied to another one, the same for placement...
I'll try to find reason but probably these all issues come from one reason, nobody else uses custom panel containments so that use case was not tested extensively and there are no examples (except default panel but it is used to contain multiple applets).
It would be better if there could be hidden option for panel to set custom background, then that whole custom panel wouldn't be needed, it's only benefit is that it gives possibility to use own background. ;-)

Report

FSchulz

11 years ago

Ok, thanks for explaining this!

Report

industrie13

11 years ago

great app, thanks for all your development effort ;)
one question: ist magnification planed for fancy tasks?

Report

C

Emdek

11 years ago

Thanks. :-)

In general I'm thinking about adding new animations and improving current ones (especially when Kinetic will be finally available). And I'm thinking about system of plugins for adding animations, maybe I'll try to add this for next milestone.

Could you describe how magnification should look like? Is it similar to current zoom animation or something completely different?

Report

industrie13

11 years ago

hey, that sounds great.
yeah, i just mean the current zoom animantions, where you hover over an icon and it becomes bigger and the surrounding ones too, but these at a little bit smaller grade.

but if its already planned, I'll wait for this. nice. thanks and keep up ;)

Report

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.

12345678910
244
product-maker mirkogennari Dec 02 2016 9 excellent
product-maker Henri Nov 12 2012 9 excellent
product-maker skarapat Oct 26 2012 9 excellent
product-maker kaznovac Oct 04 2012 3 bad
product-maker Sweyn78 Aug 27 2012 9 excellent
product-maker darthroe Aug 04 2012 9 excellent
product-maker Lechio Jul 14 2012 9 excellent
product-maker lucaspatis Jul 13 2012 9 excellent
product-maker RAIDENSUB Jun 12 2012 9 excellent
product-maker Koali-Fran Jun 11 2012 9 excellent
product-maker ArthurTaborda Jun 11 2012 9 excellent
product-maker nowardev Jun 04 2012 3 bad
product-maker lazx888 Jun 01 2012 9 excellent
product-maker atimus May 15 2012 9 excellent
product-maker remix Apr 03 2012 9 excellent
product-maker e1nste1n Mar 21 2012 9 excellent
product-maker reves121 Mar 21 2012 9 excellent
product-maker erosenninrho Feb 27 2012 9 excellent
product-maker fri Feb 26 2012 9 excellent
product-maker rangerGR Jan 27 2012 9 excellent
product-maker gerstavros Dec 30 2011 9 excellent
product-maker pvt14 Dec 02 2011 9 excellent
product-maker brucew Dec 01 2011 9 excellent
product-maker 0712wc Sep 17 2011 9 excellent
product-maker gericom Aug 19 2011 9 excellent
product-maker Pyruzan Aug 05 2011 9 excellent
product-maker screemo Aug 05 2011 9 excellent
product-maker ObiWahn Aug 05 2011 9 excellent
product-maker soee Aug 05 2011 9 excellent
product-maker ctown Aug 05 2011 9 excellent
product-maker vitoubien Aug 05 2011 9 excellent
product-maker unikum111 Aug 05 2011 9 excellent
product-maker cyberconan Aug 05 2011 9 excellent
product-maker tcat Jun 26 2011 9 excellent
product-maker Sagittarius May 29 2011 9 excellent
product-maker unknownSpirit May 27 2011 9 excellent
product-maker maxvanceffer May 04 2011 9 excellent
product-maker adhalanay Mar 16 2011 9 excellent
product-maker terrorbaby92 Mar 03 2011 9 excellent
product-maker Apoclypse Jan 26 2011 9 excellent
product-maker gfretes Dec 29 2010 9 excellent
product-maker flanello Dec 23 2010 9 excellent
product-maker ZomAur Nov 09 2010 9 excellent
product-maker KDesk Nov 05 2010 9 excellent
product-maker melanias Nov 04 2010 9 excellent
product-maker phongth Oct 26 2010 9 excellent
Be the first to comment
darthroe
Aug 04 2012
swiftscythe
Jun 02 2012
ObiWahn
Mar 06 2012
erosenninrho
Feb 27 2012
abelau
Oct 24 2011
HATRED
Aug 19 2011
gericom
Aug 19 2011
soee
Aug 05 2011
cosmoslx
Jul 31 2011
tcat
Jun 26 2011
unknownSpirit
May 27 2011
sinozzuke
Apr 28 2011
denisfalqueto
Jan 23 2011
flanello
Dec 23 2010
edio
Aug 29 2010
VictorOnKde
Jun 20 2010
BenderBendingRodriguez
Jun 14 2010
Lole
Apr 28 2010
paran0idx
Apr 27 2010
stribianese91
Apr 27 2010
jajaxor
Apr 26 2010
MoonBlossom
Apr 11 2010
gzu
Feb 02 2010
Siminin
Jan 11 2010
flyingsheep
Jan 09 2010
Thule
Dec 30 2009
kenleyrob
Dec 27 2009
pvt14
Dec 26 2009
sabaal
Dec 24 2009
DreadKnight
Dec 20 2009
vkos
Nov 08 2009
dbenoot
Oct 16 2009
matteo81
Oct 06 2009
t3ddy
Sep 22 2009
faemir
Sep 13 2009
KMelon
Aug 25 2009
panzi
Aug 24 2009
sokar620
Aug 17 2009
mikala
Aug 17 2009
FSchulz
Aug 09 2009
iggybolly
Jul 28 2009
daltinn
Jul 24 2009
aidosl
Jun 06 2009
madsheytan
May 19 2009
pagesailor
May 17 2009
jzakrzewski
Apr 30 2009
jalpaka
Apr 24 2009
universe777
Apr 18 2009
mtz92
Mar 31 2009
marcotangaro
Mar 30 2009
Montblanc
Mar 27 2009
warlockrf
Mar 23 2009
tintix
Mar 19 2009
daelph
Mar 18 2009
Logicoh
Mar 11 2009
groo
Mar 11 2009
gimox
Mar 10 2009
mck182
Feb 28 2009
CobraDOT
Feb 26 2009
Znurre
Feb 25 2009
horchi
Feb 23 2009
pepedopolous
Feb 22 2009
arxus
Feb 21 2009
hash87
Feb 21 2009
oldfield
Feb 21 2009
lzfy
Feb 20 2009
Diablo
Feb 20 2009
mbaszczewski
Feb 20 2009
File (click to download) Version Description Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
1.1.2 "back in game"
updated Jun 10 2012
added Feb 20 2009
downloads 24h
0
mediaviews 24h 0
pageviews 24h 5