Language Selection

English French German Italian Portuguese Spanish

Kde Planet

Syndicate content
Planet KDE -
Updated: 3 hours 50 sec ago

KDE’s Snap Packages

Tuesday 23rd of April 2019 02:54:06 PM

The Linux world has always worked with a develop and deploy model where software gets written by projects such as KDE and then distro projects pick that up, polish it and give it to the user.  No other computer environment works like this and it goes against the fashion of DevOps concepts where the people who code are empowered to deploy to the end user going through QA as appropriate.  We changed that with KDE neon where we brought the packaging into KDE making .deb packages. That integration allows for blockages and imperfections which get identified to be solved easily through the most efficient channels.  Kipi Plugins is a good example of this, KDE dropped the ball here by stopping releases. Nobody noticed until as a packager I wondered where it had gone, realised it was no longer being released and, because I work directly in the project responsible, could easily fix that in the right place.  With new containerised formats Linux is changing, and projects like KDE can now package software and send it direct to the user.  I’ll discuss this more in a future blog post but for now lets look at Snaps where last week, for the first time, KDE Applications was released with 50-odd apps available directly for all to enjoy direct from the Snap Store.

Give it a Try

First you need to install snapd which comes as default with KDE neon and Ubuntu distros but others will probably need to enable it manually.  See the Snap set up guide.

For Plasma Discover integration you should also install the Plasma Discover backend snap package, it is called ‘plasma-discover-backend-snap’  in Debian/Ubuntu/neon but the naming convention in your distro may vary.

You can now install Snap packages directly from the store which uses snap:// URLs to start Discover and install them.  You can also install snaps from the command line.

If you look at the KDE page on the Snap Store you can see the 50+ packages we have available today.  Most of the packages are fairly simple apps such as games and education apps, future work is to do many more KDE apps.

Snap Store? Channels? Who controls this?

Snaps follow a similar model to other large providers like Android, iPhone, Windows, Steam, etc with a centralised store, in this case run by our friends at Canonical.

There is a KDE publisher account on the Snap Store which is currently controlled by your friendly KDE neon team.  Anyone can make their own publisher account, and there’s a nifty feature to mark it as a collaboration between several accounts. For example Kdenlive is made by the Kdenlive Jean-Baptiste but the KDE account also has access.

The Snap Store features channels intended for software in different stages  of their development cycle, this mirrors quite closely what we do in KDE neon for our .deb archives.  Most users will only care about the Stable channel offering thoroughly tested software.

There is also the Candidate channel for testing builds of released software. The Edge channel is for Git master builds same as Unstable in KDE neon and the Beta channel is for Git beta branch builds same as Beta edition in neon. By default Snap will only install stuff from Stable and you have to ask explicitly for other channels but this is a great way to be testing pre-release software.

When uploading to the Snap Store for the first time there is a manual review package by archive admins which is similar to uploading new stuff to Ubuntu or many other distros, you also need manual review when you first upload a Snap package which asks for special permissions such as talking to DBus. The reviewers are nice people inside Canonical who you can ping on the Snap forums if you need to.

You might notice the KDE publisher page on the Snap store is missing a load of icons and other met data such as screenshots. These should come from AppStream files but AppStream support is still working its way into the Store backend and build tool snapcraft so not all the icons are there yet. It seems we need to work out how to use a newer snapcraft on KDE neon servers to get all these magic features sorted.

Snapd runs on your system and takes care of downloading and installing the packages. It will update Snap packages automatically so you can be confident you’ve got the latest and greatest provided by the publisher.

How’s it Built?

Snap packages are built with a snapcraft.yaml file to define how and what needs to be built by a tool called snapcraft.

In KDE neon, we have a load of Git repos for our .deb packagingm and we have reused these for our Snap packages. The neon repos are documented on the KDE wiki, and asa KDE project, all KDE dev account holders have full access. For example, KAtomic has a snapcraft.yaml file , a metadata icon and .desktop file.

Here at KDE neon tower, we have a team of guinea pigs building our .deb packages. , We have repurposed the same guinea pigs to build these snap packages. , The build jobs get created on KDE neon Jenkins servers and when someone triggers them (any KDE dev has access), the build is made on the floating cloud of guinea pigs. If successful, it is uploaded to the Snap Store.

KDE neon Tower

This is nice, but is still not as integrated as it should be. Newly released sources are built and uploaded to the Candidate channel on the Snap Store, which then needs manual review before moving to the Stable channel. Thist should get automated using openQA.

And there’s not really any need for any of it to reside on the KDE neon servers, everything should be even more tightly integrated with the rest of KDE and built as part of the new CI system, and then uploaded from there. It shouldn’t be the responsibility of KDE neon team to make these, it should be done as part of the app development process.  So jump on board and enter a new world for empowered, rapidly released software!

To find out more about the Snap format follow the tutorials, read the docs and browse the notes on KDE paticular stuff.


Bundle Up, It's Time To Discover Some Apps

