Using the appletproxy I have been able to debug this applet using kdbg[1]
The first series of SIGABT dealt with KickerTip in taskcontainer.cpp. I eventually just commented all the instances of the follow:
//KickerTip::Client::updateKickerTip();
I also commented
//installEventFilter(KickerTip::the());
in TaskContainer::init().
Then the applet would crash accessing KickerSettings::conserveSpace() in taskbar.cpp in function TaskBar::sizeHint(). I simply replaced the check:
Quote:
int rows = kickerSettings::conserveSpace() ? contentsRect().height() / minButtonHeight : 1;
with
Quote:
int rows = 1;
Now I'm stuck. The applet window appears with my tasks in it, but right away the applet crashes but not inside the taskbar-compiz code. Here's the Stack reported by KDBG:
Quote:
QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3
QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
QEventLoop::activateTimers () from /usr/lib/qt3/lib/libqt-mt.so.3
QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3
QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
kdemain () from /opt/kde3/lib/libkdeinit_appletproxy.so
?? ()
__libc_start_main () from /lib/libc.so.6
?? ()
I haven't coded anything in QT in years and have no experiencing coding with KDE libraries.
Hopefully, with what I have found here, it can spark a few ideas on how to fix this applet.
[1] Run: kdbg $KDEDIR/bin/appletproxy
Then set the argument to be: $KDEDIR/share/apps/kicker/applets/compiztaskbarapplet.desktop
In case it helps, I recompiled taskbar-compiz with --enable-debug=full. Here is the backtrace KDE gives me when I try to add taskbar-compiz applet.
Quote:
System configuration startup check disabled.
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[KCrash handler]
#6 0xb6db8339 in QApplication::internalNotify ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#7 0xb6db9126 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#8 0xb748e5e2 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#9 0xb6dad614 in QEventLoop::activateTimers ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#10 0xb6d67573 in QEventLoop::processEvents ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#11 0xb6dceec0 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#12 0xb6dced56 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#13 0xb6db7eaf in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0xb7ebd327 in kdemain () from /opt/kde3/lib/libkdeinit_kicker.so
#15 0x080484f2 in ?? ()
#16 0xb7d0ffe0 in __libc_start_main () from /lib/libc.so.6
#17 0x08048461 in ?? ()
I can confirm this as well.
I have tried recompiling, updating the automake file to use aclocal-1.10.
I have tried the various version from this repo:
http://download.opensuse.org/repositories/home:/MasterPatricko/
None of them seem to work.
I am using:
openSUSE 10.3
KDE 3.5.10
I have installed this on two computers. Both are using openSUSE 10.3 and are have the same updates (repos, etc.)
I am using KDE 3.5.9 release 65.2 on both machines.
I have edited the ktaskbarrc file as others have posted.
On the computer that it doesn't work, if I do:
dcop kicker Panel restart
Then the taskbar works. However, I do not want to do that each time I log in :)
I had it work fine on two computers running kubuntu gutsy. On the third kubuntu gutsy pc I had to edit
~/.kde/share/config/ktaskbarrc
and add:
[General]
ShowAllWindows=false
Are you sure that you are using this version and not old version? In layman is old version. Did you change background color in kcontrol like in second screenshot?
It works great except for the colors. For some reason, on my Kubuntu Feisty box, when I set a color and click OK, nothing changes. Am I missing something?
I don't know why it doesnt't work. Does normal taskbar change color? This taskbar and native use the same code, with only minor changes for viewport support. Maybe kubuntu has some other patches applied to kicker and kdelibs. I'm using gentoo where kde is almost clean and unmodified.
I'd like a version (or a configurable option) to show icons only, a-la dock. Just to have some reasonable, compact eyecandy, still functional taskbar, directly on kicker without going for a full dockbar.
Ratings & Comments
12 Comments
Using the appletproxy I have been able to debug this applet using kdbg[1] The first series of SIGABT dealt with KickerTip in taskcontainer.cpp. I eventually just commented all the instances of the follow: //KickerTip::Client::updateKickerTip(); I also commented //installEventFilter(KickerTip::the()); in TaskContainer::init(). Then the applet would crash accessing KickerSettings::conserveSpace() in taskbar.cpp in function TaskBar::sizeHint(). I simply replaced the check: Quote:
int rows = kickerSettings::conserveSpace() ? contentsRect().height() / minButtonHeight : 1;
with
Quote:
int rows = 1;
Now I'm stuck. The applet window appears with my tasks in it, but right away the applet crashes but not inside the taskbar-compiz code. Here's the Stack reported by KDBG:
Quote:
QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3
QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
QEventLoop::activateTimers () from /usr/lib/qt3/lib/libqt-mt.so.3
QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3
QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
kdemain () from /opt/kde3/lib/libkdeinit_appletproxy.so
?? ()
__libc_start_main () from /lib/libc.so.6
?? ()
I haven't coded anything in QT in years and have no experiencing coding with KDE libraries.
Hopefully, with what I have found here, it can spark a few ideas on how to fix this applet.
[1] Run: kdbg $KDEDIR/bin/appletproxy
Then set the argument to be: $KDEDIR/share/apps/kicker/applets/compiztaskbarapplet.desktop
In case it helps, I recompiled taskbar-compiz with --enable-debug=full. Here is the backtrace KDE gives me when I try to add taskbar-compiz applet. Quote:
System configuration startup check disabled.
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[KCrash handler]
#6 0xb6db8339 in QApplication::internalNotify ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#7 0xb6db9126 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#8 0xb748e5e2 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#9 0xb6dad614 in QEventLoop::activateTimers ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#10 0xb6d67573 in QEventLoop::processEvents ()
from /usr/lib/qt3/lib/libqt-mt.so.3
#11 0xb6dceec0 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#12 0xb6dced56 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#13 0xb6db7eaf in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0xb7ebd327 in kdemain () from /opt/kde3/lib/libkdeinit_kicker.so
#15 0x080484f2 in ?? ()
#16 0xb7d0ffe0 in __libc_start_main () from /lib/libc.so.6
#17 0x08048461 in ?? ()
Kicker crashes in KDE 3.5.10 when using this applet. It seems to compile fine, but won't play nice with kicker.
I can confirm this as well. I have tried recompiling, updating the automake file to use aclocal-1.10. I have tried the various version from this repo: http://download.opensuse.org/repositories/home:/MasterPatricko/ None of them seem to work. I am using: openSUSE 10.3 KDE 3.5.10
I have installed this on two computers. Both are using openSUSE 10.3 and are have the same updates (repos, etc.) I am using KDE 3.5.9 release 65.2 on both machines. I have edited the ktaskbarrc file as others have posted. On the computer that it doesn't work, if I do: dcop kicker Panel restart Then the taskbar works. However, I do not want to do that each time I log in :)
I had it work fine on two computers running kubuntu gutsy. On the third kubuntu gutsy pc I had to edit ~/.kde/share/config/ktaskbarrc and add: [General] ShowAllWindows=false
doesn't work anymore. all windows show up in kubuntu gutsy. worked for a day now doesn't.
Does not work with colors either (running on gentoo, kde 3.5.7 and compiz fusion 0.6.0) but works fine anyway.
Are you sure that you are using this version and not old version? In layman is old version. Did you change background color in kcontrol like in second screenshot?
It works great except for the colors. For some reason, on my Kubuntu Feisty box, when I set a color and click OK, nothing changes. Am I missing something?
I don't know why it doesnt't work. Does normal taskbar change color? This taskbar and native use the same code, with only minor changes for viewport support. Maybe kubuntu has some other patches applied to kicker and kdelibs. I'm using gentoo where kde is almost clean and unmodified.
I'd like a version (or a configurable option) to show icons only, a-la dock. Just to have some reasonable, compact eyecandy, still functional taskbar, directly on kicker without going for a full dockbar.