Katapult-Fast Track

Various KDE 1.-4. Improvements

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

0
5 .0
Description:

This is a Katapult fork based on the KDE SVN repository. It fixes several outstanding issues of upstream Katapult. Unfortunately, Katapult development stagnated and no progress has been made upstream for half a year. I recently got a response from the project manager of katapult. If you don't think I should hand the changes over upstream, send me a suggestion for a name or else we'll see what we can do to incorporate my changes back into the original katapult.

Improvements over last stable Katapult release:
* Support for multiple results (Press up or down keys to see more results)
* Support for multiple actions (Press left or right keys to see more actions)
* Adaptive search
* Threaded architecture
* Non-blocking DCOP calls

Kudos to the team for providing the framework for multiple results, multiple actions, and multithreaded catalogs.

Caveats:
* Currently, only the program and bookmark catalogs actually return more than one result at a time.
* Only the program catalog supports adaptive search.
* Only the amarok catalog has multiple actions.

What this means for YOU:
* The amarok catalog should not slow down Katapult if you have a big collection of songs.
* The amarok catalog can now queue songs and add songs to the current playlist
* The program catalog will adapt to your launching preferences (i.e. no more "Konquest" results when all you want is "Konqueror")
* You no longer have to type more letters (press the down key to choose something else)

What is still lacking:
* Testing. Especially for the amarok catalog. I only have a couple of GB worth of songs so I can't speak for everyone but this should be an improvement over the last release.
* Spell catalog. I've tried everything to get KSpell to play nice with separate threads (i.e. call KSpell in the main thread, block the worker thread till KSpell is done, then pass the result to the worker thread) but it just won't work.
* Localization. I need translations. You could of course just ./configure the katapult-0.3.2 sources and make install inside only the po directory.

INSTALLATION:
Read the INSTALL file included. For the impatient, it is now CMake based. So either create a build directory or run
[quote]cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR -DREALTRANSPARENCY=1 .[/quote]
within the source directory.

To avoid crashes due to missing display plug-ins or catalogs, make sure the prefix you use is the same as kde-config --prefix or kde3-config --prefix (not sure about that though) for Kubuntu users.


The command should look something like cmake -DCMAKE_INSTALL_PREFIX=/usr -DREALTRANSPARENCY=1 .

using backticks (i.e. `kde-config --prefix`) instead of $KDEDIR might do the trick.

Then make and install as root.

Simply remove the -DREALTRANSPARENCY=1 switch to disable composite support.

USAGE
Real transparency:
Run a compositing window manager such as compiz before launching katapult-fast track. If you switch from KWin to compiz/beryl while Katapult-Fast Track is running, you have to restart Katapult-Fast Track for real transparency to work. Likewise, shifting to KWin from compiz/beryl requires restarting the program.

Amarok catalog:
Amarok must be running first.

Google and exec catalogs:
Type the keyword (either "google" or "exec" without the quotation marks using the defaults) before entering your query.

For any problems, either leave something here or post something at the Katapult forums. I'll get back to you as soon as I can. Please include how to reproduce your problems.
Last changelog:

13 years ago

---------------
0.1.2
- Add real transparency support
- Enable google and exec catalogs
- Theoretically fix a possible crash for duplicate programs
- Switch to CMake

0.1.1
- Fix crashes due to o2 display plug-in
- Add myself to the authors list

Ekardnam

13 years ago

>> The old Katapult and this fork don't detect changes to the menu made when Katapult is running. The work around is to go to the settings dialog and press ok.

I know this "problem", but I've restarted Katapult FT many times and it still doesn't find the items, which aren't newly added (they've been there for a year or more I believe). So it's really strange. I'll try the old version of Katapult again when I get back to my Linux box to see if there are many more differences.

>> Btw, fixed real transparency support. Will be adding it, along with bugfixes, within the week. Stay tuned. :)