Tuesday 23rd of April 2019 02:23:04 PM
The Short Of The Long(or tl;dr)Would you like to try out Discover's AppImageHub integration? Sure you do! You'll need Discover from git master, and you'll want to install the storekdeapps.knsrc file (which you for now can get by installing the bits found in this scratch repository). Then all you need to do is start up your shiny, new Discover and navigate through Applications to the KDE Store Apps category. Early days, but there you go!The Long of the Short(or gimme all that juicy stuff)And now the long version with me writing about history and stuff, accompanied by a bunch of screenshots and old videos and doodads and whatnot!
2009: The Gluon YearsOnce, in the long ago times, before i had finished attending university, i and a few others got together to describe what we then called Gaming Freedom (thanks for providing us with a functioning link, there, as we've shut down the original site). Some of you reading this will remember a project called Gluon, which was designed as a (primarily) 2D game engine, which would use QML as both the UI language and the internal scripting system, and envisioned as a way to easily create, distribute, play and interact with games, as both creators and players of games. Have a video of me talking about this idea for a while:

Social Games Presentation at Akademy 2010 from Dan Leinir Turthra Jensen on Vimeo.2010: The Age of BretznLater on, straight out of university, i was hired by then front person Frank Karlitschek to work with him and a few others on Project Bretzn, which was envisioned as being a way to close the loop and provide a fix for the questionmark on the number two step in the following three-step process:
  1. Build app using some IDE
  2. ?
  3. have users download app from e.g.'s software categories
You might notice a similarity between this and the concepts we described in Gluon's vision. In this project, however, we did indeed achieve the goal, at least for some Linux distributions, by using the then newly renamed Open Build Service to do the heavy lifting of actually building packages. We did this through creating a plugin for Qt Creator which created a set of basic OBS instructions, upload sources, and then once OBS had created packages, distribute those automatically using the Open Collaboration Services API, for which we created an extension supposed to interact with OBS directly. You might be forgiven for not having heard too much about this effort; while it did in fact work, it was perhaps a little more like a proof of concept than an actual, finished product, and after six months of work, we ran out of funds and i had to find somewhere else to pay my rent.

2016: Splitting FrameworksSince then, i have been working on Open Collaboration Services and KNewStuff on and off, and in the autumn of 2016 i fronted a project to split KNewStuff's UI logic from the logic of its core. Initially this was aimed at allowing the use of KNewStuff entirely without having to link to QWidgets and the like, but it also resulted in a much more sleek engine, which reduced the requirements of the KNewStuffCore to a strict minimum (that is to say, while the KNewStuff Framework is Tier 3, if you only require KNewStuffCore, you can consider it effectively a Tier 2 Framework).
As a result of this work, in addition to being able to build store support into the Peruse comic book reader, it meant that the shiny new software manager Discover was able to finally start allowing users a central location to manage the Plasma extensions and addons which were previously managed in all sorts of varied locations throughout the Plasma Desktop UI. It further, and very rapidly, ended up also showing literally all Application extensions provided by any KNewStuff configuration file found on the system, again in one central location.2017-2018: Folksonomic AdaptationsOne thing which has, arguably, been missing from the Open Collaboration Services API is the ability to filter on types of information which are highly tied to the specific type of content found in some category. The reason this feature has been missing is that OCS itself is designed very explicitly to be content type agnostic. What that means is that if some piece of information is not generally applicable to the vast majority of content, then it isn't exposed through the API.
A couple of examples describe fairly simply how this might be less than great: Say you have a category which is supposed to contain electronic books. This might cause problems for clients consuming this content, as while that might be interpreted to mean anything like epub, mobi, cbz, cbr, dejavue, pdf or indeed any other number of assorted formats used to distribute electronic book content, not all clients are going to be able to actually consume that content. So, being able to filter out bits that you don't support would be very handy.
Since the end of 2018, both the KDE Store, and the Attica and KNewStuffCore frameworks support filtering by a variety of bits of information which are defined per category, rather than directly in the API. See also this maniphest task for the proposed OCS extension (and if anybody reading can help me get my fdo account credentials back so we can get it ratified, do get in touch ;) ).2019: Bundles of DiscoveriesWith the ability to filter things based on any arbitrary number of things, it was finally time to get all of this tied together and put a nice bow on top. We had always had the ability to show the applications in Discover, ever since the KNewStuffCore split, but they would invariably show up in a huge bunch listed simply under the name of the configuration file representing them, and underneath the Application Addons category rather than Applications, and you would also get shown literally everything in the categories as well, rather than only the applications you'd be able to actually download and run on your particular device, as well as a few other little annoyances (like the Launch button saying Use instead).
As of now, while things are not rosy and there is certainly more work to be done, we are a very great deal of the way there, and i think it's time i did that thing where i ask people to try it out and tell me which bits are absolutely totally wrong and where i can then see who is wrong (likely me) and how to fix it (hopefully easily).
Thank you to the one or two people who've read until now, and i hope you've enjoyed reading about my personal journey through software distribution :DYou promised me screenshots!I absolutely did, and here you go! The culmination of ten years of scheming and plotting has come to fruition, and we finally have a way to deliver software in a more social fashion. Now, I realise you are going to scream at us all and say distributions are great at this. They totally are, and that's not the point here, and i would like if we could aim that discussion elsewhere (you will notice how Discover still very much has all the distribution packages up front and centre, particularly in the last screenshot).
That's a whole lot of applications there, in a whole lot of nicely nested categories, you might say, and you'd be right, thank you so much for noticing that!Oh look, SuperTux, i know that game! Nice screenshots there, think I might just click install on that one.
Oh hey, now that it's installed, guess I'll just click launch...

Nice, let's do this thing, time to do a bit of running and jumping with our favourite, lovable chubby penguin mascot!
Hey, look, it's right there alongside all the other bits of software I've installed, how handy!

The word of the day is: Sunshine. Because we seem to have it now, yay! :)

[Some] KDE Applications 19.04 also available in flathub

Monday 22nd of April 2019 10:40:05 PM

The KDE Applications 19.04 release announcement (read it if you haven't, it's very complete) mentions some of the applications are available at the snap store, but forgets to mention flathub.

Just wanted to bring up that there's also some of the applications available in there

