Subscribe to Planet KDE feed
Planet KDE - http://planetKDE.org/
Updated: 29 min 52 sec ago

KDevelop 5.0.2 released for Windows and Linux

Mon, 2016/10/17 - 11:15am

KDevelop 5.0.2 released for Windows and Linux

Four weeks after the release of KDevelop 5.0.1, we are happy to announce the availability of KDevelop 5.0.2, a second stabilization release in the 5.0 series. We highly recommend to update to version 5.0.2 if you are currently using version 5.0.1 or 5.0.0.

Along with the source code, we release an updated 64-bit AppImage for Linux as well as updated installers for Microsoft Windows. We've got the pleasure to announce a 32-bit version of KDevelop for Windows now, too!

You can find all the downloads on our download page.

KDevelop with two editors open in a split view

Notable issues fixed in 5.0.2 are:

  • Fix a locking issue in the background parser, causing frequent crashes on Windows (3c395340d)
  • Fix broken search in the documentation view (0602281c)
  • Fix various issues with the breakpoints view (cba54572)
  • Fix a possible crash when activating a clang FixIt (BR: 369176)
  • Fix a crash when performing various actions with the Make plugin disabled (BR: 369326)
  • Update Sonnet in the Windows installer which led to crashes with spellechecking (BR: 370470)
  • Fix text files being parsed as CMake under some circumstances, leading to bad performance and crashes
  • Use correct font in documentation view (BR: 285162)
  • Fix a crash when clicking "Rename declaration" without an editor being open (22bdccb1)
  • Fix "Download more ..." feature not working on some systems (4c4500bf)
  • Fix "Select next/previous toolview" behaving incorrectly in some cases (24d3e3bb)
  • Fix "Hide/Restore docks" behaving incorrectly in some cases (daeed5f1)
  • Fix "Install as root" action not working (30a66c3f)
  • Fix CMake build plugin sometimes rebuilding everything when it should not (17b6499e)
  • Various UI improvements.

Fixes in the Windows installers:

  • Fix crash when turning on Atomatic Spell Checking [BR: 370470]
  • Fix heap corruption after start / immediately after opening folder [BR: 370495]

The source code can be downloaded from http://download.kde.org/stable/kdevelop/5.0.2/src/.

You can find the binaries for Windows and Linux on our download page.

The source code archives and their sha-256 checksums are

24ec89b4edc854808ce11a8e8b0aeb853f11926b26029bc46c80f901da00aec7 kdev-php-5.0.2.tar.xz 5d160951933e2f6742a443e19d24e0c93a82567244500e4bb6a3124e5e4e11ff kdev-python-5.0.2.tar.xz 9b017901167723230dee8b565cdc7b0e61762415ffcc0a32708f04f7ab668666 kdevelop-5.0.2.tar.xz a7f311198bb72f5fee064d99055e8df39ecf4e9066fe5c0ff901ee8c24d960ec kdevplatform-5.0.2.tar.xz

For verifying integrity and authenticity of the files, the preferred method is to use the provided GPG signature files (.sig).
All downloads are signed with the GPG key of Sven Brauch, fingerprint 329F D02C 5AA4 8FCC 77A4  BBF0 AC44 AC6D B297 79E6.

sbrauch Mon, 10/17/2016 - 13:15
Category

Call for attendees Lakademy 2017

Sun, 2016/10/16 - 3:32pm
DSC03406-sem-escamas

Lakademy 2016 Group Photo.

As many of you know, since 2012 we organize the Lakademy, a sort of Latin American Akademy. The event brings together KDE Latin American contributors in hacking sessions to work on their projects, promo meetings to think KDE dissemination strategies in the region and other activities.

Every year we make a call for attendees. Anyone can participate, although the event is focused on Latin American contributors, we also want to encourage new people to become contributors and to join the community. So if you live in any country in Latin America and would like to join us at the next event, please complete this form showing your interest. This form will be available until the beginning of November.

The next Lakademy will take place in the Brazilian city of Belo Horizonte, between April 28 and May 01. Remember that if you need help with the costs of travel and lodging, KDE e.V. can help you with this, but this will depend on several factors such as amount requested, number of participants in the event, how active you are in the community and so on. Do not be shy, we encourage you to apply and join our Latin American community. Maybe you are the next to host the Lakademy in your country. We would love to make an edition of the event in another country in Latin America other than Brazil.🙂

See you at Lakademy 2017!


Firmware plugins for AtCore

Sat, 2016/10/15 - 11:05pm
In AtCore we need to be able to talk to several different firmwares. Each has the possibility of being slightly different, but overall, they should be mostly the same. Some will support commands others don’t, and some will want specific commands with some extra info. This has lead us to decide upon a more modular plugin system in order to allow us to do any firmware specific stuff when we need to. Since my last post, we have added a few firmware plugins currently support the following:
  •     Repetier
  •     Marlin
  •     Teacup
  •     Aprinter
  •     Sprinter
  •     Grbl