If you can enable/disable real transparency at runtime, it would be very nice. I've disabled composite at the moment (crashed sometimes), so unfortunately I can't use real transparency.

One thing I would like to see for the Amarok Catalog is a small notice when you queue a track; most of the time Amarok is in my system tray, so I can't see if it really got queued. Maybe you could use the Amarok OSD, it shouldn't be too hard with DCOP, is it? A option to turn this on/off would be great too ;)

Finally, a question: is there any ETA for when the IM Catalog will be "finished" (as in usable)? At the moment it doesn't seem to return anything.
To be able to start a conversation with someone on Kopete by typing his/her e-mail/nickname (etc.), that would be awesome.

Report

C

dilettante

13 years ago

Doesn't the amarok OSD only show the current playing track? The DCOP function doesn't have any arguments.

Anyway, for programs, check the options for the programs catalog. Maybe you didn't have icons and had "ignore applications without icons" checked. There really shouldn't be any difference in the programs it finds because I didn't modify anything there.

With regards to the IM catalog, I haven't really touched code that didn't cause problems except if I needed to add features. So I guess I'll take a look at it after I finish the stuff I want to do first (maybe in a month or so). :)

Report

Ekardnam

13 years ago

>> Anyway, for programs, check the options for the programs catalog. Maybe you didn't have icons and had "ignore applications without icons" checked.

Gah! Now I feel really stupid.
[x] Ignore applications without icons
[x] Ignore terminal applications

So it wasn't a bug after all.

>> Doesn't the amarok OSD only show the current playing track? The DCOP function doesn't have any arguments.

Ah, that's a shame. I think it would be good with a hint that the track was queued (and maybe also show it's nummer in the queue), but I guess I just have to rely on Katapult. ;)

Report

sango

13 years ago

I removed the old katapultrc, so every problem should come from fasttrack itself.

1) K-FT crashes when I try to deactivate a catalog.

2) It crashes when i change the display.

3) Sometimes, it crashes when I change the configuration.

4) There is an IM-catalog in both sections, the active and deactivated catalogs.

5) It often lose the input-focus.

6) I freeze very often (for example when i start an action), mostly with an extremly high xorg-loading. I use the default-display.

BTW It seems, after i remove the IM- and document-catalog direct in the katapultrc, most of the bugs are gone. At least 1) and 2) and 4) is'nt now a problem.

Report

sango

13 years ago

Ok, 1) and 2) are back. So the error isn't related with the deactivated catalogs.

Report

C

dilettante

13 years ago

Give me your system specs.

If you run gdb katapult it will tell you were the program crashed. I could use that information.

The activating/deactivating catalog issue is a QDict/thread related issue. Display crashes usually come from missing plug-ins.

Report

sango

13 years ago

It seems, the QDict-problem, let also crash katapult if the config is changed.

Another problem seems the access of amaroks database. I think, Katapult freezes, when it should display some songs.

Report

C

dilettante

13 years ago

Like my reply to one of the messages above, if you were using the o2 display plug-in get the new version.

A backtrace would also be helpful. configure it with ./configure --enable-debug=full.

Report

sango

13 years ago

LIke i wrote before, i don't use the o2-display. Here is an backtrace with the newest version, from the crash when i change the display:

###############################
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1208432944 (LWP 10332)]
[KCrash handler]
#5 0x00000011 in ?? ()
#6 0xb79d0cca in ProgramCatalog::saveLaunchCounts (this=0x81cd460)
at programcatalog.cpp:88
#7 0xb79d1031 in ~ProgramCatalog (this=0x81cd460) at programcatalog.cpp:58
#8 0x080579f2 in QDict<KatapultCatalog>::deleteItem (this=0x8184450,
d=0x81cd460) at /usr/share/qt3/include/qdict.h:97
#9 0x4b6841ad in QGDict::clear () from /usr/lib/libqt-mt.so.3
#10 0x08057fc7 in QDict<KatapultCatalog>::clear (this=0x8184450)
at /usr/share/qt3/include/qdict.h:75
#11 0x08058fe3 in KatapultSettings::loadCatalogPlugins (this=0x81843e8)
at katapultsettings.cpp:294
#12 0x08059cda in KatapultSettings::configure (this=0x81843e8)
at katapultsettings.cpp:133
#13 0x08059d9c in KatapultSettings::qt_invoke (this=0x81843e8, _id=4,
_o=0xbfc6263c) at katapultsettings.moc:114
#14 0x4b38be4b in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#15 0x4b38c8f0 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#16 0x4a2e7c09 in KAction::activated () from /usr/lib/libkdeui.so.4
#17 0x4a325392 in KAction::slotActivated () from /usr/lib/libkdeui.so.4
#18 0x4a3ed4fd in KAction::slotPopupActivated () from /usr/lib/libkdeui.so.4
#19 0x4a3ed7c1 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#20 0x4b38be4b in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#21 0x4b7180a0 in QSignal::signal () from /usr/lib/libqt-mt.so.3
#22 0x4b3abdde in QSignal::activate () from /usr/lib/libqt-mt.so.3
#23 0x4b4b24db in QPopupMenu::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3
#24 0x4a2eea5e in KPopupMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.4
#25 0x4b3c2c1d in QWidget::event () from /usr/lib/libqt-mt.so.3
#26 0x4b323020 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#27 0x4b3251de in QApplication::notify () from /usr/lib/libqt-mt.so.3
#28 0x4a0d0df2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#29 0x4b2b581d in QApplication::sendSpontaneousEvent ()
from /usr/lib/libqt-mt.so.3
#30 0x4b2b415f in QETWidget::translateMouseEvent () from /usr/lib/libqt-mt.so.3
#31 0x4b2b256c in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#32 0x4b2c9740 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#33 0x4b33d6f6 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#34 0x4b33d506 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#35 0x4b324bc9 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#36 0x08054466 in main (argc=) at main.cpp:73

Report

C

dilettante

13 years ago

Hi sango,

It appears that the program launch counter in Katapult-Fast Track is passed deleted items. Are you receiving "Ignored duplicate item" messages for programs?

Also, how large is your amarok database? Have you tried running without the amarok catalog? If so, does the freezing behavior still occur?

Report

sango

13 years ago

Ah, for the amarok-catalog, amarok must running. Now it works, also without freeze.

Report

sango

13 years ago

Yes, there are some duplicate Items from the applications and bookmarks.

The freezing appears also without amarok.
But i found out, with the glass-display it doesn't appear and xorg has a normal load.

But now, the Amarok-Catalog isn't working correctly :-?

Report

C

dilettante

13 years ago

But it still crashes?

I'll have a fix it up sometime tomorrow which should theoretically fix the crashes as well as other reported bugs.

Report

tog000

13 years ago

The features you announce sound awesome, I tries to test them, but the program cashed right away, when starting (I think).
I have no way to reproduce this, cause the configuration the making and the install went fine, no errors or anything.

My setup is:

kde-3.5.7
qt-3.3.8
gcc-4.1.2 (i686-pc-linux-gnu-4.1.2)

Any help will be appreciated

Report

C

dilettante

13 years ago

If you were using the o2 display plug-in try downloading the new version. Removing the ~/.kde/share/config/katapultrc might help.

What does the backtrace look like?

Report

tog000

13 years ago

It seems that there were some files left from the original katapult, since now after deleting te original, fast track its working fine.

Really good program. Congratulations.

Report

747419

13 years ago

dilettante, I made a long reply to your Questions yesterday ('re: Needs some more work') but somehow it did not appear here, so I am opening another thread.

I am running a Athlon Thunderbird at 1365 MHz, 510 MB RAM with a 32bit SuSE, 3D-support is off.

Forget about the kicker-behaviour, it only occurs when I am using kicker during the freeze and seems to be an independent process.

