Planet KDE

Syndicate content
Planet KDE -
Updated: 1 day 9 hours ago

Recap post To Dantix@reddit (+all): Wth is Community Design anyway?

Tue, 2014-04-15 02:13

In which I write my first "recap" post about what's been set and what's been talked about and how things work. Just a little how-to for everyone who just joined us! This time it's about Community Design and why it matters so much.

Photo Jencu "Sharing Toys" CC-SA
I've been meaning to write this post for some time - a sort of recap for people who just joined us in what's going on.
Dantix, a reddit poster was a tad miffed that the editable combobox was the wrong size for it's scroll-down arrow. I'm not trying to call the dude out, I'm sure he (or she) is a brilliant person and didn't mean anything mean, it was just a comment and an apt one so no harm no foul!

But it told me that I need to talk more about this Community Design thing.

There are three points I really want to take up:

1) Everything shown will be shown from scratch. Nothing hidden.
Now from a marketing perspective that sucks. Lets be honest - we all like "the big reveal" where some designer in a turtleneck pulls back to curtains and go "tadaaa!". We wont do it like that. You will see it when it's just a mass of scribbles all the way to the finished product.
Why is it like that? Because that way everyone can see the process. It gets demystified and something more accessible and open to all. It shows everyone the trick behind it. Design have become a catch-all for "don't bother me, you wouldn't understand" and I don't think thats a healthy attitude for Open Source to adopt.

2) You are expected to join in if you want to. As long as you play nice the toys are for everyone.
This is the big one. Yeah yeah you've heard it before. But its true. No matter how little of an "eye for design" you have, you have it. Comment, post mockups and try to see the cool things people do and spin off that.
I can't promise that you're work will end up being the official theme for Plasma Next - but I can promise that you will influence it. We actually DO listen to comments. To cool ideas especially.
And that's the bit to remember - its always better to contribute than to comment especially if you're comment is "I don't like that". We have some rules and they are essentially: If you post criticism, what it is you don't like, why you don't like, how it could be fixed and propose a fix it's a gold star comment. If you criticize, specify what it is you don't like and how it could be fixed. Thats a silver star comment. If you criticize and specify what it is you don't like ... thats bronze. As long as you do it in a nice and cooperative way it's ok to post. If you can't say exactly what it is you don't like about something AND can't be nice about it - don't post.
If you have a cool idea on the other hand. Post. Thats the only rule for contributions.
Why is it like this? Because we want to foster a friendly attitude. Design IS communication and communication is hingent on a community. By letting everyone feel like they can contribute with mockups and cool ideas - we get more cool ideas. By playing with the art or design school rules of criticism we make certain that the other nasty and sadly common thing in design is minimized - the nonsense put-downs to make yourself seem "better" or the simple "you suck" comments that does nothing at all for design work.

3) This is a massive social experiment.
Yeah. It is. It's the tricky bit in what I do. On the one hand the goal is to create a stunning visual design for Plasma Next, on the other the plan is to create a community of designers and make design a "thing" within Plasma and KDE and Open Source in general.
I want to change the way we look at people and divide them into experts and "everyone else". I want to tear down those barriers and makes us all feel included, like we're a part (like I felt on the first sprint I was at). I want to change the way we handle design and this work is a test for that.
Why is it like that? Because I am old enough to know that failing is only really good when you fail miserably (that's when you learn things) and that sometimes you got to aim for the moon and skip the tree tops.
When I got into this I talked to some of the other designers who had worked on KDE projects and many of them where more or less burned out. They had worked themselves to the bone and then crashed due to it. I didn't feel like being another one AND I wanted to fix the issue permanently. So I went for the higher goal of it aware that it would mean more work for me personally and a higher risk of failing.

Not only so that we all started talking about design more constructively. Not just so everyone felt they could comment and be a part. Not only that there where hundreds of designers where yesterday there where one or two. Not only that.

But so that in the future there would be a model a system in which design would be created without the need for a petty expert-dictator who's presence was ever needed for the work to go forward. Where the load was shared by all. Where the work was more play than backbraking labour.

Maybe it will succeed, maybe it will fail - but if it does fail I think we can all agree that it will be a majestic catastrophe of a failure ;)

Next time I'll talk about the Design Vision (it won't be boring promise) what it is, how we intend to stick to it and where we are now in terms of design guidelines.

Categories: FLOSS Project Planets

Calling all Testers

Mon, 2014-04-14 18:06
KDE Project:

Candidate images for Kubuntu 14.04LTS are up and need you to test them. Go to the ISO tracking site to download and mark your testing status. Check out the milestoned bugs for issues we are aware of and do report any we are not.

Categories: FLOSS Project Planets

Monday Report #11 - Go time!

Mon, 2014-04-14 14:11

In which we talk about widget theme, community participation, ask for help, show off work by two handsome devs and mention some future promo work to come!

KDE VDG group member, hard at work!
This time I will focus primarily on the widget theme. Now as some of you may now there is a "quiet area" where we keep some of the work that either needs to be secret or where there are some issue or you want to test things or you need to work on it in quiet in a small group.

This isn't the end plan - the idea is that in the end everything except sensitive things (where perhaps the dev has asked us not to tell others about it yet) will be done in the open. Now is the time to try that out for reals!

Andrew has been hard at work with the widget theme - now unlike before it doesn't demand that you know C++ just that you can handle QML. Now what does that crazy abbreviation mean? Well, QML is "Qt Meta Language" and it's the way we can among other things style Qt apps or widgets.
It is comparatively simple to use and learn. I say comparatively because I'm trying to learn it as we speak and I would be lying if I said it was a dance on roses BUT it's way simpler than any other method for styling AND it offers a ton of features and possibilities.
Andrew is well under way with it and the current iteration - as well as a sneak peak at the window theme - can be seen here:

With a sneak peak at window dialogues too.

But he needs the communities help refining it! In his post in the forum is a short recap of the issue and some instructions as well as an invitation to EVERYONE no matter what skill level (or indeed if the suggestions are done in words or mockups or QML) to participate. I can only suggest that you do! The more we are, the better it will become!