All the ones that are released along KDE Applications 19.04 were updated on release day (except kubrick that has a compilation issue and will be updated for 19.04.1 and kontact which is a best and to be honest i didn't particularly feel like updating it)

If you feel like helping there's more applications that need adding and more automation that needs to happen, so get in touch :)

Kdenlive 19.04 released

Monday 22nd of April 2019 08:00:19 AM

We are happy and proud to announce the release of Kdenlive 19.04 refactored edition concluding a 3 year cycle in which more than 60% of the code base was changed with +144,000 lines of code added and +74,000 lines of code removed. This is our biggest release ever bringing new features, improved stability, greater speed and last but not least maintainability (making it easier to fix bugs and add new features).


New refactored timeline


Split Audio/Video

We have changed the way timeline tracks work. Each track is now either audio or video, and will only accept audio and video clips respectively. When dragging an AV clip from the project bin in timeline, the clip will be automatically split, the video part going on a video track, and the audio part on an audio track.

  Configurable layout

Tracks can be individually resized. (Holding down shift makes all video or audio tracks change in height simultaneously.) 

Switch live between two different layout modes (Mixed or Split).

  Keyboard Navigation

You now have the possibility to move clips and compositions with your keyboard. To do it, select a clip in timeline and use the “Grab Current Item” (Shift+G) function from the Timeline menu.


You can then move the item with your arrow keys. Keyframes can also be moved individually. Just click on a keyframe in timeline, then move it left/right with arrows, change its value with + and -. Alt+arrow to go to another keyframe.

  Improved keyframe handling
  • Add a new keyframe by double clicking in timeline.
  • You can move a keyframe without altering it’s value by using the vertical line that appears when you are above or below a keyframe.
  • Remove a keyframe by dragging it far above or below the clip limits.

  Audio Recording

An option in track headers allows you to have audio record controls. This enables you to play your project while recording a voice over comment. Very handy for making tutorials. (Not available in the AppImage version yet.)

  Other improvements
  • Configurable thumbnails for each track. You can choose to display between In frame, In/Out frames, All frames or No thumbnails.
  • Improved workflow due to keyboard shortcuts and track targets.
  • Added group hierarchy (group of groups).
  • You can now copy/paste timeline clips between different projects (if you have 2 running instances of Kdenlive or after opening a different project) using the standard copy/paste.
  • Clip name always displayed when scrolling.
  • Individual clips can now be disabled while still in the timeline but with no audio and no video – (works for all clip types)
  • Faster timeline preview with support for hardware accelerated encoding.
  • Improved feedback on move/resize.
  • Automatic timeline color switch when changing the color theme.
  • When using the Razor tool (x), you can now press shift while moving the mouse cursor over a clip to preview the cut frame.


Project Bin
  • Improve management of proxy clips (can now be deleted for each clip).
  • Shortcut icon to drag only the audio or only the video of a clip in timeline.
  • Improved management of audio/video streams, also allowing to enable/disable audio or video for a clip.

  • Monitor toolbar: move with the mouse to the upper right corner of the monitor to access the toolbar.
  • Support multiple guide overlays.
  • Shortcut icon in clip monitor to drag only the audio or only the video of a clip in timeline.
  • Support for external monitor display using Blackmagic Design decklink cards.

  Effects and Compositions
  • Major improvements to the Speed effect.
  • Added back the Motion Tracker.  (For compiled MLT versions with OpenCV support only.)
  • You can now define preferred effects and compositions. These will appear in the timeline context menus and in the effect/composition baskets for easier access.
  • Organized effects under 3 categories, “Main” (which contains the most important audio/video effects), “Video effects” and “Audio effects”.
  • Tested and removed all effects which are not working.
  • When dragging a composition from the list into timeline, it will automatically adjust its duration (to fit the entire clip or the duration of a clip overlap depending on the context).
  • Move the whole Rotoscoping mask at once. Moving all points in the mask: A cross is displayed at the center of all points that allows moving the whole mask.
  • 1 click transitions

  • Added configurable visual guides.
  • Visualize missing elements, allowing to move or delete them.
  • A combobox allows you to choose the default background, between checkered, black and white.
  • Align buttons now cycle to allow you to align to safe margins and frame border instead of just frame border.


  • Added support for HW accelerated render profiles. (Experimental)
  • Added support to render with a transparent background for export formats that support alpha channel. (Experimental)



Since a long time, Kdenlive allowed users to download extra user contributed resources from the KDE Store. These download options have now been moved to more logical places instead of the “Settings” menu. Title templates can be downloaded from the Titler dialog, Render profiles from the Render dialog, Luma compositions from the Composition list and Shortcut layouts from the Shortcuts dialog.



There is still work to be done! We concentrated on stability (finding and fixing as many crashes as possible) and that the most important functionality for a slim editing workflow works. There are still known issues in which we will dedicate the next 3 monthly releases of the 19.04 cycle to finish polishing the rough edges.

So why release? Well, this version is much better than the old one. Having it out in the wild will help us test it under various situations. We now have a stable platform allowing us to fix issues quicker in order to move on to adding new features.


What’s next?

For 19.08 we hope to merge the refactoring of the Titler, a GSOC project, and begin implementing the professional features in our roadmap starting with advanced trimming tools. Work also has started to improve OpenGL support (better GPU usage) so this year is promising to be the foundation for entering into professional video editing waters. Stay tuned!

KMyMoney 5.0.4 released

Monday 22nd of April 2019 05:07:32 AM

The KMyMoney development team is proud to present version 5.0.4 of its open source Personal Finance Manager.

It took us a while, and now it is ready: KMyMoney 5.0.4 comes with updated documentation. As usual, problems have been reported by our users and the development team worked hard to fix them in the meantime. Besides that, one or the other long standing bug has been fixed. The result of this effort is the brand new KMyMoney 5.0.4 release.

Despite even more testing we understand that some bugs may have slipped past our best efforts. If you find one of them, please forgive us, and be sure to report it, either to the mailing list or on

From here, we will continue to fix reported bugs, and working to add many requested additions and enhancements, as well as further improving performance.

Please feel free to visit our overview page of the CI builds at and maybe try out the lastest and greatest by using a daily crafted AppImage version build from the stable branch.

The details

One fix needs special mentioning: 406608 which deals with customized budget reports. KMyMoney supports two types of budget reports. One only containing the budget information and the other, more detailed report, providing also information about the actual situation. In the past this bug caused all customized budget reports to contain the detailed version after loading the file from disk. In case you encounter this scenario and want to see only the budget values in your customized report, please delete the customized report and re-create from the base report to fix the problem.

Here is the list of the bugs which have been fixed. A list of all changes between v5.0.3 and v5.0.4 can be found in the ChangeLog.

  • 368159 Report Transactions by Payee omits transactions lacking category
  • 390681 OFX import and unrecognized <FITID> tag
  • 392305 Not all Asset accounts are shown during OFX import
  • 396225 When importing a ofx/qif file, it does not show me all my accounts
  • 396978 Stable xml file output
  • 400761 Cannot open files on MacOS
  • 401397 kmymoney changes group permissions
  • 403745 in import dialog, newly-created account doesn’t appear in pulldown menu
  • 403825 Transaction validity filter is reset when re-opening configuration
  • 403826 Transactions without category assignment are not shown in report
  • 403885 Buying / selling investments interest / fees round to 2 decimal places even when currency is to 6 decimal places
  • 403886 No way to set/change investment start date in investment wizard
  • 403955 After an action, the cursor returns to top of page and does not remain in a similar position to when action was started
  • 404156 Can’t select many columns as memo
  • 404848 Crash on “Enter Next Transcation”
  • 405061 No chart printing support
  • 405329 CPU loop reconciling if all transactions are cleared
  • 405817 CSV importer trailing lines are treated as absolute lines
  • 405828 Budget problems
  • 405928 Loss of inserted data in transaction planner
  • 406073 Change of forecast method is not reflected in forecast view
  • 406074 Unused setting “Forecast (history)” for home view
  • 406220 Crash when deleting more than 5000 transactions at once
  • 406509 “Find Transaction…” dialog focus is on “Help” button instead of “Find”
  • 406525 Subtotals are not correctly aggregated when (sub-)categories have the same name
  • 406537 Encrypted file cannot be saved as unencrypted
  • 406608 Custom report based on Annual Budget incorrectly getting Actuals
  • 406714 Home view shows budget header twice

Trusty 14.04 LTS end of life, and end of Kubuntu support for Xenial 16.04 LTS

Sunday 21st of April 2019 09:59:02 PM

As the newly released Kubuntu 19.04 makes its way into the world, inevitably other things come to their end.

Kubuntu 14.04 LTS was released in April 2014, and reaches ‘End of Life’ for support on 25th April 2019. All Kubuntu users should therefore switch to a newer supported release. Upgrades from 14.04 to a newer release are not advised, so please install a fresh copy of 18.04 or newer after running a backup of all your data.

Kubuntu 16.04 LTS was released on 21st April 2016, and was supported for Kubuntu for a period of year 3 years.* Kubuntu 16.04 LTS support therefore ends 21st April 2019, and users are invited to upgrade to 18.04 LTS, or perform a fresh install of that or newer release.

The Kubuntu team would thank users of both releases, especially for the amazing additional community support on IRC, forums, mailing lists, and elsewhere.


KDE Usability & Productivity: Week 67

Sunday 21st of April 2019 02:12:46 PM

If you’re celebrating Easter, we’ve got a gift for you: week 67 in KDE’s Usability & Productivity initiative! And if not… well you get it anyway!

New Features Bugfixes & Performance Improvements User Interface Improvements

Next week, your name could be in this list! Not sure how? Just ask! I’ve helped mentor a number of new contributors recently and I’d love to help you, too! You can also check out, and find out how you can help be a part of something that really matters. You don’t have to already be a programmer. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

If you find KDE software useful, consider making a donation to the KDE e.V. foundation.

Skrooge 2.19.0 released

Saturday 20th of April 2019 02:17:29 PM

The Skrooge Team announces the release 2.19.0 version of its popular Personal Finances Manager based on KDE Frameworks

  • Correction bug 406321: ERR-8/ERR-5 importing qfx file, "More than one object returned in 'v_account' for 't_number='''"
  • Correction bug 406243: Skrooge does not import share operations in QIF file correctly
  • Correction bug 406270: Skrooge does not import investment operations in QIF correctly
  • Correction bug 406271: Skrooge does not import description of tags in QIF file into Tracker comment
  • Correction bug 406266: Skrooge does not import shares in QIF correctly
  • Correction bug 405578: build a nightly debug Skrooge flatpak
  • *Correction bug 406488: crash importing a CSV
  • Correction bug 406549: Edit menu in Skrooge handbook is missing Skip, adds Find; missing context menu documentation
  • Correction: Add missing file categories_previous_period_table.html in monthly report
  • Correction: Migration failure with sqlite >= 3.25.0 due to ALTER TABLE behavior modification
  • Correction: Migration failure when some i_number are NULL 
  • Correction: build skroogeconvert as a regular ("nongui") executable instead of an app bundle
  • Correction: prevent runtime discarding of the app icon if icon-from-theme lookup doesn't work (which it doesn't by default on OS X)
  • Correction: generate a multi-scale icon from all png icons size 256px and smaller
  • Feature: Tracker with running balance in "Operations" page
  • Performances: Better performances in payee view to compute recommended categories 
  • Performances: Better performances in dashboard and monthly report when amounts by accounts 
  • Performances: Better performances in dashboard to find all payee without operation
  • Performances: Better performances in "Delete payees without operation" 