They have all been tested on Arduino and the printing seams to work just fine. The Teacup and Marlin firmwares were hacked together while Lays was visiting some printers, so those, while not loading automatically at the time, have also been tested on a fully set up printer. We could just ask the user what firmware they have, but we don’t expect the user to know this all the time.
In order to figure out what firmware we’re on, we have decided to use M115. So far, while some have said its not the best idea, the only reprap type firmwares not to support it seem to be Smoothie, Grbl, Machinekit, and (according to the wiki) Makerbot (Sailfish). When your machine supports M115, you will get some text back about the machine’s capabilities and firmware. For example:
FIRMWARE_NAME:Repetier_0.92.9 FIRMWARE_URL:https://github.com/repetier/Repetier-Firmware/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1 REPETIER_PROTOCOL:3
Now, it’s pretty simple to tell from there what firmware name is in the string and load that one… It gets a bit more complicated when the M115 returns:
FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:https://github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1 UUID:00000000-0000-0000-0000-000000000000
Wait. What happens here? Since when do we have three different firmware names on this printer. Since our firmware check only checks if the firmware name matches a plugin name by using QString::contains() the above example will pretty much try to load any of them since Marlin Sprinter and Grbl are in the string. Whatever one the plugin loader sees first will be loaded. Grbl is not the correct firmware for this printer, and that could be really bad if you’re trying to do some firmware specific stuff. Its looking like we are going to have to trim the string up to extract the firmware name from the string. Again not really a problem. By simply using QString::split(“:”), we can extract just the stuff after Firmware_Name:. After that, a simple QString::resize(QString::indexOf(‘ ‘)) will get us to remove anything after the first space. Now it works well. Then it came time to add support for Sprinter. M115 on Sprinter returns:
FIRMWARE_NAME: Sprinter Experimental PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1
At first, that might look okay, but notice after the : there is a space, meaning that in our existing name, extraction will fail. Because we will resize to the first space, our name will be ” “. Okay, not too bad to fix. Just check for and remove any leading space. Then another issue: what if the string has no spaces? Well in that case we might as just have just called clear. But that doesn’t happen right? Oh, wait, here comes aprinter:
ok FIRMWARE_NAME:APrinter
😦 . Not only does it break our check of QString::startsWith(“FIRMWARE”) to tell if it’s the firmware id string. It also has no trailing spaces. After all that, our current firmware detection does the following: Check if the message from the printer contains “FIRMWARE_NAME”. If it does, split the string at :. Keep the second one, and if there is a leading space, remove it. Then if there is a space after that, resize the string to there. It’s not too complicated yet, but its starting to get there.
And then there’s Smoothie. I was not intending to do this plugin yet because I don’t have hardware to test on, but I talked with a developer of smoothie in #reprap on Freenode. They were able to provide some interesting information about it. First off, it is not purely reprap-like. That means that it doesn’t follow all the guidelines for reprap firmware. For instance, they do not send start when the printer connects. This is important for us because it lets us know when to send the M115 command to the firmware. They also do not support M115 to get a version string. You must send the version command. Other then those two things, it works like any other reprap firmware. However, in place of start, they send a string of “Smoothie Running @ (speed)”. I suppose we can check for also Smoothie and start, and if we see smoothie, we know we need to load that plugin. This would also require revamping the way we check for firmware, since we now have at least one case where we don’t want to use our current method for checking.
There are a few other firmwares that I have not looked at since i don’t have the hardware to do the tests. This Hardware includes a MakerBot for sailfish, an ImpPro3d to for ImpPro3d, an Arduino Due (reprap fw), a Smoothie board (Smoothie), and a Beaglebone black (Redeem).

Angular 2 Things that Bite

Sat, 2016/10/15 - 1:23pm

Services.

Angular 2 services are classes that provide a service. They are an effective way of dealing with asynchronous data calls, for sharing data between components.

You set them up like this (using Typescript):

import {Injectable} from 'angular/core';

@Injectable()
export class MyService {
   
    public data : string;
    public getData() : string {
         return this.data;
   }

   public setData(newdata : string) {
        this.data = newdata;
   }

}

To use the service in your angular 2 app, you need to do two things.

1. Provide the service. This is where the service is instantiated and made available to the angular2 dependency injection system.

Each time you provide the service a new instance is created. Do you want one instance to exist? For example you may have an authentication service with a method isLoggedIn() that you check throughout your code. You want one instance, so you provide it once, only once. This is called a singleton.

You would provide this service in your app.module.