Aside from that some rather fascinating possibilities have opened up. Alex Fiestas and Vishesh Handa, two of what I prefer to call "KDE's finest" have started working on a new Video Player.
Now many might think that this is a waste of time as there already are video players out there - then let me let you in on a little secret. Inside this thick skull of mine is a dream of crafting applications made for desktop usage. Where we take a sincere look at whats needed, how it can best be presented, how it should work and flow - without feeling stuck in the hellish "where did my X/Y/Z feature go in X/Y/Z software?" problem. When you remodel something existing you run the risk of ruining it. It's a simple fact - it also ties you down design wise because we're nice people (trust me, designers are not only "nice" we are also "people") and to storm in and tell someone who doesn't want to change their application that you're there to do just that isn't a great experience.

Also this week hopefully a small promo video will be cut together for one detail or two of Plasma Next. Nothing long or fancy, no wonderful great secrets revealed BUT something to set the tone.

So this was perhaps not the longest monday report - but it was hopefully pleasant to read and informative! Until next time! (Oh and remember my promise "A year and a day for KDE"? 20% of the time has now passed...
(EDIT: I forgot to add the second image from Andrews post, sry fixed now)

Categories: FLOSS Project Planets

KDE software on Mac OS X

Sat, 2014-04-12 09:29

As I probably already mentioned somewhere there is currently quite some energy going into the work of bringing more and better KDE applications to the Mac platform.

So it’s a perfect time to get involved, help to solve the problems or test our software on another platform and thus make another step in {our,a} plan to konquer the world. And don’t hesitate to do this for other platforms as well and/or come to Randa to help with this.

PS: There is still the little poll open about KDE, families and Randa. Please participate and share your anonymous opinion. Currently seven people filled it in.

Categories: FLOSS Project Planets

VIM: “Hiding” C++11 lambdas

Fri, 2014-04-11 11:43

One of my favourite C++11 features are lambdas.

The syntax is a bit cumbersome, but it was the best approach the committee could take without creating a new sub-language. Every part of the syntax has a reason for why it exists.

But, it still is a bit ugly, and can influence readability of the surrounding code quite a bit.

The thing that annoys me the most is the lambda head – the capture block and the arguments it takes. Those are very important when writing the code, but not (that much) when reading it.

My solution for this? The conceal feature of Vim.

The good thing about lambdas is that they are (meant to) be used as local anonymous functions. That means that, while reading other parts of the code, you don’t actually need to know what the lambda is capturing, nor which are its arguments. So, it doesn’t hurt to hide them, right?

Naturally, when you want to edit the lambda head, Vim shows the actual contents of line, and not just some strange Greek symbol. :)

This also lowers the desire to use the potentially problematic [&] and [=] as the capture block, instead of explicitly capturing the variables that you need.

Edit: The code to achieve this:

.vimrc: set conceallevel=1 .vim/after/syntax/cpp/cpp.vim syn match cpp11_lambda "[[a-zA-Z0-9&= ,]*] *(.*)( *{)\@=" conceal cchar=λ syn match cpp11_lambda "[[a-zA-Z0-9&= ,]*]( *{)\@=" conceal cchar=λ
Categories: FLOSS Project Planets

Install Kubuntu on Windows XP Systems

Thu, 2014-04-10 09:27

KDE friendly web magazine Muktware has posted an article to Install Kubuntu on Windows XP systems for the millions of Windows XP machines which are now out of support.  With SSL breaking making the national news, you really can’t afford to be out of support.


Categories: FLOSS Project Planets

LGM 2014, one more year of awesomeness in Libre graphics software

Thu, 2014-04-10 06:42

Here’s my report of the Libre Graphics Meeting 2014 that took place in Leipzig last week:
-Very nice people
-Awesome projects
-Productive connections
-Time was flying (and a quadcopter drone too… ;P )

Seriously, it has been one more impressive meeting, big thanks to the organisers who made very good work!
And again, very big thanks to KDE e.V. for supporting me to can represent Krita there.
I could make a workshop about managing all kinds of assets in Krita, and participants were very happy about it. I also improvised a little lightning talk to forward the Krita Steam early access announcement that happened the same week.

Then, lots of unexpected productive discussions:
-I spent lot of time talking with Tom Lechner and learned some cool fanzine production tips, that make me want to do some now. And he’s a crazy good independant comics artist, so it was very inspiring to can discuss comics related topics with him.
He also has developed incredibly good new tools in his Laidout software, I definitely must give them a try! And I hope to see some of these tools included in others libre graphics software at some point, as he’s been working on the Tool Sharing concept..

-I met Manuel Quiñones, the one who made the xsheet-mypaint branch two years ago for a local animation production in Argentina. He is now working on a new “Xsheet” animation software from scratch using libmypaint for the brushes and GEGL as “canvas engine”. Again it was really good to can meet him and discuss animation related projects, and how his xsheet software could be used in combination with the Krita animation plugin that is in progress.

-David Tschumperlé from Gmic was there too for the first time, so it was great to finally meet him personally as we worked together recently on the colorize-comics filter. I hope to can send him good ideas for some new Gmic filters soon.

And of course all the other presentation and workshop topics were immensely interesting for someone working in graphics: fonts creation, raw photography workflow, all kinds of 3D work with Blender, Inkscape and SVG specs evolutions, the Libre Graphics Magazine team talks…

It was cool to see the Gnome design group talk, but then I’ve been thinking that the new Visual Design Group in KDE community was badly missing, so I hope some of them will be able to come next year.

Look forward to the conference videos that should be online soon, and the first LGM-people aerial-group-video recorded by Jakub Steiner from his funny quadcopter!

Categories: FLOSS Project Planets

Krita: Russian Translations Updated!

Thu, 2014-04-10 04:08
A picture by Georgiy Syptchenko
after a well-known series by David Revoy :)

Thanks to Georgiy Syptchenko from Krita Russian Community [0] Krita's translations into Russian got significantly improved recently!

We have already done three translation updates in Krita Lime repository and there are new changes yet to come!

So if you happen to speak Russian and want to help us with testing our translations, please follow this manual [1] and install updated translation packages!

[0] -
[1] -
Categories: FLOSS Project Planets

Recent Dolphin bug fixes

Wed, 2014-04-09 18:54

Some time ago, I wrote a blog post about changes in Dolphin 4.12.0 and earlier versions that reduced the memory usage and improved the performance. These improvements were only a small part of our efforts to make Dolphin more pleasant to use, however.

Here is a summary of all bugs that were fixed in Dolphin during the past months:

Dolphin 4.12.4
  • Bug 332143: When searching files by content, and Nepomuk is disabled, search in all plain text files. Before this fix, we only searched in files whose MIME type begins with “text/”, which excludes, e.g., shell scripts. See git commit c52ba944, review request 116805.
