Category Archives: Developers

KDE and Git, Current Changes

Thanks to the massive work of sysadmin and others (like Ian Monroe), kdelibs and kdebase are now converted to Git.

In parallel, the move of all kate related code to the kate.git was done and announced. Kate Part / App + KWrite reside now in kate.git on git.kde.org and this is the central place for kate development, like it was already before, but now without the shadow-copies in three other repositories.

As it has shown in the past, this centralisation of parts which belong together helps to get stuff done for our project. The Get It! page on kate-editor.org is already updated (as now documentation is in the module, too, and some CMake parameters have changed).

I can only say: If you want to add some feature or hassle with some bug, give it a try. It’s dead easy to get and compile a fresh Kate (even with a bit older kdelibs around). You are welcome ;)

P.S. Thanks again all the people working on the transition to Git and sysadmin for operating the nice projects.kde.org and git.kde.org services!

Kate progress, Git and happy new year ;)

As Dominik already points out in his blog, Kate has made nice progress for KDE 4.6.

Some of the latest fixes, like for some nasty search bug didn’t make it in RC1, btw., I was too lame with Git -> SVN syncs.
Anyway, I have now synced and backported to KDE 4.6 branch all pending fixes.

For the next KDE SC release 4.7 (here you go, I wrote SC :)), I hope this syncing will no longer be necessary.
At least Kate app + part + KWrite should then be only in the kate.git.
I can live with ktexteditor remaining in kdelibs, if removing that and still keeping BC and SC would be too much work. But part and app are at most runtime dependencies anyway.

Last but not least, I wish you all a good start into a happy new year ;)

Introducing Kate GDB Plugin

Have you, like me, had to switch to an external debugger or run raw gdb in the terminal plugin to debug the C/C++ application you develop with Kate? That might not be necessary any more. There is now a “GDB Plugin” in trunk that gives you the power of raw GDB with some QAction candy for the most common actions.

I have always been a bit frustrated with not having a debugger directly in Kate, but too lazy/busy to start a debugger plugin project. Fortunately Ian Wakeling started this GDB plugin and got it off the ground. When I got introduced to it at Akademy, it triggered an itch in me to get this plugin into kdesdk and to add some features for the more point and click type of persons. As it seemed I had a bit more free time to spend on the plugin, Ian let me take over as maintainer.

Main features of the plugin:
- Jump to the corresponding file and line whenever gdb stops.
- Insert and remove breakpoints.
- Tool-bar buttons for the most often used actions like step into/over/out. Those actions can of course also be assigned to keyboard shortcuts.
- Execution markers and breakpoint markers on the icon border.
- A call stack tab for point and click navigation of the call stack.
- Optional IO redirection to a separate tab.
- Printing the value of the currently selected variable or expression. QStrings and friends are not supported (yet?).
- And last but not least. A GDB console for the full power of GDB.

And now the screen-shots

GDB Console, execution marker and a breakpoint marker.


The current call stack.


Settings tab.


Redirected IO.


The selected variable and the GDB value output.


The debug menu.

Kate – GSoC Summary

Hello planet,

As Google Summer of Code is now finished and I have successfully passed the final evaluation, I would like to give a brief description of my project.

Kate is now able to recover (most of) what was written after last save in case of a crash or power failure. A swap file is created after the first editing action on a document that was successfully saved. If the user closes the document normally or saves its content, the swap file is deleted, otherwise, if Kate crashes, it remains on the disk. On load, Kate searches for the swap file, and if it exists, a warning bar pops from the top and provides the user with three possibilities: recover the lost data, discard the swap file or view differences between the original data and the recovered one. If the user chooses to restore the lost data, the editing actions from the swap file are replayed over the current content of the document. If somehow the swap file is not valid, for example a finishEditing statement is missing, the recovery is done, but the user is warned that it might be incomplete.

Only the core feature for swap file is implemented at the moment. I know I could have done more, but things went slow at the beginning, as I was new to Qt and KDE development and also had a demanding exam period. But this has a positive aspect, too, as will motivate me to continue my work at this project.

This has been a great summer for me as I was accepted into GSoC program and got a chance to do what I like and get paid for it. I want to thank Christoph, my mentor, for having patience with me and helping me with all the problems I have encountered. I also want to thank the whole Kate team, KDE community and Google :).