KDE bits
CVS tools

This is a collection of free software tools I've written or initiated. Much of this has been for the KDE project, so many of these applications and tools are now distributed with it. Links to download, docs and bug reporting are provided where sensible.

If you use any of this stuff I would be happy to receive your feedback, even if it's "it works fine for me".

For comprehensive information on KDE development, see the developer site.

KDE bits


This image viewer was my first try at a "full" KDE application and is one of the oldest apps in KDE. It was also a testbed for kimageio and the additional image formats it supports. Simon Hausmann converted it into a KPart component, making it one of the first to use the new KParts framework. When you click on an image in Konqueror, you are likely to be using kview.


This poorly-named application (in my defence, I was a lot younger then) monitors multiple local and remote mailboxes for new messages. The number of new messages in each box is displayed in a panel tray icon or an optional window. Handles a number of mailbox formats and protocols, including mbox, maildir, imap, pop3 and nntp (usenet news). Part of the KDE network tools package.

This app is currently maintained by is Mart Kelder, who can be reached at mart.kde at hccnet.nl.


A useful little time tracker tool, allowing you to record time spent on tasks or subtasks. Part of the KDE personal information management (PIM) package. Initially inspired by Harald Alveistrand's titrax application, which used Athena widgets.

This app is currently maintained by is Mark Bucciarelli.


Adds support for additional image formats (JPEG, PNG, TIFF and others) to all KDE applications. Usage by programmers using Qt and the KDE libraries is almost transparent and is enabled by default in the KDE libraries.



Similar to javadoc, this is a documentation generator for C++ and IDL, capable of generating docs in a variety of formats. This tool is currently used to generate the KDE API docs. The codebase is mostly orphaned now as I am working on a replacement, but lives on as the kalyptus project. more...

I learned a lot about parsing, compilers, trees and graphs from writing this. The experience has paid off all over the place. I also learned a lot about perl, though that knowledge has mainly resulted in my using python a lot more.


Source metrics for C and C++. This perl script provides stats such as number of lines of code, comments, blank lines, code/comment ratios etc. Distributed with the KDE software development kit.


Similar to the above, but for and implemented in python.

CVS tools


Lists changed or missing files in a checked out CVS module without needing to contact the server. A great help when dealing with remote servers over slow or intermittent connections, a common situation for most free software developers.


Lists files in a checked out CVS module that are not known to the repository. This is handy when adding new files or building a distribution, and doesn't need to contact the server.


Packages applications in KDE modules into standalone, separately distributable apps. Superceded now by cvs2dist, but still useful for roll-your-own packaging as it is a small and simple perl script.


Send CVS commit info via email in real time. This is used for the kde-cvs mailing list. If you are administrating a CVS repository and wish to send mail on each commit, modify it to match your development environment and configure your CVSROOT/loginfo config file to call it.



Converts the VIM editor documentation to hyperlinked HTML, for reading in a browser. This is now shipped as part of the official VIM distribution in the doc/ directory (or atleast with vim 6.1).