Dolphin 4.12.3
  • Bug 330047: Restore the URLs of both views correctly when restoring a session. See git commit be29aed5, review request 115406.
  • Bug 330605: Fix the problem that the Dropbox plugin prevents the git plugin from working. See git commit 2a6a1f5a, review request 116019.
  • Bug 305694: Show the correct icon size in the tool tip for the “zoom slider” in the status bar. See git commit 885d260c, review request 111197.
Dolphin 4.12.2
  • Bug 330126: Do not show tooltips while renaming a file. See git commit 8007143f, review request 115146.
  • Bug 330001: Always enable the “Create New…” menu if the URL is writable. Before this commit, this did not work in some special cases. See git commit 48653030, review request 115405.
Dolphin 4.12.1
  • Bug 328791: When adding columns in Details View, also update items that are currently filtered. See git commit 2260d70e, review request 114266.
  • Bug 329118: If a file is renamed outside Dolphin, update it even if it is filtered at the moment. See git commit c0a85189, review request 114459.
  • Bug 294054: Disable the “Create folder” action in read-only directories. See git commit 67bb99c5, review request 114560.
  • Bug 250787: Kill any running preview jobs before starting a new one. This fixes a race condition that could make the Information Panel show an incorrect preview image in some situations. See git commit 8ed499f2, review request 114561.
Dolphin 4.12.0
  • Bug 302703: Fix layout issues in the view when switching from Details View (without expandable folders) to Icons View. See git commit 69c9100f, review request 111632.
  • Bug 288629, bug 322299, bug 322812: Do not allow that panels are dragged out of the main window. This feature was not extremely useful, but it caused some serious bugs. See git commit 5583fc63, review request 111692.
  • Bug 321577: Do not enable the “Create New…” menu when a search is finished. See git commit 8325140a, review request 111805.
  • Bug 260717: Show the full information for a file in the status bar if only one file is selected. See git commit ba56ec86, review request 111934.
  • Bug 260717: Show the full status bar information also for hovered folders. See git commit 8941745b, review request 112106.
  • Bug 318518: Count the items inside subfolders (e.g., for the “Size” column in Details View) in another thread. This can prevent a blocking of the user interface while counting many files on a slow device. See git commit 81a6f33a, review request 111920.
  • Bug 324371, bug 325359: Make the code that removes items from KFileItemModel more robust. This fixes two bugs, including a crash. See git commit 84b40da8, review request 113070.
  • Bug 325543: Make it easier to expand folders in Details View with a large icon size. See git commit 4873685e, review request 113169.
  • Bug 323181: Abort loading the current URL if the user presses Escape. See git commit 1a997903, review request 113234.
  • Bug 304363: If an expanded folder with subfolders which are also expanded is collapsed and then re-expanded in Details View, ensure that the full expanded directory tree is restored. See git commit 07f0d125, review request 113293.
  • Bug 319282: Update the Places Panel entries when switching the language. See git commit 6dd2ae4e, review request 113850.
  • Store the selected items in a more efficient way. Rather than storing all selected indexes in a QSet, which requires a lot of memory and CPU time when pressing Ctrl+A in a huge directory, we now store the beginning and length of each contiguous interval in the selection in a sorted list. See git commit 5c5d87fe, review request 113488.
  • Simplify the relationship between DolphinMainWindow and DolphinNewFileMenu. See git commit d0a9410e, review request 111989.
  • Replace a loop that resets all items in a QVector to the default value by a call to QVector::fill(). See git commit 38adcc0c, review request 112179.
  • Simplify error handling of the “Create New…” menu. See git commit dd16a11d, review request 112178.
Dolphin 4.11.5
  • Bug 328262: When canceling a rename operation because a file with the new name exists already, do not change the file name in the view. See git commit 385e5fef, review request 114228.
Dolphin 4.11.4
  • Bug 287983: Do not truncate the text in tool tips for files with very long names. See git commit 1af756f1, review request 113101.
  • Bug 327224: Fix a regression that broke opening the trash by clicking the trash widget on the desktop. See git commit 1c856e44.
  • Bug 327412: When going back by clicking the “back” mouse button in the empty space of the view, do not select any items in the previous directory if the view is scrolled down. See git commit 41ece8e9.
  • Bug 306631: Fix incorrect scrollbar spacing when using the QtCurve style. See git commit 39e7ba46, review request 113902.
  • Bug 327709: Fix incorrect geometry updates of the view after resizing the window quickly. See git commit b3322111, review request 113939.
Dolphin 4.11.3
  • Bug 325344: Remove all children of expanded subfolders when switiching from Details View to Icons View, including the children which are filtered. See git commit befa646f, review request 112962.
  • Bug 267171: Show the right version control states for expanded items. See git commit bbbfeb28, review request 112980.
  • Bug 324479: Make it possible to select file names containing Space with the keyboard serch. See git commit c802f3d2, review request 113071.
  • Bug 161385: Reload the view if a previously unmounted device is mounted again. See git commit 7f8dca1b.
  • Bug 325517: Fix crash when triggering the “Compare files” action via D-Bus. Note that the new code is much simpler than the buggy version! See git commit 42c26b15.
Dolphin 4.11.2
  • Bug 286459: Fix colors in the “Services” section of the settings dialog. See git commit 91a2e523, review request 112483.
  • Bug 296970: Fix unwanted interactions between split views when searching. See git commit 576481d1, review request 112534.
  • Bug 311099: Scroll the view to the bottom when pressing “Page down” repeatedly. Before this fix, the scrolling stopped a few pixels above the bottom. See git commit 6566f757, review request 112678.
  • Bug 324713: If the view is sorted by “Size”, and there are some items with the same size, then these are sorted by their names. Ensure that the sort order is updated if one of these files is renamed outside Dolphin. See git commit be391bda, review request 112561.
  • Remove useless “Copy text” action from the status bar context menu. See git commit 4c17ce2c, review request 112355.
  • Bug 322093: Make preview loading faster when scrolling. See git commit bf2a0d69, review request 112580.
