Chapter 6. Kopete's Plugins

Kopete offers plugins that provide functions that aren't essential for messaging, but are useful for some people.


Auto Replace

Auto Replace allows you to correct frequently misspelled words or save typing certain words using abbreviations.


The Bookmarks plugin creates bookmarks in your KDE bookmarks list from URLs that are received in IM messages.

Contact Notes

Contact Notes allows you to note down any useful bits of information on a metacontact.


Olivier Goffart

Charles Connell

Revision 1.3.0 (2007-10-14)

The Cryptography plugin allows you to send and receive encrypted and/or signed messages.

Cryptography lets you use an OpenPGP implementation to encrypt and sign messages in conversations. Note that this is not the same as an SSL secured chat session. Cryptography can encrypt your messages to a single individual so that only the holder of the matching key can read it. If you wish that the recipient of your messages can verify that you have sent your messages, you may sign messages. Signing and encryption can be used separately or together. When you receive a message, if it has been encrypted, you will see a lock icon. If it has been signed with a verifiable signature (you have the public key of the sender), you will see a pen icon. For a non-verifiable signature, a red pen icon will be shown.

To configure Cryptography, select your private key in the plugin configuration page. Then, using Select Public Key... from each meta-contact's context menu, choose their public key. You will be prompted for your passphrase when using this plugin.

Due to limitations in some of the instant messaging protocols that Kopete uses, encrypted messages cannot be sent with those protocols. If you attempt to use an unsupported protocol, you will be warned.

Cryptography can use the public keys stored in your KDE address book for each contact. However, it must be able to know which address book entry is associated with which meta-contact. To provide this information, choose Properties from the meta-contact context menu, and then set the Address Book Link. Cryptography can also export public keys that you have set to your address book. If a meta-contact has an address book link, then the key will go in the correct address book entry, replacing an existing one. If no link exists (possibly because no address book entry exists for the individual in question), a new entry will be created. This entry will have two fields filled: the public key from Kopete and the meta-contact's display name.

Documentation copyright (c) Olivier Goffart and (c) 2007 Charles Connell


Highlight works a little like email filters, in that it allows you to make things happen in response to particular messages. As well as highlighting the text, you can play sounds.


The History plugin, when activated, records conversations using any IM system and allows you to view old conversations later. A History item appears in each Metacontact's context menu so you can view the message history for that metacontact.

The following item is added to the Contact List's menus:

EditView History

(Enabled when a contact is selected) This displays the History browser for the selected contact.

The following items are added to the Chat window's menus:

ToolsHistory Previous (Alt+Shift+Left Arrow)

This enables you to view the next oldest set of messages from the History in the Chat window.

ToolsHistory Next (Alt+Shift+Right Arrow)

This shows the next newest set of messages from the History in the Chat window.

ToolsHistory Last

This shows the most recent set of messages from the History in the Chat window.


KopeteTeX allows scientists and mathematicians to hold conversations using the LaTeX markup language. Expressions entered within $$ are rendered as a graphic in the chatwindow, and can be cut and pasted as the original Latex. To use this plugin you must have LaTeX installed

Now Listening

With the Now Listening plugin, let people you're chatting with know what you're listening to, by typing /media in a chat, or with ToolsSend Media Info in the Chat window.


The OTR plugin allows you to encrypt conversations using the Off-The-Record encryption method. This encryption method basically works like the PGP encryption but it is optimized for instant messaging and handles the key exchange on its own. The only thing you have to do, is to make sure that you really are writing to the person you expect by using one of OTR's authentication mechanisms.

Menu items

The following item is added to the Contact List's menus:

EditOTR Policy

(Enabled when a contact is selected) You can set the encryption policy for each contact here. Setting this entry to "Default" causes Kopete to use the default setting in the configure dialog

The following items are added to the Chat window's menus:

ToolsOTR SettingsStart OTR session

This lets you initiate an OTR encrypted session.

ToolsOTR SettingsEnd OTR session

