OCT
1
2015

The Future of Kontact

Supplemental to what we reported previously about the work in Randa [1, 2] there was a session on the future of Kontact, KDE’s personal information manager (PIM). Over the years this tool has evolved into a monster making both development as well as usage sometimes tricky. It’s time to cut hydra’s arms.

SEP
4
2015

Konsole's new "Manage Profiles" Configure dialog

One of the goals I've had with Konsole was to combine all the configure dialogs: 1) Configure Konsole; 2) Manage Profiles; 3) Edit Profile. Currently, in the branch config_dialog, the Manage Profiles is now combined with the main Configure dialog. The only downside is that the Konsole part can't open the Manage Profiles dialog. If and when the Edit Profile gets combined, I'll have to make sure the parts can open those dialogs.

AUG
11
2015

KSnapshot-Next

KSnapshot is getting an overhaul.

It's actually a little more complicated than that. I started to work on the KF5 port of KSnapshot (EDIT: no, contrary to what Phoronix claims this port is not my work; I simply wanted to fix anything that needed fixing) sometime in early March this year, before I realised that the codebase, while perfectly in order for being a X11-only screenshot taker for KDE (yes, KSnapshot actually has a complete and fairly decent KF5 port in its frameworks branch on KDE Git), was in need of a major overhaul if we were going to get proper Wayland support in.

AUG
3
2015

git-worktree

[Skip if you're not a git user]

You will often want to have more than one build environment in parallel, for example if you want to work on stable and various feature branches. Recommended way so far was to use a git-new-workdir script. This solution saves space (e.g. ~300MiB for a calligra branch instead of ~1200MiB) and time.

JUN
23
2015

Kexi 3!

I am happy to say that Pre-Alpha edition of ‪Kexi‬ 3.0 runs nicely already after like 3 weeks of porting! Especially its tabular view work out of the box for me after fixing the last compilation error with zero fixes needed in the functionality.

Porting for the porting itself would not be an interesting goal. As you see on the picture Kexi 3.0 uses KDE Frameworks 5. With Qt 5.4 it's More compact, faster, closer to mobile devices. And a 1st class citizen called Windows version has to come to reach the wide audience.

JUN
21
2015

GCI 2014 and Grand Prize Trip

Many pre-university students have participated in Google Code-In (2014) again and for many of them it has been the first opportunity to make contributions to Free Software and Open Source projects. In opposite to Google Summer of Code the GCI program is organized as a worldwide contest where students at the age of 13-17 years take the challenge to complete as many software development tasks from their mentor organizations as possible.

JUN
3
2015

Folder View panel popups are list views again

In later versions of Plasma 4, the Folder View widget adopted a special appearance when placed in a panel: It would arrange folder contents in a simple list instead of the usual icon grid. Folder View had to be rewritten completely for Plasma 5, and while there were various improvements along the way, the list view mode unfortunately went missing. Until now - on popular request, this feature will make a return soon in Plasma 5.4:

MAY
31
2015

How to reference libTooling

Being accustomed to use of big frameworks like Qt, libraries like Boost, or smaller like OpenSSL it can be astonishing how difficult can be referencing external (but still native) library from C++ code.

All of libraries mentioned above come with fairly good CMake support making it more or less difficult to use after reading some (or all) of available documentation. With Clang we have two problems here:

MAY
23
2015

Refactorings for KDevelop

I am going to implement some refactoring tools for KDevelop (GSoC 2015). After reading libTooling documentation (quite nice), some guides and reviewing some KDevelop/KDevPlatform/kdev-clang source code my ideas become more sharp. That's some of my thoughts.

MAY
21
2015

Updates on Kate's Rust plugin, syntax highlighting and the Rust source MIME type

The other day I introduced a new Rust code completion plugin for Kate, powered by Phil Dawes' nifty Racer. Since then there's been a whole bunch of additional developments!

New location

Originally in a scratch repo of mine, the plugin has now moved into the Kate repository. That means the next Kate release will come with a Rust code completion plugin out of the box! (Though you'll still need to grab Racer yourself, at least until it finds its way into distributions.)

For now the plugin still works fine with the stable release of Kate, so if you don't want to build all of Kate from git, it's enough to run make install in addons/rustcompletion in your Kate build directory.

This also means the plugin is now on bugs.kde.org - product kate, component plugin-rustcompletion (handy pre-filled form link). And you can submit patches via ReviewBoard now.

New feature: Go to Definition

In addition to code completion popups, the plugin now also installs Go to Definition action (in the Edit menu, the context menu, and you can configure a keyboard shortcut for it as well). It will open the document containing the definition if needed, activate its view and place the cursor at the start of the definition.

Rust syntax highlighting now bundled with Frameworks

After brainstorming with upstream, we decided together that it's best for Rust and Kate users to deprecate the old rust-lang/kate-config repository and move the syntax highlighting file into KDE's KTextEditor library (the foundation of Kate, KDevelop and several other apps) for good, where it now resides among the many other rules files. With 1.0 out the door, Rust is now stable enough that delivering the highlighting rules via distro packages becomes feasible and compelling, and moving the development location avoids having to sync multiple copies of the file.

The full contribution history of the original repo has been replayed into ktexteditor.git, preserving the record of the Rust community's work. The license remains unchanged (MIT), and external contributions remain easy via ReviewBoard or bugs.kde.org.

KTextEditor is a part of KDE's Frameworks library set. The Frameworks do monthly maintenance releases, so keeping up with the Rust release cadence will be easy, should the rules need to be amended.

It's a MIME type: text/rust

Kate plugins and syntax highlighting files preferably establish document identity by MIME type, as do many other Linux desktop applications. The desktop community therefore maintains a common database in the shared-mine-info project. With the inclusion of a patch of mine on May 18th, shared-mime-info now recognizes the text/rust type for files matching a *.rs glob pattern.

If you're searching, opening or serving Rust source files, you should be using text/rust from now on.

That's it for today! I still have a bunch of improvements to the plugin planned, so stay tuned for future updates.

Pages