@NgModule({
  imports: [
    BrowserModule
  ],
  declarations: [
    AppComponent,
  ],
  providers: [
    MyService,
  ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }



And any time you want to use the service you need to inject it.
import {MyService} from './whereever/it/is';
@Component({
    selector: 'my-component',
    templateUrl: './my-component.html',
    providers: []    //   <=== if you put MyService here it creates a new instance!
})
export class MyComponent {
    constructor( private myservice: MyService) {
        ....
    }
}

You may have a service that is specific to a particular component, and each time this component is used you want a service to be created specifically for that component.

This example instantiates a new service instance each time the component is created.

import {MyService} from './whereever/it/is';
@Component({
    selector: 'my-component',
    templateUrl: './my-component.html',
    providers: [MyService]    //   <=== if you put MyService here it creates a new instance!
})
export class MyComponent {
    constructor( private myservice: MyService) {
        ....
    }
}

The Bite: The service is being initialized each time I use it. You are providing it more than once. It is working as designed.

https://angular.io/docs/ts/latest/guide/dependency-injection.html

KDE’s 20th anniversary

Sat, 2016/10/15 - 9:54am

Yesterday was KDE’s 20th birthday and to mark the occassion, parties are being held in cities across the globe this weekend. I’ve been involved with the KDE community for a little less than half a decade now and I’m really glad I made the choice to try contributing to some of the projects in KDE.&ellipsisRead the full post »

Happy BDay KDE! \o/

Fri, 2016/10/14 - 4:44pm

Well, today KDE is making his 20 years old. And fortunately, I’m making my first year on KDE \o/.

On this very day on last year, I was in the Latinoware, one of the big conferences in Brazil about Free Software and open source. At the time I went there to learn more about Free Software and to present Br-Print3D on the 1º Latin Conference of Free Hardware inside Latinoware.

The funny history behind my invitation to contribute to KDE started on the end of the first day of Latinoware. I went to the bus to go back to the hotel with Ayrton(The guy that worked with me on Br-Print3D) and started to complain about how was hard to find Qt programmers in Brazil. What I wasn’t expecting is that on the seat beside me was Tomaz Canabrava, and on the back Helio Chissini. Helio came up and said: Whaaaat?

On that very day Tomaz started to look on my work and said that was garbage, and that was the reality xD .

On the next day Tomaz invited me and Ayrton to include Br-Print3D in KDE and work with the community, after a while discussing this, we chose to go all in.

Today I’m very grateful to Tomaz and all the opportunities that KDE gave to me, based on the path that I started to walk on the yes that I said one year ago.

So, this is a special date for KDE and to me. =D

 

P.S.: Br-Print3D isn’t a KDE project anymore, now is Atelier, if you like 3DPrinting and want to help us, please reach us on freenode #kde-atelier =D

That’s all folks!

 


Twenty Years of KDE

Fri, 2016/10/14 - 2:30pm

One afternoon twenty years ago Matthias Ettrich and Martin Konold sat at a stone table in the cafeteria of the university Tübingen and talked computers. They talked Linux and they talked desktop. They talked about making Linux accessible to everyone. This was the moment where KDE was born. This afternoon they walked away with a mission. Matthias went on to write the call to action to found the KDE project, and Martin to create the very first KDE mailing list kde@fiwi02.wiwi.uni-tuebingen.de.


On October 14th 1996 the famous announcement arrived on the newsgroups comp.os.linux.development.apps, comp.os.linux.misc, and de.comp.os.linux.misc:

    New Project: Kool Desktop Environment. Programmers wanted!

The new project quickly attracted a group of enthusiastic developers and they pushed out code with a frentic pace. kdelibs-0.0.1 was released in November, containing the first classes KConfig and KApplication. In May 1997 the young project presented at the Linux-Kongress in Würzburg. In August Kalle Dalheimer published the famous article about KDE in the German computer magazine c't which attracted a whole generation of KDE developers to the project. On Jul 12th 1998 KDE 1.0 was done and released. The community had not only implemented a friendly face for Linux but also a bunch of applications while going, including a full web browser.


KDE did hundreds more releases over the years, continuously improving and maintaining the growing number of applications and amount of code. The community grew. It started to do annual conferences such as Akademy or the Desktop Summits and focused developer sprints such as the Osnabrück or the Randa meetings. KDE e.V., the organization behind KDE, which was founded as partner for the KDE Free Qt Foundation, grew with the community to be the corner stone of the organizational structure of KDE, using German association law as its secret superpower (read more about this in the book "20 Years of KDE: Past, Present and Future").

Millions and millions of people used KDE software over the years. Thousands of people contributed. KDE made appearances in Hollywood movies, it was subject of theses and scientific studies, and it won many awards. KDE's founder, Matthias Ettrich even received the German Federal Cross of Merit. The timeline of twenty years of KDE is an impressive demonstration of what Free Software is able to achieve.


KDE also was a breeding ground. Many people started their careers there. Hundreds of students went through mentoring programs such as the Summer of Code or the Season of KDE. Whole projects emerged from KDE, such as ownCloud and its sibling NextCloud, Kolab, or KHTML, which turned into WebKit and then Blink, powering most of web browsers on this planet today.

Today Linux has reached world domination in various, sometimes surprising, ways. KDE has contributed its share to that. With Plasma it provides a slick and powerful desktop which does make Linux accessible to everyone. This mission has been accomplished. But there is more. Following KDE's vision of bringing freedom to people's digital life there are amazing projects exploring new areas through Free Software, be it an application such as Krita to bring freedom to digital painters, or a project such as WikiToLearn to create collaborative text books for education. When KDE people meet you can feel the enthusiasm, the openness, and the commitment to change the world to the better just as in the days of the beginning.


I joined KDE in 1999 with my first patch to KOrganizer. I wrote a lot of code, maintained and founded applications, served on the board of KDE e.V. for nine years. Most importantly I found a lot of friends. Neither my personal nor my professional life would be what it is today without KDE. I owe a lot to this community. Thank you for the last twenty years.

KDE 1 neon LTS Released: 20 Years of Supporting Freedom

Fri, 2016/10/14 - 11:12am

To celebrate KDE’s 20th birthday today, the great KDE developer Helio Castro has launched KDE 1, the ultimate in long term support software with a 20 year support period.

KDE neon has now, using the latest containerised continuous integration technologies released KDE1 neon Docker images for your friendly local devop to deploy.

Give it a shot with:

apt install docker xserver-xephyr
adduser <username> docker
<log out and in again>
Xephyr :1 -screen 1024×768 &
docker pull jriddell/kde1neon
docker run -v /tmp/.X11-unix:/tmp/.X11-unix jriddell/kde1neon

(The Docker image isn’t optimised at all and probably needs to download 10GB, have fun!)

Facebooktwittergoogle_pluslinkedinby feather

Kubuntu 16.10 is released today

Thu, 2016/10/13 - 11:33pm

Kubuntu is a friendly, elegant operating system. The system uses the Linux kernel and Ubuntu core. Kubuntu presents KDE software and a selection of other essential applications.

We focus on elegance and reliability. Please join us and contribute to an exciting international Free and Open Source Software project.



Install Kubuntu and enjoy friendly computing. Download the latest version:

Download kubuntu 64-bit (AMD64) desktop DVD    Torrent

Download kubuntu (Intel x86) desktop DVD            Torrent

PCs with the Windows 8 logo or UEFI firmware, choose the 64-bit download. Visit the help pages for more information.

====================                                                          
Ubuntu Release notes
For a full list of issues and features common to Ubuntu, please refer to the Ubuntu release notes.
Known problems
For known problems, please see our official Release Announcement.

KDE Project releases KDE 1 !

Thu, 2016/10/13 - 11:05pm
From the Research deps of KDE Project desktop2desktop1

 

The KDE project is proud to announce his first public release,  after 20 years of hard development from a team of multi cultural developers around the world.

Was an amazing effort of the original dinosaurs to make this beautiful piece of software be available on the hands of our beloved supporters

Here’s the screenshots on the current status of the desktop

All teams will celebrate PARTIES all over the world trough this day, and you will be welcome to join any near you.

IF YOU READ UNTIL HERE, SURPRISE !! NO, I’M NOT CRAZY – IS KDE 1 FOR REAL

The KDE Restoration Project was a personal pet project that born around last QtCon and i took as a letter of love for the project that basically formed my professional life.

What you’re seeing here is the last KDE 1 release RUNNING ON A MODERN SYSTEM OF 2016 !!

Let me tell some about the history. Some time ago the Kde eV had a task to have our old desktops, KDE 1, 2, 3, running in some way to show in the anniversary. This was an easy job, anyone could do with an old distro and a virtual machine. And technically boring.

But then, what would be more interesting ?

There we go, how a 20 years ( or more ) code base of C++ would match against a modern, complete bleeding edge environment ?  I started to itch myself and then my first test was Qt 1.45. I showed that in QtCon and some people even blogged about.

This was exactly what my personal satisfaction was requiring. Is part of our history been preserved.

And then i made KDE 1. OH NO, WAIT, THERE’S MORE….

 

SO NOW, HERE’S WHAT WAS ACHIEVED NOW:

If you look on the screenshots, they are made with spectacle, the new screenshot tool, running inside Fedora beta 25, FROM KDE 1 RUNNING.

YES, YOU HEARD RIGHT. What i did:

  • Minor patches, surprise number one, the code aged well
  • completely revamp of buildsystem, Goodbye auto*hell tools headaches, welcome cmake

But then, something else would be nice, then

  • Imported the ORIGINAL KDE CVS to git up to KDE 1.1.2
  • Rebased the changes on top of that
  • Made it available on KDE git

WAIT, WHAT ?

YES, if you want RIGHT now try and see how was KDE, just jump on ou phabricator.kde.org and you can build it yourself.

The repositories are called qt1 kde1-kdelibs and kde1-kdebase.

I did packages for Fedora on Qt1 and kdelibs, but not ready to deploy

I committed myself in my limited time to finish up to kdebase, and then the objective is around the end.

I will, and anyone can help, convert the other modules, but this will take more time, so for now you can even use it on your machine after compile. Konsole works !!

Don’t be fooled, i took a lot of shortcuts to make it faster, and i know that some part can be improved, but we have time. Just want to keep our memory ( and my history tied too )

If you want details about the port, how i decided to proceed and what can be done, feel free to contact me by email, on helio@kde.org or on irc on freenode, heliocastro. I will be glad to talk about this. And i will be at Qt World Summint next week.

 

I want to give a special thanks to KDE sysadmins that provided me more than i was expecting, and the support from people that motivated me to make this port, and to my wife, that had a huge patience on my insanity process of execute this.

And all KDE dinosaurs that created this amazing piece of history.

Again:

HAPPY 20 YEARS TO ALL KDE USERS AND DEVELOPERS OF THE WORLD

 

Kubuntu 16.10 Released!

Thu, 2016/10/13 - 8:10pm

\o/ \o/ \o/ \o/ \o/

We, the Kubuntu Team are very happy to announce that Kubuntu 16.10 is finally here!

screenshot_20161013_152618

After 6 months of hard but fun work we have a bright new release for you all!

screenshot_20161013_152409

We packaged some great updates from the KDE Community such as:

– Plasma 5.7.5
– Applications 16.04.3
– Frameworks 5.26.0

We also have updated to version 4.8 of the Linux kernel with improvements across the board such as Microsoft Surface 3 support.

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

Download 16.10

Kdenlive 16.08.2 released

Thu, 2016/10/13 - 12:00am

This is the second service release of the 16.08 cycle with a total of 36 commits fixing many keyframe related problems as well as improvements to proxy clip rendering, user interface, workflow and compilation issues.

This cycle saw the launch of the Toolbox section of the website, a collection of posts covering in depth reviews of new and existing tools and features.

 

Commits
  1. Fix MLT Playlist proxying after recent proxy profile changes
  2. Fix proxy profiles to keep aspect ratio
  3. Fix broken keyframes on image/title clips
  4. Fix automatic playback of file with space in name
  5. Fix simplekeyframe effects (eg. blur) allowing keyframe one frame after end of clip after resize
  6. Change defaults for Color selection effect so that we don’t get a black screen at startup
  7. Fix “Make DocTools dep optional”
  8. Fix scalable application icon
  9. Make DocTools dep optional
  10. Warn about resize failure
  11. Don’t unnecessarily expand effect stack when unselecting a transition
  12. Fix several geometry effects broken on locale with comma separator (french, german,…)
  13. Fix importing library clip hanging with relative paths, improve error reporting
  14. Add the namespace to the appdata file
  15. Fix copy/paste of keyframes in transitions
  16. Add option to remove keyframes after cursor position
  17. Only allow importing position if keyframes have no width/height info
  18. Fix header
  19. Fix compilation
  20. Fix copy/paste of keyframes
  21. Fix several issues when editing an animation parameter in timeline (keyframes corruption)
  22. Fix disappearing keyframes in animated parameters (Transform effect and Composite+Transform transition)
  23. Fix keyframe type icons
  24. Fix incorrect initialization of Composite transition
  25. Fix crash when changing project fps while a clip was selected in timeline
  26. Slow motion clips: don’t mix clip state with strobe param from older project files
  27. Fix possible crash when closing a project or deleting a clip with subclips
  28. Fix some clip jobs incorrectly adding new clip
  29. Fix snapping when moving keyframe in effect stack
  30. Do not silently overwrite reversed clip
  31. Fix Recent regression – groups lost on project opening
  32. Fix clip monitor starting to play after drag
  33. Fix track effect added to wrong track
  34. Fix crash when changing project fps if timeline contains groups
  35. Fix groups on upper track disappearing when inserting a new track
  36. FIx proxy used for rendering when app started from home dir

Qt 5.6.2 on FreeBSD

Wed, 2016/10/12 - 12:20pm

Qt 5.6.2 was released today, the second patch release to the LTS (long-term support) Qt 5.6 release. Tobias had done prep-work by writing the FreeBSD ports for the last snapshot; I accidentally nuked that this morning, but now this afternoon I’ve restored Qt 5.6.2 final to the area51 unofficial ports tree. Since this is a patch-release, I’ll PR it shortly and then we can expect it to end up in official FreeBSD ports shortly.

One little blurb from the release-blog:

Qt 5.6.2 is well suited for users that can not upgrade to a later version of Qt, for example due to dependency to C++98 compiler.

In our (FreeBSD) case, what’s blocking is Qt 5.7 and WebEngine, which remains a big pain in the butt to get working at all (because its upstream doesn’t care about all the platforms that Qt cares about, or that KDE cares about, or that I care about — in decreasing size of audience, I think). How big a pain in the butt? Well, I’ve heard of efforts to update WebKit (not only in BSD-land, mind) and even efforts to port current KDE PIM back to an updated WebKit, thus dropping the WebEngine dependency introduced there. I imagine — or hope — that the pain in the butt of doing that is smaller than the pain of massaging WebEngine into shape. Basic economics — reduction of pain in the butt. I have no idea what’s happening there long-term. Suffice to say that for now, Qt 5.6 is where it’s at on FreeBSD.

KDE Frameworks 5 is lined up for use; there’s a big change in KDE ports infrastructure on FreeBSD going down, which will make it easier for us to keep KDE4 and KDE Frameworks, Plasma and Applications running side-by-side for now, and will help ease the porting maintainence burden. That big change has reached the last stage: an exp-run, which rebuilds everything on every version on every architecture. Once the fallout from that is cleared, KDE Frameworks 5.27 is ready for landing.

Resurrecting Yakuake

Wed, 2016/10/12 - 10:39am
KDE Project:

No use in beating around the bush: Yakuake is currently not in great shape. While the codebase made the jump to KDE Frameworks 5 quite early, it took a long time to get releases out, and the latest still suffers from some annoying, if minor, regressions and bugs. The same is also true for outside code Yakuake heavily relies on - namely Konsole, which unfortunately broke some APIs used by Yakuake, including the one used to invoke the "Manage Profiles" dialog. Meh.

Alongside this there's a more fundamental problem, which is that Yakuake's basic UI code has not aged well. There's some nice things to say about Yakuake's theming system, including a stable file format with unbroken backwards compatibility for more than a decade. But that also hints at the fact that it was designed for systems of that era, and for example can't handle scaling to hi-dpi displays at all.

Fortunately I've been able to secure some honest-to-goodness time over the next couple of months address these problems and thoroughly refurbish the Yakuake codebase, dragging it screaming and kicking into the present day. Here's the cliff notes of the todo:

  • New UI/theming system. This is the big one. The new themes will make extensive use of Qt Quick, adopting some familiar patterns from Plasma theming, and using the KPackage framework for packaging and distribution. This will get us scaling support, allow for more flexible UI arrangements (finally single-bar themes that aren't a gross hack, for one), window shadows, and more. Support for legacy themes will be retained via an internal compatibility theme; they will show up in the config dialog as per usual.
  • Fix Konsole breakage. Konsole's embeddable terminal component has been making Yakuake's life harder with bitrot and broken APIs. I'll go in and fix it.
  • Bugfixes. I'll look into addressing the highest-priority bugs that have been reported against the Frameworks 5 version, including the infamous terminal split focus issue.
  • Wayland. Yakuake mostly works on Wayland, but there's some X11-specific code that yet needs to be cleaned up.

Unfortunately out-of-scope for now will be the often-desired support for session restore; this will need a seperate campaign. But the above will ensure that Yakuake stays with us long enough to enable one.

Watch out for a Yakuake 4.0 deserving of the version bump some time later this year. :)

Qt 5.6.2 Released

Wed, 2016/10/12 - 9:08am

I am please to inform that Qt 5.6.2 has been released today. This is the second patch release to the long-term supported Qt 5.6, and there will still be more patch releases to come. While a patch release does not bring new features, it contains security fixes, error corrections and general improvements.

The Qt 5.6.2 patch release continues the quality and maturity focus of Qt 5.6, bringing close to 900 improvements on top of the already solid Qt 5.6.1 release. These bug fixes and improvements are also available in the later releases of Qt including the upcoming Qt 5.7.1 and 5.8.0 releases. Qt 5.6.2 is well suited for users that can not upgrade to a later version of Qt, for example due to dependency to C++98 compiler.

For details of the most important improvements and bug fixes in Qt 5.6.2, please check the change logs for each module.

If you are using the online installer, Qt 5.6.2 can be updated using the maintenance tool. Offline packages are available for commercial users in the Qt Account portal and at the qt.io Download page for open-source users.

The post Qt 5.6.2 Released appeared first on Qt Blog.

Kube: Accounts

Mon, 2016/10/10 - 1:16pm

Kube is a next generation communication and collaboration client, built with QtQuick on top of a high performance, low resource usage core called Sink.
It provides online and offline access to all your mail, contacts, calendars, notes, todo’s etc.
Kube has a strong focus on usability and the team works with designers and Ux experts from the ground up, to build a product that is not only visually appealing but also a joy to use.

To learn more about Kube, please see here.

Kube’s Account System Data ownership

Kube is a network application at its core. That doesn’t mean you can’t use it without network (even permanently), but you’d severely limit its capabilities given that it’s meant to be a communication and collaboration tool.

Since network communication typically happens over a variety of services where you have a personal account, an account provides a good starting point for our domain model. If you have a system with large amounts of data that are constantly changing it’s vital to have a clear understanding of data ownership within the system. In Kube, this is always an account.

By putting the account front and center we ensure that we don’t have any data that just belongs to the system as a whole. This is important because it becomes very complex to work with data that “belongs to everyone” once we try to synchronize that data with various backends. If we modify a dataset should that replicate to all copies of it? What if one backend already deleted that record? Would that mean we also have to remove it from the other services?
And what if we have a second client that has a different set of account connected?
If we ensure that we always only have a single owner, we can avoid all those issues and build a more reliable and predictable system.

The various views can of course still correlate data across accounts where useful, e.g. to show a single person entry instead of one contact per addressbook, but they then also have to make sure that it is clear what happens if you go and modfiy e.g. the address of that person (Do we modify all copies in all accounts? What happens if one copy goes out of sync again because you used the webinterface?).

Last but not least we ensure this way that we have a clear path to synchronize all data to a backend eventually, even if we can’t do so immediately. E.g. because the backend in use does not support that data type yet.

The only bit of data that is stored outside of the account is data specific to the device in use, such as configuration data for the application itself. Data that isn’t hard to recreate, is easy to migrate and backup, and very little data in the first place.

Account backends

Most services provide you with a variety of data for an individual account. Whether you use Kolabnow, Google or a set of local Maildirs and ICal files,
you typically have access to Contact, Mails, Events, Todos and many more. Fortunately most services provide access to most data through open protocols,
but unfortunately we often end up in a situation where we need a variety of protocols to get to all data.

Within Sink we call each backend a “Resource”. A resource typically has a process to synchronize data to an offline cache, and then makes that data accessible through a standardized interface. This ensures that even if one resource synchronizes email over IMAP and another just gathers it from a local Maildir,
the data is accessible to the application through the same interface.

Because various accounts use various combinations of protocols, accounts can mix and match various resources to provide access to all data they have.
A Kolab account for instance, could combine an IMAP resource for email, a CALDAV resource for calendars and CARDDAV resource for contacts, plus any additional resources for instant messaging, notes, … you get the idea. Alternatively we could decide to get to all data over JMAP (a potential IMAP successor with support for more datatypes than just email) and thus implement a JMAP resource instead (which again could be reused by other accounts with the same requirements).

diagram

 

Specialized accounts

While accounts within Sink are mostly an assembly of some resources with some extra configuration, on the Kube side a QML plugin is used (we’re using KPackage for that) to define the configuration UI for the account. Because accounts are ideally just an assembly of a couple of existing Sink resources with a QML file to define the configuration UI, it becomes very cheap to create account plugins specific to a service. So while a generic IMAP account settings page could look like this:

imapaccount

… a Kolabnow setup page could look like this (and this already includes the setup of all resources including IMAP, CALDAV, CARDDAV, etc.):

kolabaccount

Because we can build all we know about the service directly into that UI, the user is optimally supported and all that is left ideally, are the credentials.

Conclusion

In the end the aim of this setup is that a user first starting Kube selects the service(s) he uses, enters his credentials and he’s good to go.
In a corporate setup, login and service can of course be preconfigured, so all that is left is whatever is used for authentication (such as a password).

By ensuring all data lives under the account we ensure no data ends up in limbo with unclear ownership, so all your devices have the same dataset available, and connecting a new devices is a matter of entering credentials.

This also helps simplifying backup, migration and various deployment scenarios.


KDevelop for Windows: Official 5.0.1 beta installer available now

Sun, 2016/10/09 - 11:10pm

KDevelop for Windows: Official 5.0.1 beta installer available now

Today, we are happy to announce the availability of the first official KDevelop installer for Microsoft Windows. The installer is for the stable KDevelop 5.0.1 release, but we still release it as a beta, since there might be Windows-specific issues.

Sceenshot of KDevelop on Windows 10KDevelop 5.0.1 on Windows 10

 

The installer contains the standard C++ and QML/JS language plugins, as well as the Python and PHP plugins, such that you can use KDevelop to write code in those languages on Windows as well.

Instructions on how to set up a compiler and build system for C++ development can be found here.

Download KDevelop for Windows now!

Your feedback on your experiences with KDevelop under Windows are very much appreciated. Please send us bug reports and/or comment below!

sbrauch Mon, 10/10/2016 - 01:10
Category

#TheDevConf – Porto Alegre/RS/Brazil

Sun, 2016/10/09 - 6:01pm

Hi!

There’s a while that I don’t write a post… But my life got a little crazy on this past weeks, and now I have some stuff to share with you!

Well, between the 5 and 8 of October happened in Porto Alegre, in Brazil, an another edition of The Developers Conference(TDC).

TDC is my crush. On all events of technology in Brazil that I had participate, TDC is the best one. It’s an event for developers made by developers. We have 3 editions during the year, the first in Florianópolis – Santa Catarina, the second in São Paulo – SP and the last one in Porto Alegre(YAY!)

On this edition, I had the opportunity to manage the track of 3DPrinting, that happened today(10/08). We had talked about OpenSCAD, on how to build 3D Meshes for 3DPrinting, 3D printed prosthesis, and how is produced the 3d print filament by a Brazilian Company(F3DB).

But TDC started on the last Wednesday, so Yara Senger, that is the header of TDC sent to me an email asking if I had an interest in have a Maker’s area. And I answered to her a big YES, I WANT!

So, my friends arrived here with a 3DPrinter, and the electronics so we could invent some stuff… =D

In one second I got the 3DPrinter to me… Patrick, Tomaz, and Chris are working like crazy on AtCore, and I was getting crazy in not have a way to test it.

14519923_1114188025323776_5782845978049380037_n

My precious!!!

So I printed some stuff, but the 3dprinter had some issues, I tried to print 3 times an Arduino mega case, but I wasn’t able to finish them. But with success I did this keychain:

photo_2016-10-08_18-31-46

I had access to 2 3DPrinters, the first one on the above picture have the firmware called Teacup, and the second one, with Marlin. So I and Chris started the plugins of this firmware on AtCore so I could test it.

The few tests that I could do was very productive. I found some inconsistencies on some part of the code, that we are already working on it. And in my opinion the good part is that part of the firmware is based on Grbl(for CNC machines), so the work of the plugins is to handle specifics features of each firmware, but the base stuff, like send Home commands or print a model, is the same. So, I was able to test the base plugins with no problems.

Also, on the track of 3DPrinting, I was able to test it the 3DDoodler, a kind of pen that you can draw stuff with the technic of 3DPrinting… I did that:

img_20161007_174125

#TheDevConf

During the days of TDC, I finally started to use my kit of electronics stuff… The store FILIPEFLOP is the perfect store to buy electronics in Brazil, and they had a standing area on TDC with some circuits so you could see what you can do with a simple Arduino Uno. Since all the projects that you can do with and Uno you can do with a Mega too, I bought the sensor of proximity and a led board, and build a small circuit, that you can check on this video.

On the video you can see Ana, playing with my circuit. On the first moment that I made that work, I was like a child with the glow in her eyes on Christmas night hahahaha

That gave to me a new spirit to work with hardware stuff \o/

That’s all folks!

Check more photos! =D

img_20161006_110010 img_20161006_151242 img_20161007_112219 img_20161007_120245 img_20161008_114330 photo_2016-10-08_18-17-06

 


KDE Frameworks 5.27.0 on FreeBSD

Sat, 2016/10/08 - 6:20pm

The latest KDE Frameworks release — this month is 5.27 — is available in the unofficial KDE-FreeBSD ports repository, area51. Users of the plasma5/ branch in that repository can update as usual. or from the bleeding-edge packages provided by the KDE-FreeBSD team.

The state of those ports with respect to the official ports tree is unchanged: we’re working on getting the infrastructure updates needed to subsequently push KDE Frameworks into official ports (just Frameworks, initially, not Plasma or newer applications) and that’s a long-ish process.

Choqok 1.6 released

Sat, 2016/10/08 - 3:00pm

We are happy to announce a new upcoming release for Choqok after more than one year and half.

Big news about this release is that Choqok is now based on KDE Frameworks 5 and we officially support Friendica.

Changes for this release:
  • Rename StatusNet microblog as GNU Social
  • Twitter: fix user lists loading
  • Twitter: allow to select any follower when sending a direct message
  • Twitter: fix searches by username
  • Twitter: fix searches by hashtag
  • Twitter: show original retweet time
  • Twitter: fix external URL to access direct messages and tweets
  • Twitter: send direct message without text limits
  • Twitter: support to send and view tweets with quoted text
  • Twitter: allow to delete direct messages
  • GNU Social: fix medium attachment to post
  • GNU Social: allow to send direct messages
  • Fix removal of accounts with spaces in their names
  • Fixed the bug that overwrite an account if you use the same alias of another
  • Always use HTTPS when available
  • ImageView: dropped Twitpic, Plixi and Tweetphoto support (services are dead)
  • Enable Untiny plugin
  • Remove LongUrl plugin (service is dead)
  • Remove Ur.ly shortner (service is dead)
  • A couple of segmentation fault fixes

I should thank Mehrdad Momeny, Andrea Scarpino, Ignacio R. Morelle, Ian Schwarz, Gilbert Assaf for their contributions to keep the Choqok up.

And here you can find a longer list of bugs fixed in this release.

Download Choqok 1.6

You can download Choqok 1.6 source code package from here. For Kubuntu users I think Adilson will update his PPA.

Support Choqok

You can always support Choqok development via reporting bugs, translating it, promoting it, helping in code and donating money.

Flattr this!

Pages