Dolphin 4.11.1
  • Bug 323248: Fix possible crash when disabling “Show in groups”. See git commit 292e11fc, review request 111919.
  • Bug 310662, bug 314339: Fix slow scrolling when hidden files or symbolic links are shown. See git commit 381b1796, review request 111956.
  • Bug 323518: Make sure that the sort order is correct after renaming – similar to bug 324713, which was fixed later in Dolphin 4.11.2, but for the case that the file is renamed in Dolphin. See git commit 6b375d2e, review request 111721.
  • Bug 314544: Fix crash when failing to get block device for audio CD. See git commit ae81a800, review request 112117.
  • Bug 323789: Prevent repeated expensive resortings if many files are renamed at the same time. See git commit 9cbca724, review request 111195.
  • Bug 322969: Fix possible crash after renaming files. See git commit 85f29746, review request 111988.
  • Bug 321710: Show the mime type “Folder” in the view also for subfolders which have not been accessed yet on disk. See git commit ab8ee1a6, review request 111830.
  • Bug 310412: Adjust the size and position of the selection toggle if the icon size is changed. See git commit f3ca9435, review request 112250.
  • Bug 304558, bug 321882: Fix filename trucation issues in Icons View if a maximum number of lines is set: sometimes file names were truncated too early, and sometimes, it was not indicated that a file name is truncated. See git commit 82d42b8d, review request 112265.
  • Bug 323946: When pressing the left or right arrow keys while a part of a file name which is being renamed is selected, move the cursor to the beginning or the end of the selection, respectively. See git commit d5521168, review request 112256.

These improvements were made possible by

  • Emmanuel Pescosta, who worked on an impressive number of bugs,
  • Christoph Feck, who not only handles a large number of incoming bug reports, but also contributed quite a few patches,
  • everyone who fixed bugs, provided advice, or tested patches: Albert Astals Cid, Alex Levkovich, Burkhard Lück, David Rosca, Grigoriadis Grigoris, Kai Uwe Broulik, Mark Gaiser, Phil Schaf, Wolfgang Bauer, and Yichao Yu,
  • sysadmins, packagers, translators, and many others who help to improve our software and get it to our users.

Categories: FLOSS Project Planets

Coming in 4.13: Improvements in the project plugin

Wed, 2014-04-09 16:01

Since version 4.10 Kate comes with a simple project plugin, as introduced here .
The project plugin works by automatically reading a simple json file and providing the information found there to various parts and plugins in Kate.

“Opening” a project

Projects are opened automatically by Kate. Whenever a file is opened, Kate goes the directories from that file upwards until it finds a file named .kateproject , which defines the project. This is a simple json file, which is intended to be written manually by the user.

The .kateproject file defines the name of the project, the set of files which belong to the project, and optionally commands for the build plugin .

In 4.13, “out-of-source” project files are now also supported (actually already in 4.12).  What does that mean ? You can create a .kateproject file in some directory, but it will refer to a different directory as root of the project. This is useful if you have multiple build trees for one source tree, and then need different build commands for each build tree.

Creating such a .kateproject file is easy, simply add a top-level “directory” entry:

{ "name": "MyProject", "directory": "/home/alex/src/myproject", "files": [ { "filters": [ "*.cpp", "*.h"] } ] }

So if you create this file e.g. in /home/alex/src/myproject-build/.kateproject, once the project is opened, the files below /home/alex/src/myproject/ will belong to the project “MyProject”. Again, to “open” this project, open any file in the same directory as the .kateproject file or any of its subdirectories in Kate. Kate will again automatically find the .kateproject file and load it.

Support for the improved build plugin

In 4.13 the build plugin has seen several improvements, the main one being that it is now possible to define an arbitrary number of targets, instead of being limited to 3. This is fully supported by the project plugin. Also the “old” format is still fully supported, and the .kateproject files can even contain both the old and the new format, so it works with the build plugin in version before 4.13 and also after.

Below there is a simple example for a hello-world project, which defines 4 targets for the build plugin: build all, clean, install and building just “hello”:

{     "name": "Hello",     "files": [ { "filters": [ "*.cpp", "*.h"] } ],     "build": {         "directory": "/home/alex/src/tests/hello/build",         "targets":[              {"name":"all", "build_cmd":"make -j4 all"}             ,{"name":"clean", "build_cmd":"make -j4 clean"}             ,{"name":"hello", "build_cmd":"make -j4 hello"}             ,{"name":"install", "build_cmd":"make install"}         ],         "default_target": "all",         "clean_target": "clean"     } }

So,  for each target, a “name” and a “build_cmd” is defined, and that’s it. One of the targets can be chosen to be the default target (which can be assigned a dedicated shortcut in the build plugin), and one can be chosen to be the “clean” target (again, which can be assigned a dedicated shortcut in the build plugin).

The screenshot below shows what you get when opening this project in Kate:

Build plugin showing 4 targets from a .kateproject file

I mentioned above that both the “old” and the new build plugin can be supported within one .kateproject file. To do that, simply put both target definitions in the file, they don’t interfer:

{     "name": "Hello",     "files": [ { "filters": [ "*.cpp", "*.h"] } ],     "build": {         "directory": "/home/alex/src/tests/hello/build",         "targets":[              {"name":"all", "build_cmd":"make -j4 all"}             ,{"name":"clean", "build_cmd":"make -j4 clean"}             ,{"name":"hello", "build_cmd":"make -j4 hello"}             ,{"name":"install", "build_cmd":"make install"}         ],         "default_target": "all",         "clean_target": "clean",         "build": "make -j4 all",         "clean": "make -j4 clean",         "quick": "make -j4 install",     } }

Here, additionally to the 4 custom build targets, the three hardcoded targets “build”, “clean” and “quick” for the “old” build plugin are defined. When this project is opened in Kate 4.13 or newer, these three old entries are ignored, and only the four new entries are used. When this project is opened in Kat 4.12 or earlier, the four new targets are ignored and only the old ones are used.

In the case that an “old” .kateproject file is opened, which contains only the old entries, these are used, and the three entries are used to create three targets, as shown in the screenshot below:

Build plugin showing 3 targets from an “old” .kateproject file


Using the project plugin with CMake-based projects

Until now, the only way to create .kateproject files was to write them manually. If you are using Kate with C/C++ projects which are built using CMake, there are more news for you. CMake 3.0.0 will be released soon, and among others, it will contain a generator for, guess what: project files for the Kate project plugin!  With that, run CMake, select “Kate – Unix Makefiles” as generator, and there you go, everything set up ready to use for you, including all targets of the project available in the build plugin.

Below is a screenshot showing running cmake-gui on CMake itself:

Running cmake-gui on the CMake sources, showing the available generators

As you can see, ninja is also supported.

