All posts by Christoph Cullmann

Dr.-Ing. Christoph Cullmann is a Senior Software Engineer at AbsInt Angewandte Informatik GmbH. His work is focused on static analysis of both binary and source programs and the WCET analysis of embedded systems. In his spare time, he works on the KDE project and maintains the Kate editor application and component.

Kate/KDevelop Sprint – First Weekend

Here we sit, in Barcelona, hacking away at KTextEditor & Kate.
During the first 2 days, we already got some stuff done, like cleaning up KTextEditor interfaces and port more parts to KF5 (like ctags plugin, sql plugin, …).

More and more, KTextEditor & Kate get into a usable state for frameworks ;)
It is really good to have some free days in a nice location to focus on that goal!

We will not fundamentally change a lot of stuff but really concentrate on long term items we had on the radar for the 4.x => 5.x change and on having a GOOD 5.0 release that is as usable as the 4.x series with hopefully only as few regressions as possible.

Kate Licensing

Hi,

a long time ago, the license of most parts of Kate/KWrite/KatePart/KTextEditor was LGPLv2+ (in the old time, where it was named KWritePart/Kant/…, the original KWrite had that license originally, at least all parts of the component of it).

Then, we changed that to be LGPLv2 (only).

It seems, that was a poor choice, as we now run in v2 vs. v3 vs. any later version problems.

Most parts of the code are easy to relicense, as the contributors either acknowledged the request to change the license to that to the Kate team (on kwrite-devel@kde.org) or added themselves to the relicensecheck.pl in kde-dev-scripts.git.

KTextEditor is now LGPLv2+ only, which is nice ;)

KatePart is only missing the re-licensing of some files.

Kate has more files to look at, but should be less a problem, as it has less people that did commits, compared to the part.

So, if you didn’t already get a mail from me about some “please allow on kwrite-devel@kde.org for license change to LGPLv2+” and you know you have contributed, even if it was only some patch, it would be really nice to get some short “I am ok with LGPLv2+” on kwrite-devel@kde.org.

That will make it much easier to sort out the remaining issues!

This really would help to have no licensing issues coming up in the future years and further incompatibilities. I really would like to strife for LGPLv2+ only code in KTextEditor/KatePart/Kate, at least in the core parts (e.g. without the plugins), which seems to be realistic in the short term to reach.

Thanks a lot and a happy new year.

Multiple Windows & Kate on KF5

In KDE 4, you can open a new window for Kate via “View -> New Window”.

This won’t start a new application instance but just add an other Kate main window to the current instance (which shows the same documents & session & projects).

This is kind of complex to handle internally and we think about dropping that behavior and instead launching just an other Kate application instance if you trigger that menu action.

Pro: Easier code structure, less to maintain, less bugs. Each window is an own process, e.g. if one crashs, not the others die, too.

Contra: You will loose the have the same documents open in two windows with syncing (as the two windows would then be individual processes).

Any opinions about that out there in the lazy web? Feedback is welcome.

Kate on KDE Frameworks 5

After the initial porting of KTextEditor interfaces and KatePart, now the Kate application itself runs on KF5, too.
It still has a LOT of issues (and I marked all commented out pieces with FIXME KF5), but at least, it launches and loads the essential file tree plugin and allows you to open files via the “Open” action. Any help in fixing the remaining issues is welcome (and removing deprecated cruft), but keep in mind, it might eat all the files you edit :)

That means now all stuff in the “frameworks” branch of kate.git beside the “addons” directory containing plugins/plasma stuff at least compiles and launches with KF5.

Now the question is how we handle further development. Shall we switch to “frameworks” for all major stuff in interfaces/part/application and only let feature work be done in the “master” branch for addons (which we then can port later on)?

Feedback is welcome ;)