Get it, Try it, Love it...

Grab Skrooge from your distro's packaging system. If it is not yet included in repositories, go get it from our website, and bug your favorite distro for inclusion.

Now, you can try the appimage or the flatpak too !

If you want to help me to industrialise the windows version, you can get it from here:

Get Involved

To enhance Skrooge, we need you ! There are many ways you can help us:

  • Submit bug reports
  • Discuss on the KDE forum
  • Contact us, give us your ideas, explain us where we can improve...
  • Can you design good interfaces ? Can you code ? Have webmaster skills ? Are you a billionaire looking for a worthy investment ? We will be very pleased in welcoming you in the skrooge team, contact us !

Kipi Plugins 5.9.1 Released

Friday 19th of April 2019 11:47:49 AM

Kipi Plugins is a set of app plugins for manipulating images.  They use libkipi which is released as part of KDE Applications.  It used to get standalone releases and was then moved to be part of Digikam releases.  Since Digikam 6 they have been deprecated by Digikam in favour of their new plugin framework DPlugins.  While in KDE Frameworks the Purpose Framework is another newer project covering similar features.

However Kipi Plugins are still supported by KDE apps KPhotoAlbum, Gwenview, Spectacle so they shouldn’t disappear yet.

I’ve made a new release available for download now.

Versioned 5.9.1 because it is little changed from the previous release done inside Digikam which was 5.9.0.