Personally I still prefer Makefiles, especially for use with Kate projects. When using the Makefile generator, you get build targets for compiling every individual source file into an object file. This can save a lot of time when working on some source file and trying to get it to compile. Instead of starting to build everything, which involves dependency checking, and linking afterwards, you can simply just compile that one file (via the quick target select dialog of the updated build plugin), and if it failed, simply build the previous target again (there’s a shortcut for that) until it compiles, and then switch back to building everything (by building the default target).

In the screenshot below you can see Kate having loaded the project for CMake itself, listing the whole bunch of source files on the left, a long list of available build targets in the lower part, and the select-target-dialog on top, filtered already and the target for compiling cmMakefile.cxx is selected.

Kate showing a full project for CMake itself


After trying to compile the file, Kate shows you which errors occurred, and using a dedicated shortcut (I set it to F9) it jumps to the line in the code:

Build plugin: jump to error works

As can be seen, there is the parsed error, the status tells you that there were errors when building the target “cmMakefile.cxx.o”, and if you want to try again, there’s a “Build again” button right there.

Now, how do you actually open CMake-generated projects in Kate? The .kateproject file is generated in the build tree, and usually you never have to open any files from the build tree in Kate.  But to open the project in Kate, you have to open any, at least one, file from the build tree (this will trigger searching the .kateproject file, which will point the project plugin to the source tree). To help with this, CMake additionally generates a file “ProjectName@buildDirectory.kateproject” in the top level build dir, right next to the generated .kateproject file. Open this file, and Kate loads the project.


Loading a project via opening the “dummy” ProjectName@BuildDir.kateproject file

This has been done in the screenshot above,  and already you’re ready to go !


Last but not least, starting with 4.13, you can find documentation for the project json file in <PREFIX>/share/apps/apps/kate/plugins/project/kateproject.example.


So that’s it for now, I hope you find the new stuff useful.

Categories: FLOSS Project Planets

New KMyMoney website

Tue, 2014-04-08 18:27

This was a long-awaited change for KMyMoney. Even when we moved our source to KDE’s SVN a long time ago, the project’s webpage was still hosted in Sourceforge.
For a long time now we have had, and used that in all our documentation. That has made it easy to change now. After migrating all useful content from the Sourceforge site, all we had to was change the IP address in the DNS and, voilá! the new site is online.

I’d like to thank KDE Sysadmins, and specifically Ben Cooksley, who have been very helpful. From the time when I approached them via IRC through the whole process of setting it up, they were nice and helpful.
The new site needs a more personal KMyMoney touch, but that will wait until we finish the artwork update.

Categories: FLOSS Project Planets

Interview with Tago Franceschi

Tue, 2014-04-08 07:41

How did you first find out about open source communities? What is your opinion about them?

In 2005, a friend told me about Ubuntu, and since then I discover it. I love the open source philosophy, I think it's a great project and all those who participate are awesome people!

What was your first take on Krita when you tried it?

My first impression of krita has been very positive, intuitive interface and an excellent management of shortcuts and I don't know, for me, after using photoshop elements and gimp for several years, it was love at first sight!

What do you think needs improvement in Krita? Also, anything that you really hate about Krita?

For the improvements don't know, the only thing that makes me mad is the management of adjustments made with curves, I would prefer the bars with more or less ... I hope you understand what I mean …

In your opinion, what sets Krita apart from the other tools that you may be using?

In the past two years I have used only krita, I think it's for the responsiveness of the brush, with the tools that I used previously didn't have the same feeling.

If you had to pick one favorite of all your work done in Krita so far, what would it be?

Good question! Perhaps "bellezza sul lago".

What is it that you like about it? What brushes did you use in it?

In it I was able to retain, I think with a good result, different styles (impressionism and realism) in a single work. I used the default brush, with variation in size, opacity and shape (round and square).

Would you like to share it with our site visitors?

Sure, no problem!


Categories: FLOSS Project Planets

KDE, families and Randa

Tue, 2014-04-08 06:30

First and foremost I’d like to thank the KDE e.V. that they invited me to extended board meeting in Berlin two weeks ago. I got some more insights in the board’s work and could participate in the fundraising workshop on Saturday. So what did we learn?

“Ask, ask again and ask for more” and “KISS – Keep it simple and smart”. I hope to be able to apply this and the other things we learned to the fundraising campaign for the Randa Meetings 2014 which we’re going to launch in the next weeks.

Another thing where I was quite active in the last weeks is the “recruitment” for people that should come to Randa this summer. As you of course already know, two of the topics this year are the KDE SDK and the porting of apps to KF5 and other platforms. Thus I tried to get in contact with KDE-Mac people and then also got in contact with people from Macports. I’m currently working on bringing the technical parts of the discussion back to KDE-Mac mailing list.

And I’m working further to bring Windows, Android and the aforementioned Mac people to Randa. So if you’re interested and I did not yet get in contact with you (under which rock were you hiding?;-) get in contact, please. One of my personal goals is it by the way to get some “foreign” machines to our CI park, namely Windows, Mac, Android and Co . There e.g. the CI people could be of valueable help.

On another topic or actually the middle one in the title above: I’m happy to tell you that this year we’ve already three or four participants registered for the Randa Meetings whom will bring their families with them to Randa. Don’t fear, none of the money of the KDE e.V. will be used to pay their accommodation or travel and food costs. They will pay for their families’ stay. But why do I think that this is so nice?

Because I think this is an important step and the right direction. A huge problem of many free software communities is the fact, that contributors leave after they get graduated or get families. So it’s (IMNSHO) only in the best interest of KDE if there are possibilities for KDE contributors to bring their families to KDE meetings. It is nice if you can hack on KDE software during the day and eat lunch and dinner with your family and spend the evening with them. And who knows probably we need to organize a day nursery in the coming years.

But what about the coming years and my family? First and foremost I’d like to write here a huge and humongous thank you to my family, the small and the big one and even some farther relatives. Without them I couldn’t organize these meetings in Randa. So as you may have already read some time back I decided to found an association for the Randa Meetings and each year since the founding I was searching for some local sponsors for some expense allowance for me and some other helpers. Do you have any idea what amount of work it is to cook for this crowd for a whole week. You won’t believe how much KDE and free software people eat .