You'll have to explain 'disabling catalogues' a bit more, since I only see an option to switch off the Mozilla-bookmarks-search, which does not change anything, same with moving
katapultrc... I also tried to change some more settings (more or less randomly), but that does not affect the freezes. Um... maybe I'll do a 'strace katapult' later - if you could give me a hint how to grep the output (would be insane to put the whole output on kde-apps).

Report

C

dilettante

13 years ago

Well, I'm running a 5-year old thunderbird at 1400MHz with just about the same amount of RAM so your system should be able to run the program fine based solely on your hardware.

>> You'll have to explain 'disabling catalogues' a bit more
Go to the settings dialog box. Click on "Catalogs". You should see two list boxes. Select catalogs from the right list box and click the arrow pointing to the left. I guess the design of the dialog box is a bit misleading because you tend to assume the Catalogs part is just a heading. I'll see what I can do about that in the future.

>> Um... maybe I'll do a 'strace katapult' later - if you could give me a hint how to grep the output (would be insane to put the whole output on kde-apps).
Hmmm... The original authors set a 20ms timer that wastes a lot of CPU. The strace output will most probably be mostly connected to the timer. Based on your system specs, the timer shouldn't be much of an issue though. You could clean up the output by removing all the "gettimeofday" calls. You could mail me the output. My address is in the AUTHORS file.

Report

747419

13 years ago

» Well, I'm running a 5-year old thunderbird at 1400MHz with just about the same amount of RAM so your system should be able to run the program fine based solely on your hardware.

I'm sure it is not a hardware issue, since the original Katapult does run without a flaw.

» I guess the design of the dialog box is a bit misleading because you tend to assume the Catalogs part is just a heading.

True, that's why I was overlooking this. Switching off catalogues does help, when no catalogue at all is activated - but well... that makes Katapult a little pointless :) . Even when only the calculator is activated, the behaviour of freezing is there again.

Kay, I'll mail you some (hopefully cleaned) strace-outputs, and since my prob seems to be pretty isolated, we'll do further bughunting by mail.

Report

Ekardnam

13 years ago

I use almost only Katapult to launch applications - for often used apps, I have keyboard shortcuts. Also Alt+F2 to launch things Katapult can't find and to use commands like 'kdesu application'.

It's great to see that one of my favorite apps is being improved. The new features sound very promising.

Maybe you could include the patch here for real transparency: http://kde-apps.org/content/show.php/Real+Transparency+for+Katapult+0.3.1.4?content=55287
If I remember correctly, there is an option to enable/disable composite with this patch, but I'm not sure if it worked to disable it.

Regarding the name, I don't think "Fast track" is a good name; there is already a p2p protocol called FastTrack.

Report

C

dilettante

13 years ago

It's my patch :) It's not that easy... I had issues with the amarok catalog using CMake. I'm clueless about the autotools so I used CMake to enable/disable real transparency at compile time. I also added support for enabling it at run time except I didn't upload that version because the amarok catalog compiled using cmake wouldn't work for some reason.

Wrt the name, I know Fast Track is a long shot because it's been used for other products (like a technology for FPGA's). I could end up getting sued for using it. Still preferred using something that expressed speed but had a 'k' in it. ;)

Report

Ekardnam

13 years ago

>> It's my patch :)

Haha, how could I miss that.

I tried Fast Track now. It compiled fine, but when I press the shortcut keys (alt+space, I also tried to assign other shortcuts as alternatives) nothing shows up!

Nothing strange in the terminal output (it just says that it ignores some duplicates)

Slackware 11.0, KDE 3.5.4. Anything else you want to know?

Report

Ekardnam

13 years ago

Edit: I enabled the system tray icon (from another version of Katapult). It appears like normal. But when I choose "Configure Katapult..." it crashes:

