Plugin Documentation

1. Overview

This document provides some information about the plugins currently available for and distributed with Klicklack.
There are two different types of plugins: User interface (UI) and dictionary plugins.

As only developers will be interested in the underlying technology, it will be covered in a separate document.



2. General aspects

All plugins can dynamically – at runtime – be loaded, unloaded, activated and deactivated.
To do this, open the main window (right mouse button on icon in kicker's system area -> "Undock from Panel")

To use a plugin, it must be loaded. If you want to use it regularly, activate it. If a dictionary plugin is loaded. But not active, it may nevertheless chosen explicitly by you for a single query (at least if you use the ksteak GUI). This, in my opinion, would be a good choice for a plugin which accesses the internet and you have a dialup connection.

As to the UI plugins, the situation is quite different. Plugins which offer a real GUI (such as ksteak) and those which only issue queries (such as OCR) must be active to be of any use.

In the future, however, there will be plugins, e.g. text-to-speech, that would speak everything sent between the plugins, thus overusing my patience. Keep them deactivated and choose explicitly from the real GUI what the plugin is supposed to speak.



3. The User Interface Plugins

3.1 KSteak

As of now, ksteak is the only real GUI, so you have to use it.
The original authors are Michael Heidecke and Olaf Hartig. Thanks to their efforts this great plugin exists.

There are some hidden features, and I have added some "cool" new ones.

Requirements:

None



3.2 OCR

This plugin uses the great free OCR implementation gocr by Jörg Schulenburg and B.B. Gnecco.
There is also no doubt that the plugin is inspired by the MS ® Windows ® program Babylon (tm).
The code the find letters and the limits of a word was contributed by Jens Henrik Goebbert.

You place the cursor over a word anywhere on the screen and press a shortcut, per default Ctrl+Alt+Space. I am still thinking about how to achieve the shift+right mouse button behavior, but it doesn't seem to be trivial.
The recognition rate is amazingly good from my point of view if you keep in mind that all this is based on free software for which noone was paid a single Euro. If you are of a different opinion, hack the code and improve it.

I also like that shortcut because it pops up a text edit box if it does not find text. So for the keyboard junkies, it will be much faster to Strg+Alt+Space or whatever else than moving the mouse and clicking on ksteak's window.

Requirements:



3.3 DCOP

The dcop plugin provides an interface to KDE's inter-process communication technology. There are six functions. All trigger a query to be issued and dispatched to all plugins active. Four of them also return a value: Either XML in the form it is used internally for results, or HTML code (without header tags). As arguments XML representing a query or a plain word can be passed.

Use kdcop to have a close look at the syntax.



4. The Dictionary Plugins

4.1 Ksteak

KSteak provides a front end to the steak dictionary for English to German and vice versa. It is obviously also taken from KSteak by Michael Heidecke and Olaf Hartig.

Requirements:



4.2 KQuick

KQuick is the backend part of the *Quick project's application KQuick (without the Babylon (tm) part). This project has assembled a huge number of dictionaries, obviously from various sources such as ding or Freedict, brought them in a unified format and converted them to Unicode. Looking up is very fast (much faster than ksteak in my current implementation).

Requirements:



5. The command line tool

I have written a small and very primitive command line tool. It is (at least for the German-speaking users consistently) named tipptapp and will only be useful for you if you develop because it outputs raw XML. If you study the code you will also see that most of the work is done by the library to which I have outsourced the dictionary stuff.