And to be honest for the coming years I plan to stabilize this expense allowance or even small wage even more. But don’t fear (again . None of the money of the KDE e.V. or the planned fundraising campaign will land in my wallet! I just want to be able to keep the Randa Meetings alive for the next years (I roughly estimate to work one to one and a half month on the organization of a single edition of the Randa Meetings) and thus look for new opportunities. So if you have some ideas tell me or at least participate in this is short and tiny (takes around a minute to fill in) survey or poll about this topic. Would be nice to have it widespread…

But what’s next for the Randa Meetings beneath the fundraising campaign? In the coming days I plan to poke and email the people and groups that are already registered for the sprints in Randa that they should check their data, check their groups and see who is missing and who needs to be poked. We need to fix a more or less final budget till the end of April.

So stay tuned when we launch the fundraising campaign for the Randa Meetings and help us to spread the word. Thanks for reading and don’t forget to flattr me below .

PS: This blog post already got a bit larger than planned but here is another PS :
PPS: In the coming days I plan as well to check the wiki pages for the Randa Meetings and add some information about the some hardware present at this year’s meetings (e.g. touch screen, WeTabs, etc.) which you can use and I will add some additional information for families.

Categories: FLOSS Project Planets

Qt on Android Episode 4

Mon, 2014-04-07 14:11

erratum 2014-04-13: Updated Bundle Qt libs pros and cons.

After we’ve learned how to set up the development environment and how to use Qt on Android, it’s time to move forward and in this article we are going to learn about different deployment systems and how to sign the package in order to publish it in any Android markets.

Choosing the right deploying system

Qt Creator supports three deployment systems:

  • Use Ministro service to install Qt
  • Bundle Qt libs in APK
  • Deploy local Qt libs to temporary directory

Use Ministro service to install Qt

Back in 2009, when I started this project, there were only a few devices out there with Android. Most of them had very limited free space (less than 100 Mb), so, using Qt statically or bundling Qt libs into the APK was out of the question, also back then Google Market had way more limited size than today (50Mb limit/apk). As you can see I was forced to invent Ministro.
Even today most of the mid/low-end devices don’t have too much space!

How it works?
  • Instead of bundling everything into your APK, your package will contain ONLY your application .so file(s), its needed resources and a list with all needed external libs.
  • When your application starts, it tries to connect to Ministro service, if it fails it means that Ministro is not installed and it opens the Android Play for the user to install Ministro. After it successfully connects to Ministro, it sends the dependencies list.
  • Ministro checks if these dependencies are already available, if not, then it downloads only the missing ones in a central secure location and it sends back to the application another list with all the needed libs that the application must load before it loads your qt application.
  • The application loads the libs from Ministro’s location, then your application, then it continues the running process.

Now let’s see the advantages and disadvantages of using Ministro.


  • Using Ministro, the user needs to download the Qt libs ONLY once. If the user downloads another Qt application, it will use the existing libraries. Of course if that application needs more libs, Ministro will download only those that are missing.
  • Ministro can detect if the device armv5 CPU has VFP or if the device armv7 CPU has NEON and it can download libs specific to that device CPU. Even if your application is not built with these CPU features, just using Qt libs built with them will make it run faster (on armv5, VFP really makes the difference, it will be way much faster). Currently these libs are not available, but I intend to publish them starting with 5.4.
  • Ministro can upgrade Qt libs, without you needing to release a new application.
  • You can target all Android platforms with a single APK. Because most likely your application (.so) file(s) are not very big, they can easily fit into a single APK. If your application doesn’t do intensive computation you can use only armv5 .so files to target both armv5 and armv7 platforms, because even if your APK contains only armv5 libs, Ministro will download the Qt libs specific for your device.
  • You can use your own Ministro sources with your own libraries. Basically you’ll need an HTTP/HTTPS server with a valid certificate and to create and upload Ministro’s repository to that server. Because there is a lot to tell on this topic, I’m going to create a wiki page with all the information you need about this topic.


  • Some people don’t like Ministro because the users must install Ministro service once. There are lots of apps out there which require other services, if my mother can install and use Google Hangouts on an older Android version, which needs Google Play service to be installed manually, or MX Player that needs MX Player Codecs to be installed manually, I’m pretty sure she will be just fine with any Qt application which requires Ministro to be installed once.
  • Ministro upgrades Qt libraries and it might break things. I’m very concerned on this topic! To address this problem Ministro uses a different location for every major Qt release e.g:

    Even more, every source is using a Debian-like release scheme with three different repositories:

    • unstable – this is a pre-release repository used by Qt Project/Necessitas developers to test a new release. Before a new SDK release is announced, this repository is used to push the new libs and test it before officially announcing it.
    • testing – after all tests pass, the libs are moved from unstable to testing repository and then we announce them on!forum/android-qt, and on The new version will stay in testing repository for at least one month to give enough time for the developers to test their existing apps using the new libs. Additional updates will be released in testing repository and the period may be extended if any regressions are reported. A new update must stay at least two weeks in testing repository.
    • stable – after testing repository is regression free, the libs are moved to stable repository. It is very important that testing repository is regressions free before it lands on stable because in ~7 days all Android Ministro users will be notified about the new release and it will be very unpleasant if the users apps do not run any more!

Using this scheme Ministro users have no regression in 4 years and 13 Necessitas releases and 5 Qt project releases!

As you can see Ministro is quite safe on this matter!

Bundle Qt libs in APK

This feature was added recently to Qt Creator. Beside your application and your resources, Qt Creator adds all Qt libraries that your application needs to run.


  • The APK contains everything it needs to run.
  • erratum 2014-04-13: The ability of including custom builds of Qt. Improves time-to-market as you don’t have to wait for official releases before you can get your crucial bug fix. There’s also no waiting period after a new version of Qt is released before you can deploy it with your application.
  • erratum 2014-04-13: The Qt libraries are not updated behind your back, no worries about sudden regressions.
  • erratum 2014-04-13: The libraries will be served with your package in the store’s main infrastructure, whereas the Ministro libraries are served in the Qt Project infrastructure. The latter has not been tested for very large download volumes, so at this point we do not know how well it can serve a hugely successful application.
  • erratum 2014-04-13: If done through Google Play, the download goes through the regular mechanisms on the device, so it continues in the background when your user suspends it, with progress indication in the status bar, and it obeys your users’ settings regarding downloads and updates over a mobile data connection.


  • The APK is HUGE due to Qt libs which are pretty big (+40Mb/platform). erratum 2014-04-13: The APK is big comparing with the Ministro’s version, due to Qt files which are pretty big. Qt files can go slightly over 40Mb/platform if you are going to use all of Qt modules. Of course your application doesnt need all the modules, so, if your application uses only Qt Quick Controls + Qt SVG + Qt Multimedia + Qt Sensors + Qt XML modules, Qt files (libs + plugins + additional files) are ~20Mb/platform and your APK will be ~10Mb.
  • All Qt libs must be unpacked! So your application will need a lot of free space to run (+50Mb) erratum 2014-04-13: The APK is NOT deleted after you install the application, but is kept by Android O.S. in order to access its assets, so, don’t forget to to count its size as well. At first run, our application will extract Qt libs and plugin to the application home folder. To check exactly how much space your application uses, you have to go to Settings->Apps->your application, and check Total of the STORAGE section. I checked gallery Qt Quick Controls example with Qt SVG + Qt Multimedia + Qt Sensors + Qt XML and it occupies slightly over 35Mb. Currently only just a very few apps on Google Play require that much space to run.
  • Most of the mid/low-end device users can’t afford to spend that much free space!
  • Due to big size you can’t target more than one platform/apk. You must create an APK for every platform (armv5, armv7, x86). This will be confusing for armv7 users because AFAIK Google Play will list your application twice, once for armv7 and once for armv5 (see MX Player Codecs). If my mother can install a simple application, I’m pretty sure that she doesn’t know what kind of CPU her phone has, actually I’m pretty sure that she doesn’t know what a CPU is or if her device has such a thing … erratum 2014-04-13: it seems that Google Play doesn’t list your application twice.
  • Can’t use VFP on armv5 devices and NEON on armv7 devices.
  • Qt libs can’t be shared by multiple Qt apps on the same device.
  • Can’t get Qt libs updates automatically.

As you can see there is no perfect solution, the pros from Ministro go to cons of the Bundle Qt libs in APK and the cons go to pros :).