Quote:Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 3793)]
[KCrash handler]
#6 0x08058045 in KatapultConfigDlg::addDisplaySettings ()
#7 0x08058f4a in KatapultConfigDlg::KatapultConfigDlg ()
#8 0x0805745c in KatapultSettings::configure ()
#9 0x08057559 in KatapultSettings::qt_invoke ()
#10 0x40c3ed44 in QObject::activate_signal ()
from /usr/lib/qt/lib/libqt-mt.so.3
#11 0x40c3f4dc in QObject::activate_signal ()
from /usr/lib/qt/lib/libqt-mt.so.3
#12 0x404a0429 in KAction::activated () from /opt/kde/lib/libkdeui.so.4
#13 0x404a0e8a in KAction::slotActivated () from /opt/kde/lib/libkdeui.so.4
#14 0x404a5719 in KAction::slotPopupActivated ()
from /opt/kde/lib/libkdeui.so.4
#15 0x404a5925 in KAction::qt_invoke () from /opt/kde/lib/libkdeui.so.4
#16 0x40c3ed44 in QObject::activate_signal ()
from /usr/lib/qt/lib/libqt-mt.so.3
#17 0x40f7e8ed in QSignal::signal () from /usr/lib/qt/lib/libqt-mt.so.3
#18 0x40c597a1 in QSignal::activate () from /usr/lib/qt/lib/libqt-mt.so.3
#19 0x40d51a27 in QPopupMenu::mouseReleaseEvent ()
from /usr/lib/qt/lib/libqt-mt.so.3
#20 0x404901a1 in KPopupMenu::mouseReleaseEvent ()
from /opt/kde/lib/libkdeui.so.4
#21 0x40c78aa4 in QWidget::event () from /usr/lib/qt/lib/libqt-mt.so.3
#22 0x40bda23f in QApplication::internalNotify ()
from /usr/lib/qt/lib/libqt-mt.so.3
#23 0x40bda496 in QApplication::notify () from /usr/lib/qt/lib/libqt-mt.so.3
#24 0x4074bac5 in KApplication::notify () from /opt/kde/lib/libkdecore.so.4
#25 0x40b7460a in QETWidget::translateMouseEvent ()
from /usr/lib/qt/lib/libqt-mt.so.3
#26 0x40b72821 in QApplication::x11ProcessEvent ()
from /usr/lib/qt/lib/libqt-mt.so.3
#27 0x40b85f25 in QEventLoop::processEvents ()
from /usr/lib/qt/lib/libqt-mt.so.3
#28 0x40bf0961 in QEventLoop::enterLoop () from /usr/lib/qt/lib/libqt-mt.so.3
#29 0x40bf08b6 in QEventLoop::exec () from /usr/lib/qt/lib/libqt-mt.so.3
#30 0x40bd939f in QApplication::exec () from /usr/lib/qt/lib/libqt-mt.so.3
#31 0x08051bfc in main ()

Report

C

dilettante

13 years ago

Based on your error, I'm guessing you're using the 02 Display. I investigated and found out that the SVN version of katapult didn't build the o2 display plug-in so it crashes katapult when it tries to the load the nonexistent library. Unfortunately, I didn't test all display plug-ins so I missed this bug.

Deleting katapultrc should do the trick for now. I'll be fixing it in a while. I have to cram for a test first. haha

Report

C

dilettante

13 years ago

Have you tried backing up ~/.kde/share/config/katapultrc and then deleting the file?

Had that problem before. I think it's because the configuration files aren't 100% compatible.

Report

13 years ago

---------------
0.1.2
- Add real transparency support
- Enable google and exec catalogs
- Theoretically fix a possible crash for duplicate programs
- Switch to CMake

0.1.1
- Fix crashes due to o2 display plug-in
- Add myself to the authors list

12345678910
product-maker Base: 4 x 5.0 Ratings
Be the first to comment
File (click to download) Version Description PackagetypeArchitecture Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.1.2
updated Jul 03 2007
added Jun 23 2007
downloads 24h
0
mediaviews 24h 0
pageviews 24h 0