This lets you end a previously established OTR session.

ToolsOTR SettingsAuthenticate contact

Use this menu entry if you wish to authenticate the contact.

The settings dialog

In the setting dialog you have various options to set the modules behaviour during your chatsessions. The most important of them is the default policy configuration. Set the policy to "Opportunistic" if you wish Kopete to check if you contacts support OTR and establish an encrypted session on its own or to "Manual" if you wish to control each encryption state on your own. The options "Always" and "Never" are recommended only for experienced users that wish to set the policy on a per-contact base. In the "Private Keys" Pane you have the possibility to create you personal keypair for each account. You don't need to do this manually. If an account does not have a keypair it will be generated automatically the first time it is required. In the "Known Fingerprints" tab you have the possibility to see, verify and delete known public fingerprints of your contacts.


You've probably received email from people pretending to be banks, credit agencies, even wealthy Nigerian expatriates. People lie about who they are all the time on the Internet. Authentication is a way to make sure that nobody can lie to you about who they are when they use OTR.

When to authenticate

You should authenticate a buddy the very first time that you talk to them using OTR. If you don't, then you cannot really be sure that someone else isn't impersonating them or trying to listen in on your conversation. However, once you've authenticated your buddy once, you don't have to do it again. OTR will automatically do the authentication for all of your future conversations with that buddy.

The only exceptions occur when your buddy switches between multiple computers or multiple IM accounts. In this case, you will need to authenticate once for each computer and account. Once you've done this, your buddy can freely use any of the computers you've authenticated them on, and OTR will recognize them automatically. If your buddy uses a new computer or account that OTR does not recognize, a message will pop up in your conversation window telling you about it.

When to authenticate
How to authenticate

To authenticate someone, open a conversation with them and click on "Authenticate Contact" on the OTR button. A wizard will be shown, asking you what authentication method you would like to use. Please follow the steps in this wizard.

If the authentication was successful, then you know that you are really talking to your friend. Any imposter should have a hard time guessing what you're typing in, so you'll be able to catch them in the act.


Pipes allows you to pipe incoming or outgoing messages through an external script or executable. An incoming message will be piped through the executable before it reaches your chat window, while outgoing messages will be piped through the executable before they are sent over the Internet. Pipes can receive text in one of three forms:

Plain text body

The body of the message, in plain ASCII text

HTML text body

The body of the message, in HTML, as it would be if your chat peer had sent HTML to you, which will be rendered in the chat window

XML full message

An XML document that describes all the characteristics of the message, including the HTML body.

For most purposes, you probably want to use the plain text body or HTML text body options. These can be used with programs such as translators or summarizers. The XML format is only appropriate for use with a program or script written specifically to work with this plugin. If you would like to write a program or script that does work with this plugin, see the more detailed documentation.


This plugin uses a database to gather information about your contacts' activity patterns. You can use this to see when a contact is usually online, for example.

Text Effect

Text Effect applies funny effects to your messages before sending them, like coloring them or changing the case of the words. Just don't forget you have activated it - we've had bug reports from forgetful Text Effect users!


The Translator plugin lets you define a preferred language for each Metacontact, and then translates messages to or from them using web based translation services such as Google™. Set your own preferred language in the Select and Configure Plugins dialog. Each contact's preferred language can be set on its context menu.

The following item is added to the Chat window's menus:

ToolsTranslate (Ctrl+T)

If you did not turn on automatic translation, this translates the current chat.

Web Presence

Web Presence allows you to publicize your IM presence on the Web. Give it the path to a file on an FTP server (for example), and it will upload a short piece of HTML to that file, which you can include in your homepage. KDE's network transparency makes this simple. Useful for bloggers to make friends with, or you could use it to use IM in your business.

Example: s uses the SFTP protocol to upload your presence directly onto the webserver.

See the KIO manuals for tips on specific network protocols.

Contributing a plugin

Kopete is designed to make it easy to create plugins that give it extra functions. So if you've got a great idea to make Kopete even better, get in touch!