Deploy local Qt libs to temporary directory

This deploy system is used mostly by Qt hackers when hacking on Qt itself because it is the fastest way to deploy modified Qt libs on the device to test them. Do not use it in production!

In the end you are the one who will make the choice, I just wanted to present you all the advantages and disadvantages of every deployment system.

Package Signing

This is the last and most important step before publishing. In order to sign the package you’ll need a keystore and a self-signed certificate.

If you don’t have such a certificate, Qt Creator can help you to easily create one, you just need to press create button and fill the keystore and certificate fields, check the following image:

You can only upgrade your application with the same certificate you publish it with! So, make sure you are making backups of the keystore file.

If you already have a keystore, then just browse its location.

Next step is to switch your project to release and check sign package and open package location after build, check the following image:

After you’ve pressed run button, in a few moments Qt Creator will open the location where your package was built and signed, be sure you are choosing the signed one (QtApp-release.apk)! Check the following image:

That’s all folks, see you next time when will see how to use JNI to extend our Android applications.

The post Qt on Android Episode 4 appeared first on KDAB.

Categories: FLOSS Project Planets

Monday Report #10

Mon, 2014-04-07 09:45
In which we mention the recent Alpha, gush about Community Design its problems and gains. Talk about whats coming for Plasma Next AND hand out freebee's - also we confess to have done something bad and say "sorry". 
"Hello, this is the Future. I just called to say we're coming."
Ok so first off the Alpha is out as I'm sure most of you have seen. This means that time is running up and this summer will definitely be the baptism of fire for this "Community Design" thing we got going.

This whole process has been mostly pain-free up until now so I would like to take a moment to get you all in on the trials to come.

The first issue is marketing. Community Design, when everything happens in the open, is not as easily marketed as Closed Design. There is no "Big Reveal" with a ton of features and looks you've never seen before because you've seen the process from scratch. Sure there are some secret projects, but they are moving towards an open situation as we speak.
Second is name recognition: we don't have massively famous designers that we can refer to - we have community members all as relevant as anyone else on the project.
Third, when there isn't a dedicated team progress can be jumpy. It can be at a standstill at times and it can move at the speed of light at others. It all depends on how much community members wish to concentrate on any one issue.

Now at one point EVERYTHING will be handled by the community with Community Organizers handling different sections and a Project Lead to pick up eventual slack. There will be a list or a roster where you sign up who's doing what without being binding (meaning if you suddenly don't have time there should never be any shame in saying "You know I can't do it now sorry") - until then this half-and-half will do.

So why do it? Because of many good reasons. Firstly my predecessor worked himself to the bone for the design for the last version of Plasma. Nuno Pinheiro made Plasma's (KDE 4's) design through the ample use of blood, sweat and tears and that work was almost too much for him (the fact that he did it amazes me. I would have gone around and slapped Plasma Devs at the half-way point)
We need to spread the burden around.

Second Open Source works magic - but design in Open Source is still closed. Why have a handful of experts when you can have hundreds of designers who can do it in cooperation and passion. Why hold yourself back?
Thirdly if there is anything my art-history studies teaches me is that art, design and all has often been tied in with an elite. With that it becomes stagnant until it is broken free and opened to a larger community. Design has to be done something common - something we are all allowed to do.

But what about Plasma Next? Well let me tell you! We're trying to figure out how to get a new widget theme into the next version of Plasma (widget themes are a PITA) and that's puttering along. The Plasma Theme is all on and will be compliant with the color theme chosen. Icons are puttering along and will hopefully be up somewhere around summer. Hopefully widgets and window decos will come in time for the next version of Plasma.

There is also two new cursor themes! It's made by the VDG Community members, Kver's Bridge (and Snowbridge) Cursor and Sir_Herrbatka's Perspective. Both are hoped to be included in Plasma Next as they follow two different goals for the design (one using Oxygen as starting point and one going for clarity).
This is also another moment to talk about the awesomeness of Community Design! LegnaVI and Leroux helped out with both, Flying Sheep helped Kver with Bugfixing and the whole process was one of amazing cooperation and support. I can only be impressed as hell at everyones (there where more) work!

BridgePerspectiveYou can download Bridge here and Perspective from KDE look here!
Also this is my moment to say sorry for screwing up the landing in the thread when I couldn't find the Perspective image AND failed to see that Andrew was supposed to do the presentation... Sorry guys and especially Sir_Herrbatka who has all right to feel a bit angry at me. Wont happen again. You can read their awesomeness and my bumbling mistake here!