Tagged commit b1352149b5e475e0fbffb28a7b5fe13503f24dfe

Sha256 Sum: 04b3d31ac042b901216ad8ba67dafc46b58c8a285b5162b51189833f6d015542

Signed by me Jonathan Riddell <>

This will become part of KDE Applications in its next release scheduled for August and will follow the KDE Applications version numbers.


LabPlot 2.6 released

Friday 19th of April 2019 06:57:21 AM

We are happy to announce the next release of LabPlot! As usual, in the release announcement we want to introduce the major points in the new release. Some of the new developments were already described in the previous blog posts were we reported on the ongoing achievements. Many other smaller and bigger improvements, bug fixes and new features were done in this release. The full list of changes that are worth to be mentioned is available in our changelog.

LabPlot has already quite a good feature set that allows to create 2D Cartesian plots with a lot of editing possibilities and with a good variety of different data sources supported. Analysis functionality is also getting more and more extended and matured with every release. Based on the overall good foundation it’s time now to take care also of other plot types and visualization techniques. As part of the next release 2.6 we ship the histogram:

We dedicated a separate blog post already to this important new feature where the different options around this visualization technique are described.

The second big new feature is the support for the MQTT protocol. With LabPlot 2.6 is is possible now to read live data from MQTT brokers. This feature was contributed by Ferencz Kovács during Google Summer of Code 2018. His blog contains a lot of information about the progress in his project as well as a lot of demos.

The number of supported file formats that can be imported into LabPlot was further extended in this release.  We support now ROOT‘s trees and tuples, and especially ROOT’s histograms which were already introduced in the previous blog:

Further new supported formats are Ngspice raw files (ASCII and binary) and JSON format (JSON arrays and objects)

Ngspice raw files and ROOT files can also be used as a live data source – in this mode LabPlot monitors the external files, re-reads them completely on changes and updates the visualization of the data. See this blog post for an example video demoing such a workflow.

The import of data from SQL databases was implemented already in the previous release. Unfortunately, the handling of ODBC connections was not implemented correctly in the past. In this release we fixed this.

The “File Info” Dialog was extended and shows now format specific information for the selected file, like the number of attributes, dimensions and variable for netCDF etc.:

Also for this release there was quite a good progress in the area of data analysis functions in LabPlot.  Convolution/Deconvolution and Cross-/Autocorrelation of data sets with many different options (sampling interval, linear/circular, normalization, etc.) joined the family of analysis functions in 2.6

For the worksheet, couple of new features and improvements were developed. Here we want to mention the new ability to rotate plot legends and to use different border shapes for labels (rectangle, eclipse, etc.) and a better positioning of rotated axis tick labels.

While working with plots it is sometimes desired to avoid unwanted occasional panning and zooming in the plot triggered by mouse drag and wheel events. For this we added a new option which allows to make plots non-interactive.

In the spreadsheet, in addition to the already available methods for data generation (fill with constant values, mathematical function values, random values, etc.) there are now functions for quick data manipulation – add and subtract a value and multiply and divide by a value. Similar functionality was also implemented for matrix data containers.

When exporting a worksheet to a text file, we allow to specify the number format in the export options  – similarly to how this is done during the import. Furthermore, it is possible now to export a spreadsheet into a Sqlite database.

The integration of Cantor – KDE’s frontend for open-source computer algebra systems and programming languages – saw further improvements. It is possible now to modify the settings for different systems directly in LabPlot:

Cantor saw quite a great improvement in the last months. The recent blog Cantor 18.12 – KDE way of doing mathematics described the progress. Linux users benefit from their distributions shipping the current and up-to-date versions of LabPlot and Cantor. For Windows users we ship the current version of Cantor as part of our Windows installer with a working support for Octave, Python and Maxima:

Octave part still have problems with the integrated plots and we plan to address this for the next release. Also, for the next release we plan to also have a working combination of LabPlot and Cantor for Mac OS X users. Even though the development of LabPlot and Cantor is done on Linux, we continue increasing our effort and the attention for these platforms, too.

All in all,  it took some time to finalize the release. Again, many features implemented but still a lot in the backlog and already in the development. Also, Google Summer of Code 2019 is coming soon and we have couple of nice projects for this summer. So, stay tuned, give LabPlot a try and provide us feedback.

Qbs 1.13 released

Thursday 18th of April 2019 03:36:48 PM

We are happy to announce version 1.13.0 of the Qbs build tool. This is the last version to be released under the auspices of the Qt Company, but certainly not the least.

Highlights Transparent pkg-config support

Qbs projects can now make use of pkg-config modules. Syntax-wise, the same dependency mechanism as for Qbs’ own modules is used. For instance, on a typical Linux machine with an OpenSSL development package installed, the following is enough to let a Qbs project build against it:

Depends { name: "openssl" }

Internally, this functionality is implemented on top of module providers, a powerful new feature that allows creating Qbs modules on demand.

Automatic Qt detection

Projects with a Qt dependency now set up the required Qt-specific modules (such as Qt.core) automatically at build time, using either the PATH environment variable or the moduleProviders.Qt.qmakeFilePaths property. It is therefore no longer strictly necessary to create a profile using the setup-qt command. Behind the scenes, this feature is also implemented using module providers.

Job Pools

The global limit for the number of concurrently running jobs does not make sense for all types of commands. For instance, linkers are typically I/O-bound and take up a lot of memory, so it often makes sense not to parallelize them as much as compilers. Here’s how job-specific limits are set on the command line:

$ qbs --job-limits linker:2,compiler:8

These limits can also be provided via preferences and in project files. The details are explained here.

What else is new? Language Improvements

Rules are no longer required to specify output artifacts. As a result, rules whose main purpose is in their “side effect” will look more natural now, as they don’t need to declare a dummy output file anymore.

It is no longer necessary to start each project file with an “import qbs” line.

The Application, DynamicLibrary and StaticLibrary items have new properties install and installDir for more convenient installation of target binaries.

We introduced Process.atEnd() and FileInfo.canonicalPath().

C/C++ Support

