Kontact pecularities

Kontact logoOn Linux systems running KDE as desktop manager Kontact is the default application for handling email, address books, calendar, and more. Kontact integrates different applications to work together seamlessly, eg. KMail (email), KAddressbook (contacts) and KOrganizer (calendar). Others can be added, eg. KJots (notes), KTimeTracker (time management), KNode (news reader) or Akregator (RSS feeds).

Essentially Kontact does the same as Evolution on a GNOME desktop, or Outlook on Windows. (Not surprisingly, the latter has persistent issues regarding compatibility to standards everybody else uses for HTML, calendar or message exchange…) But of course Kontact has its own issues too. Let me mention a few that I came across.

Akonadi

Akonadi logoSince version 4.4 KDE PIM applications require the underlying Akonadi framework to run. Akonadi uses its own local (MySQL) database to cache and index personal information like emails, contacts, events, todos etc. The data themselves remain in their own locations and databases, eg. email in ~/.local/share/local-mail or contacts in the cloud storage using CalDAV for syncing. Akonadi just caches these and keeps indexes, although certain specific data are only kept in Akonadi’s own database. Just to make things more complicated.

Akonadi does eat quite some resources, but on a reasonably new computer that should not be a problem. It starts automatically at login. If not, connected applications will not start either. And there is the big problem: if Akonadi runs, all works fine, but if not, you are in trouble, since it requires special skills to get into Akonadi’s configuration. Leave alone the troubleshooting.

Simple tip: make sure you have at least AkonadiTray working, included in de kdepim-runtime package. It sits in your systray (not automatically visible) and lets you run basic commands like stop/run or backup/restore, and also allows you to do some configuration. A more elaborate tool is AkonadiConsole (works in a GUI despite its name), but that is meant for developers and it is dangerous if you do not fully understand what you are doing.

Sometimes software updates bring in bugs or conflicts and that can be really annoying since its leaves you behind without email, contacts or calendar to work with. Often a next update restores it though.

KMail address completion

KMail logoOne of the useful things Akonadi can do is autocompletion when you type an address in the TO: field of KMail’s composer. To do so Akonadi scans all emails and drafts and stores the addresses in an internal database. (Well, the indexing is actually done by Baloo, a metadata searching & managing tool, and the databases are kept in ~./local/share/baloo – again, just to make things more complicated.)

But after some time you may notice that obsolete addresses or typos still appear in the dropdown list, even if you have deleted the addresses from your address book. To correct this you need to edit the list. But where to find it? Actually, you cannot access it directly since it is in Baloo’s database.

Yet there is an option, a bit hidden away, which actually makes it quite simple. In KMail go to Settings > Configure KMail… > Composer. On the ‘General’ tab you can enable/disable autocompletion, set the maximum number of addresses to keep, or manually edit the list. That’s it. In the future an entry in eg. the Tools menu would be nice.

KMail Configuaration ComposerAlternatively, you can right-click in the composer window’s TO: (CC: or BCC:) field to get a popup menu which, at the bottom, also offers you the list edit option.Edit recent addresses

Akregator

Akregator is the KDE RSS feed reader. Easy to use and it works alright. However, the browser part is rather old and still based on the old KHTML engine used in Konqueror, the former KDE file manager annex webbrowser. That does not work well with embedded multimedia or HTML5. Also, it is a very basic browser with very few options or features. Somewhere I read someone is working on it. Simple workaround until then: double-click the news item to open it in your default browser, eg. Firefox.