Write your own launcher

I am at OpenExpo and while chatting about KDE 4.1 with the nice people at the KDE booth, I realised that some of the Debtags Technology™ could be used to make a really good application launcher.

After a bit of prototyping, I present you the Application Launcher Startup Kit:

git clone http://people.debian.org/~enrico/2008-09/launcher

There are two python scripts in it: index that indexes your existing .desktop files in a Xapian database, and query that contains a function to query the index, and when run with the query keywords as parameters, it shows the results. You give it a list of terms (and possibly of currently selected categories), and it gives you:

It's more than fast enough to do all of this in real time, as the user types.

For example, on my system:

$ ./query imag
Found: 55 /usr/share/applications/gqview.desktop
Found: 51 /usr/share/applications/gimp.desktop
Found: 48 /usr/share/applications/gpicview.desktop
Found: 46 /usr/share/applications/camorama.desktop
Found: 44 /usr/share/applications/inkscape.desktop
Found: 42 /usr/share/applications/geeqie.desktop
Completion: image
Completion: imagemagick
Completion: images
Tagcloud: 2DGraphics 0.661410884419
Tagcloud: Application 0.489939013302
Tagcloud: Core 0.331070153265
Tagcloud: GTK 0.158799073563
Tagcloud: Graphics 1.0
Tagcloud: Photography 0.426417355406
Tagcloud: RasterGraphics 0.661410884419
Tagcloud: Utility -0.3383614892
Tagcloud: VectorGraphics 0.213729717371
Tagcloud: Video 0.364913248472
Tagcloud: Viewer 0.806009703748
Spellchecked: image

$ ./query word proc
Found: 100 /usr/share/applications/ooo-writer.desktop
Found: 69 /usr/share/applications/efax-gtk.desktop
Completion: word processor
Completion: word processors
Tagcloud: GTK -0.255400677833
Tagcloud: Office 1.0
Spellchecked: doc

Now, it's just a matter of putting a GUI on top of it. I am not going to do it: that is up to you.