GNU linker scripts are now scanned recursively to catch changes to included linker scripts. Thanks to Ola Røer Thorsen for this contribution!

The new cpp.linkerVariant property allows to force the use of, ld.bfd or lld for linking.

Qt Support

We introduced the new property Qt.core.enableBigResources for the creation of “big” Qt resources.

Static builds now pull in the default set of plugins as specified by Qt, and the user can specify the set of plugins by type.

Android Support

The AndroidApk item has been deprecated. Instead, a normal Application item can and should be used now.

Building Qt apps is properly supported now. Some small changes to Qt’s androiddeployqt tool were necessary to achieve this, so you need at least Qt 5.12.

Autotest Support

There is an autotest module now, which you can use to specify arguments and working directory per test.

Various things

We introduced the texttemplate module, a facility similar to qmake’s QMAKE_SUBSTITUTES feature.

We added basic support for Google Protocol Buffers (for C++ and Objective-C). Thanks to Ivan Komissarov for this contribution!

Try It!

The Open Source version is available on the download page, and you can find commercially licensed packages on the Qt Account Portal. Please post issues in our bug tracker. You can also find us on IRC in #qbs on, and on the mailing list. The documentation and wiki are also good places to get started.

Qbs is also available on a number of packaging systems (Chocolatey, MacPorts, Homebrew) and updated on each release by the Qbs development team. It can also be installed through the native package management system on a number of Linux distributions including but not limited to Debian, Ubuntu, Fedora, and Arch Linux.

Qbs 1.13.0 is also included in Qt Creator 4.9.0, which was released earlier this week.

So, what now?

Preparations for handing over the project to the community are ongoing. Stay tuned for further announcements.

The post Qbs 1.13 released appeared first on Qt Blog.

KDE Applications 19.04 Available for all Distros Through the Snap Store

Thursday 18th of April 2019 02:55:41 PM

KDE’s bundle of apps KDE Applications 19.04 has been released. Here at KDE neon the build servers have built all the .debs and the QA servers are now checking over them before publishing shortly.

That’s great if you run KDE neon but what about every other distro? Well for the first time ever you can install 50-odd apps from the bundle from one of the new cross-distro Linux App Stores, the Snap Store.

Our software store app Discover also supports Snaps so they should be available through that if you have snapd installed.

Snaps is a new container based format from Canonical and they can be installed on any Linux distro. The spec and software is all open source managed from a centralised Store in much the same way as Google Play or Steam or F-Droid. Here at KDE neon we have been experimenting for some time with this format and waiting for the needed features to be added so we could give a great exprience. There’s still a couple of rough edges such as printer support or which directory the File Open dialog uses by default, which is mostly down to Qt and how it supports the xdg-portals spec. The store does not yet pick up all the meta-data such as icons and screenshots from Appstream metadata files.

Of the 50 apps we have ready today most are simple ones, games and edu features a lot. Hopefully we can get some of the more flagship apps up before long.

This is an exciting change in the way we deliver our software to you the user. Hopefully other App Stores will be supported in the near future too such as Flatpak/Flathub and Appstream/Appstreamhub.

The new format puts app authors and maintainers incharge of their software. Currently it’s done through KDE neon but there’s no reason why that needs to be the case, it can and should be done through the same KDE repos the apps are in with continuous integration and deployment done from our new GitLab setup Watch out for blogs on details of how it works shortly.

Kubuntu 19.04 is released today

Thursday 18th of April 2019 01:16:13 PM

Kubuntu 19.04 has been released, featuring the beautiful Plasma 5.15 desktop from the KDE community.

Code-named “Disco Dingo”, Kubuntu 19.04 continues our proud tradition of integrating the latest and greatest open source technologies into a high-quality, easy-to-use Linux distribution.

The team has been hard at work through this cycle, introducing new features and fixing bugs.

Under the hood, there have been updates to many core packages, including a new 5.00-based kernel, Qt 5.12, KDE Frameworks 5.56, Plasma 5.15.4, and KDE Applications 18.12.3

Kubuntu has seen some exciting improvements, with newer versions of Qt, updates to major packages like Krita, Kdeconnect, Kstars, Latte-dock, Firefox and LibreOffice, and stability improvements to KDE Plasma.

For a list of other application updates, upgrading notes and known bugs be sure to read our release notes:

Download 19.04 or read about how to upgrade from 18.10.

Qt 5.9.8 Released

Thursday 18th of April 2019 10:29:39 AM

Qt 5.9.8 is released today. As a patch release Qt 5.9.8 does not add any new functionality, but provides security fixes and other improvements.

Compared to Qt 5.9.7, the new Qt 5.9.8 contains multiple security fixes, updates to some of the 3rd party modules and close to 20 bug fixes. In total there are around 130 changes in Qt 5.9.8 compared to Qt 5.9.7. For details of the most important changes, please check the Change files of Qt 5.9.8.

Qt 5.9.8 can be installed using the maintenance tool of the online installer. For new installations, please download latest online installer from Qt Account portal or from Download page. Offline packages are available for commercial users in the Qt Account portal and at the Download page for open-source users.

The post Qt 5.9.8 Released appeared first on Qt Blog.

Some theming fixes to arrive with Plasma 5.16

Wednesday 17th of April 2019 08:23:49 PM

One of the things which makes Plasma so attractive is the officially supported option to customize also the style, and that beyond colors and wallpaper, to allow users to personalize the look to their likes. And designers have picked up on that and did a good set of custom designs ( lists at the time of writing 454 themes).

Intended changes and unintended changes

In the 11 years since Plasma was released first (January 11, 2008) there has been some evolution of the theming options. Sadly also sometimes regressions in the support of older options were introduced, mainly in the early phase of Plasma 5 when code was ported to QtQuick 2 and the new default theme Breeze did not expose the regression or even triggered some changes for its special needs or for simplifications it allowed.

Given Breeze as default was pleasing to most, and possibly some alternative theme designers were lost during the longer phase from a pleasing KDE4 to an again pleasing Plasma 5, and new theme designers made their themes directly matching latest Plasma 5 Theme support, the piled-up regressions were not a real issue for those contributing.