Oh but there is more! Andrew has started work on new logout dialogues and David (one of the Plasma Dev's) have started working on it.... iiiih! "Teh Exitez!" as the kids say these days (darn kids)!

Yes it is awesome & yes it will be brilliant!Further a new thread for wallpapers has opened up (because we need to look at more wallpapers and I can only urge everyone to join in AND we're gonna start working on a new Splash screen!

Good gods there is more though! I suggest checking in Kmymoney and their blogpost about the recent design work gone into their application and all done on the VDG forum! There is simply too much to write up at this point! :D

Ooooooh the future is so bright I am getting third degree burns! Talk later gotta work now!
Categories: FLOSS Project Planets

Stirling Chat

Mon, 2014-04-07 08:28
KDE Project:

Lydia brought a load of friends over from Germany to visit the sights of Stirling. Paul threw a party for her friends. I canoed up the Firth of Forth to visit and drank lashings of ginger beer.

Categories: FLOSS Project Planets

Welcome to another hack-night in Gothenburg

Mon, 2014-04-07 06:38
This post is in Swedish, please ignore if it does not make sense to you. Välkomna till en hackafton den 23/4. Vi träffas och hackar på våra projekt, samt lyssnar till två korta föredrag. Vi bjuder på lättare förtäring under hackandet och sedan
drar vi vidare till Biljardpalatset och umgås. Spelar licensen någon roll? Henrik o Rikard / Morus Vi tittar på hur företag idag använder FOSS. Vilka möjligheter finns och vilka trender ser vi nu. Vi börjar och avslutar med ett licens-Quiz. Introduktion till BeagleBone Black

Johan o Jeremiah / Pelagicore
Vi presenterar BeagleBone Black-plattformen – en perfekt utgångspunkt för Linux-baserade hårdvaruhack. Vi bygger en Yocto-baserad distro för den, men kör även en färdigbyggd Debian-distro.

Registrera er här! Antalet platser är begränsade! Pelagicore sponsrar med mat och lokaler!
Categories: FLOSS Project Planets

Working on new artwork for KMyMoney

Sun, 2014-04-06 01:21

From KMyMoney, we requested help from the Visual Design Group to update the artwork, in preparation for the release of our version 4.8.
We got some initial feedback, and then lucashappy showed up and got to work with it, and what a wonderful job he did.

DISCLAIMER: What you see is work in progress. Nothing has been accepted, and least of all, changed in source code. Don’t go pulling from git expecting to find new bling. Not this bling at least.

Initially, he submitted this.

And we went through several iterations to get to this

and this.

It’s not only the logo, we also have to update that start up and summary pages. I think this is where he excelled to round up a concept for the new artwork.

This is an ongoing process, but I really the way it’s taking shape, and I’m certain we’ll have a new artwork in the upcoming version.

Here is the forum thread if you want to chime in.

Categories: FLOSS Project Planets

Last month (March) in Red Hat KDE

Sat, 2014-04-05 13:17

Another part in the series "what's happening in the KDE world in Red Hat", enjoy :)

Network Management (jgrulich, ltinkl)

  • plasma-nm - porting to KF5 and Plasma Next
  • libn[nm]-qt - porting to Qt5
  • working on Plasma Next and KDE Frameworks 5 in Fedora
  • working on Fedora Plasma First Boot - added network page
  • #331962 - Plasma-nm "connect/disconnect" buttons have same text
  • #332590 - Systray icon is not always updated correctly
  • #332188 - wrong notification for (wireless) network connection activated at login
  • #331994 - Editor still not localized
  • #1072109 - Signal strength being not consistently reported for two APs with same SSID, different BSSID
  • #1073792 - Needs to be rebuild against new openconnect
  • #1071317 - Erroneous "last used" report
  • #1073656 - "Edit Connection" window doesn't memorize VPN password when settings change (Store option is selected) [KDE]
  • #1074244 - undefined symbol: _ZN14NetworkManager12connectivityEv

KDE PIM (dvratil)
  • started working on Akonadi Framework (porting kdepimlibs/akonadi to Frameworks)
  • spent most of the time with bugfixes and optimizations in Akonadi for the 1.12 release
  • released Akonadi 1.12
  • attended KDE PIM Sprint in Barcelona (will publish a blog post later this week)

Display management (mbriza)
  • Continued development of the new Qt authentication library
  • The C++ API is basically complete
    • QML bindings are complete
    • Example applications are complete
    • Currently working on polishing the backends: writing one for /etc/shadow and improving handling of the Fedora PAM prompts.
  • Developing a SDDM branch against QAuth (above)

  • #1070813 - missing -fstack-protector-strong
  • #997526  - Add package "sapconf" to the "RHEL for SAP Business Applications" SKU/RHN channel
  • #1067111 - Adding second panel on second monitor places panel on top
  • #1075521 - kde-plasma-networkmanagement-openswan has unresolved deps to NetworkManager openswan
  •  #1049325 - plasma-desktop consumes 100% of CPU
  •  #1072485 - [abrt] kdelibs: KCrash::defaultCrashHandler(): kdeinit4 killed by SIGSEGV
  • #1058857 - Red Hat logo in Plasma panel is poorly resized
  • #1064002 - ksysguard shows no network traffic for interfaces with long names
  • #857002 -  Reproducible segfault with Umbrello

Fedora (all)
  • COPR builds with development version of kde-plasma-nm
  • COPR builds with KF5 Alpha 2
  • KDE Telepathy 0.8.0
  • some hacking on Plasma 2 packages, so that we can actually log into Plasma 2 session
  • forked the dgroc script for nightly builds in COPR so that we could use it for our KF5/Plasma 2 repository (not finished yet)
  • started working on Fedora Plasma First Login wizard
  • Another kde-connect update.
  • Debugging polkit in Plasma 2 (was fixed by fixing the login).
  • Fedora Plasma efforts. 

Brought to you by: Martin Bříza (mbriza), Jan Grulich (jgrulich), Than Ngo (than), Lukáš Tinkl (ltinkl) and Dan Vrátil (dvratil)

Get the latest and greatest of Fedora and KDE at

You can find us on #fedora-kde channel on Freenode IRC
Categories: FLOSS Project Planets

KDE Visual Design Team’s Favourite Distro

Fri, 2014-04-04 12:49

After many years of the lovely Nuno working on artwork without much success in creating a community the all new KDE Visual Design Group has got something exiting going with people working on a new widget theme, new Plasma theme, new font, new wallpaper, new icons and new cursor theme.  Exciting.  Best of all in chatting with designer Jens today it turns out most of the designers use Kubuntu – the first choice for classy artists.

Categories: FLOSS Project Planets