Well, not a real issue unless on started to restore an old theme like “Fluffy Bunny”. And was wondering why it looks broken. And then wondering the same while playing with all the other old themes still available on

So much partially good artwork being broken made my heart bleed, and in the absence of own designer abilities it was time to document the regressions as well as fix some code where possible to restore previous variability.

Teaching Porting to Plasma 5

So, theme designers, please find a a new page on about Porting Themes to latest Plasma 5. It lists the changes known so far and what to do for them. Please extend the list if something is yet missing. One might test the fixes in the code against one’s themes with latest development versions of Plasma using Live images.

Fresh old Air & Oxygen

And even the Oxygen & Air themes, the default Plasma themes during KDE4 times, while being maintained as official themes part of current Plasma releases, had suffered some small regressions (e.g. analog clocks hands rotation point or progressbar height). No more, with Plasma 5.16 the visual experience of Oxygen & Air should be closer to the original.

Luxury on the borders results in bad looks

Sadly there is one thing which is not so easy to fix: Plasma code now assumes for any frames (like with borders of panels & pop-up dialogs) that the actual border visuals are negligible and the margin from the outside to the content is the same, with border on the side enabled or not. With luxurious decorated borders (like Fluffy Bunny or Spoons Original) this sadly results in bad looking bigger margins on sides where the border is disabled (see details). Which is sad especially given that High DPI display actually would allow more fanciness, even more when in the future Flat design gets replaced by whatever new trend. My passive dreams & hopes are on for Plasma 6

Separating Plasma 5 compatible themes on

And while there now is a list of things to do to make old themes work again, many themes on no longer are maintained. There is talk about separating those, e.g. at time of Plasma 5.16 release, so there would be a clean list of working and maintained themes for latest Plasma 5.

2019 Toulouse PIM sprint report

Wednesday 17th of April 2019 04:40:14 PM
KDE Project:

Like every year, a number of KDE PIM developers met in Toulouse for a bit of bugfixing.

Discussions and decisions
There were a number of those, the most important ones being about food, of course.
Among the topics of lesser importance: turning some PIM libraries into KF5 frameworks (that's just their way to dump more work on me, clearly... but it also means a lot of cleanup work for Volker, first), outreach to the Plasma Mobile PIM team, how to increase the number of attendees for this kind of sprint, how to make it easier to start contributing to KDE PIM, how to blog more often about progress.

In terms of the actual work done, the list is quite long, here is my view on things.

Moving an event from one calendar to another is now possible in KOrganizer (the combobox in the editor dialog was disabled due to an old bug, it all seems to work now)

Library cleanups (so they can become frameworks)
Most of this happened in KCalCore and KContacts. The plan is to submit them for inclusion into KF5 after the 19.08 release (Sep/Oct 2019). Other libs were discussed, a longer and more specific sprint would be needed, to untangle some of the dependencies and do a major cleanup of the libraries.

Deadlock handling
Thanks to Dan's insights, I was able to improve greatly the handling of the unavoidable database deadlocks. It's a feature from all database implementations: when multiple transactions are happening at the same time and they end up locking the same rows, the database rolls back forcefully one of the transactions and asks the application to retry. But retrying doesn't mean running the exact same SQL statements (as the code was doing)... If we retry inserting into a table we might get a different auto-increment ID than the first time, so subsequent queries (which might use this ID) have to be adjusted. Therefore we now rerun the whole handling of the current command at the C++ level, instead.
The new "retry" logic has its limits though, some transactions are currently created from another process (in ItemSync). Dan started to redesign sync'ing that it happens more server-side and we don't have those TransactionJobs anymore. To be continued...

Multiple merge candidates
Despite a lot of head scratching and digging through possible scenarios, we still don't know how exactly this error can happen.
But at least when it does happen, the sync doesn't get stuck forever anymore.

Many thanks to all our sponsors and donators for making such sprints possible, and I hope we do this again, with more people, and less critical bugs :-)

Qt 5.12.3 Released

Wednesday 17th of April 2019 09:50:55 AM

Qt 5.12.3, the third patch release of Qt 5.12 LTS, is released today. While not adding new features, the Qt 5.12.3 release provides a number of bug fixes, as well as performance and other improvements.

Compared to Qt 5.12.2, the new Qt 5.12.3 provides almost 200 bug fixes. For details of the most important changes, please check the Change files of Qt 5.12.3.

Qt 5.12 LTS will receive many more patch releases throughout the coming years and we recommend all active developed projects to migrate to Qt 5.12 LTS. Qt 5.9 LTS is currently in ‘Strict’ phase and receives only the selected important bug and security fixes, while Qt 5.12 LTS is currently receiving all the bug fixes. Qt 5.6 Support has ended in March 2019, so all active projects still using Qt 5.6 LTS should migrate to a later version of Qt.

Qt 5.12.3 is available via the maintenance tool of the online installer. For new installations, please download latest online installer from Qt Account portal or from Download page. Offline packages are available for commercial users in the Qt Account portal and at the Download page for open-source users. You can also try out the Commercial evaluation option from the Download page.

The post Qt 5.12.3 Released appeared first on Qt Blog.

Qt Creator 4.9 uses KSyntaxHighlighting

Tuesday 16th of April 2019 06:45:00 PM

As you can read in the official Creator 4.9.0 release announcement, Qt Creator now uses the KSyntaxHighlighting Framework for providing the generic highlighting.

This is a nice step for the wider adoption of this MIT licensed part of the KDE Frameworks.

And this is not just an one-way consumption of our work.

The framework got actively patches back that make it more usable for other consumers, too, like Kate ;=)

If you want concrete examples, take a look at:

I hope this cooperation will continue in the future. I thank the people working on Qt Creator that made this integration possible. I hope the initial effort will pay of with less code for them to maintain on their own and more improvements of the framework for all users.

Debugging Clang AST Matchers

Tuesday 16th of April 2019 08:29:43 AM

Last week I flew to Brussels for EuroLLVM followed by Bristol for ACCU.

At both conferences I presented the work I’ve been doing to make it easier for regular C++ programmers to perform ‘mechanical’ bespoke refactoring using the clang ASTMatchers tooling. Each talk was prepared specifically for the particular audience at that conference, but both were very well received. The features I am working on require changes to the upstream Clang APIs in order to enable modern tooling, so I was traveling to EuroLLVM to try to build some buy-in and desire for those features.

I previously delivered a talk on the same topic about AST Matchers at code::dive 2018. This week I presented updates to the tools and features that I have worked on during the 6 months since.

One of the new features I presented is a method of debugging AST Matchers.

Part of the workflow of using AST Matchers is an iterative development process. For example, the developer wishes to find functions of a particular pattern, and creates and ever-more-complex matcher to find all desired cases without false-positives. As the matcher becomes more complex, it becomes difficult to determine why a particular function is not found as desired.

The debugger features I wrote for AST Matchers intend to solve that problem. It is now possible to create, remove and list breakpoints, and then enable debugger output to visualize the result of attempting to match at each location. A simple example of that is shown here.

When using a larger matcher it becomes obvious that the process of matching is short-circuited, meaning that the vertically-last negative match result is the cause of the overall failure to match the desired location. The typical workflow with the debugger is to insert break points on particular lines, and then remove surplus breakpoints which do not contribute useful output.

This feature is enabled by a new interface in the Clang AST Matchers, but the interface is also rich enough to implement some profiling of AST Matchers in the form of a hit counter.

Some matchers (and matcher sub-trees) are slower/more expensive to run than others. For example, running a matcher like `matchesName` on every AST node in a translation unit requires creation of a regular expression object, and comparing the name of each AST node with the regular expression. That may result in slower runtime than trimming the search tree by checking a parameter count first, for example.

Of course, the hit counter does not include timing output, but can give an indication of what might be relevant to change. Comparison of different trees of matchers can then be completed with a full clang-tidy check.

There is much more to say about both conferences and the tools that I demoed there, but that will be for a future log post. I hope this tool is useful and helps discover and debug AST Matchers!

Removing Files from Git History

Monday 15th of April 2019 06:00:00 PM

Today I did run again into an old problem: You need to archive a lot small and large files inside a single Git repository and you have no support for Git LFS available. You did this several year and now you ended up in a state where cloning and working with the repository is unbearable slow.

What now? Last time I did run into that, I archived the overfull repository to some “rest in peace” space and used git filter-branch to filter out no longer needed and too large objects from a repository copy that then will replace the old one for daily use.

There are a lot of guides available how to use git filter-branch for that. All variants I ever used were complex to do and did take very long. Especially if you need several tries to get a sane set of stuff you want to remove to gain enough space savings.

This time, I searched once more and stumbled on the BFG Repo-Cleaner. And yes, it does what it promises on the web site and it seems to be trusted enough to be advertised by e.g. GitHub, too.

Just following the steps described on their landing page allows to shrink your stuff nicely and without a lot of round-trip time.

If you still are just in the “experimenting” phase to see which space decrease one can archive with which file size filter (or which files you want to purge by removing them from master before running the tool), I recommend to swap the step

git reflog expire –expire=now –all && git gc –prune=now –aggressive

with just

git reflog expire –expire=now –all && git gc –prune=now

to not wait potential hours for the aggressive GC. For me that was good enough to get some estimate of the later size for my experiments before I settled to some final settings and did the real run.

And as always, if you touch your Git history: Do that only if you really need to, keep backups, check carefully that afterwards the repository is in some sensible state (git fsck --strict is your friend) and inform all people using that repository that they will need to do a full new clone.

More in Tux Machines

OpenBSD 6.5 Released With RETGUARD, OpenRSYNC

OpenBSD 6.5 was released today, about one week ahead of schedule for this security-minded BSD operating system. OpenBSD 6.5 is bringing several prominent new features including RETGUARD as its new stack protector and OpenRSYNC as its ISC-licensed in-progress replacement to rsync. OpenBSD 6.5's new RETGUARD functionality aims to be a better stack protector on x86_64 and AArch64 with instrumenting every function return with better security properties than their traditional stack protector. Read more Also: OpenBSD 6.5

Development kit showcases Cortex-A76 based Snapdragon 855

Intrinsyc has launched a 96Boards CE form-factor “Snapdragon 855 Mobile HDK” that runs Android 9 on a 7nm, octa-core Snapdragon 855 with GNSS, WiFi/BT, and optional touchscreens and cameras. Intrinsyc’s Qualcomm Snapdragon 855 Mobile Hardware Development Kit is now available for $1,149, offering a development window into Qualcomm’s powerful Snapdragon 855 SoC. The new HDK runs the latest Android 9.0 Pie release. Read more

Sad News! Scientific Linux is Being Discontinued

Scientific Linux, a distributions focused on scientists in high energy physics field, will not be developed anymore. It’s creator, Fermilab, is replacing it by CentOS in its labs. Read more

today's leftovers

  • Announcing Akademy 2019 in Milan, Italy (September 7th - 13th)
    Akademy 2019 will be held at the University of Milano-Bicocca in Milan, Italy, from Saturday the 7th to Friday the 13th of September. The conference is expected to draw hundreds of attendees from the global KDE community to discuss and plan the future of the community and its technology. Many participants from the broad Free and Open Source software community, local organizations and software companies will also attend. KDE e.V. is organizing Akademy 2019 with unixMiB — the Linux User Group of the University of Milano-Bicocca. unixMiB aims to spread Open Source philosophy among students.
  • Checking out Crunchbang++
  • Intel Iris Gallium3D Picks Up Conservative Rasterization Support
    On top of Intel's new open-source OpenGL driver seeing some hefty performance optimizations, the Iris Gallium3D driver has picked up another OpenGL extension ahead of the Mesa 19.1 branching.  Iris Gallium3D now supports INTEL_conservative_rasterization alongside the existing support in the i965 driver. INTEL_conservative_rasterization is the several year old Intel extension for seeing if all fragments are at least partially covered by a polygon rather than the default rasterization mode of including fragments with at least one sample covered by a polygon.