Planet KDE

Syndicate content
Planet KDE - http://planetKDE.org/
Updated: 54 min 29 sec ago

[Howto] Using D-BUS to query status information from NetworkManager (or others)

Tue, 2014-03-18 08:18

Most of the current Linux installations rely on the inter process communication framework D-Bus. D-Bbus can be used to gather quite some information about the system – however the usage can be a bit troublesome. This howto sheds some light on the usage of D-Bus by the example of querying the NetworkManagaer interface.

Background

D-BUS enables tools and programs to talk to each other. For example tools like NetworkManager, systemd or firewalld all provide methods and information via D-Bus to query their information and change their configuration or trigger some specific behavior. And of course all these operations can also be performed on the command line. This can be handy in case you want to include it in some bash scripts or for example in your monitoring setup. It also helps understanding the basic principles behind D-Bus in case you want to use it in more complex scripts and programs.

First steps: qdbus

For this example I use qdbus which is shipped with Qt. There are corresponding tools like gdbus and others available in case you don’t want to install qt on your machine for whatever reason.

When you first launch qdbus it shows you a list of strange names which roughly remind you of the apps currently running on your desktop/user session. The point is that you are asking your own user environment – but in case of NetworkManager or other system tools you need to query the system D-Bus:

$ qdbus --system ... org.freedesktop.NetworkManager ...

This outputs show a list of all available services, or better said, interfaces. You can connect to these and can get a list of the objects the have:

$ qdbus --system org.freedesktop.NetworkManager ... /org /org/freedesktop /org/freedesktop/NetworkManager /org/freedesktop/NetworkManager/AccessPoint /org/freedesktop/NetworkManager/AccessPoint/0 ...

Each object has a path which identifies, well, the path to the object. That’s how you call it and everything which is connected to it.

Querying objects

Now that we have a list of objects, we can check which members belong to an object. Members can be actions which can be triggered, or information about a current state, signals, etc. – when we have access to the members things get interesting. In this case we query the object NetworkManager itself, not one of its sub-objects:

$ qdbus --system org.freedesktop.NetworkManager /org/freedesktop/NetworkManager ... method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface, QString propname) method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface) ... property read QList<QDBusObjectPath> org.freedesktop.NetworkManager.ActiveConnections ...

The output shows a list of various members. In the above given code snippet I highlighted the methods to get information – and a property which is called org.freedesktop.NetworkManager.ActiveConnections. Guess what, that property holds the information of the current active connections (there can be more than one!) of the NetworkManager. And we can ask this information (using the --literal because otherwise the output is not possible):

$ qdbus --system --literal org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Get org.freedesktop.NetworkManager ActiveConnections [Variant: [Argument: ao {[ObjectPath: /org/freedesktop/NetworkManager/ActiveConnection/0]}]]

Please note that as arguments we gave not the entire property as a whole, but we separated at the last dot. Formally we asked for the content of the property ActiveConnections at the interface org.freedesktop.NetworkManager. The interface and the property are merged in the output, but the query always needs to have them separated by a space. I’m not sure why…
But well, now we know that our active connection is actually a NetworkManager object with the path given above. We can again query that object to get a list of all members:

$ qdbus --system --literal org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/ActiveConnection/0 ... method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface, QString propname) ... property read QDBusObjectPath org.freedesktop.NetworkManager.Connection.Active.Ip4Config ...

There is again a member to get properties – and the interesting property again is an object path:

$ qdbus --system --literal org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/ActiveConnection/0 org.freedesktop.DBus.Properties.Get org.freedesktop.NetworkManager.Connection.Active Ip4Config [Variant: [ObjectPath: /org/freedesktop/NetworkManager/IP4Config/1]]

We query again that given object path and see rather promising members:

$ qdbus --system --literal org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/IP4Config/1 property read QDBusRawType::aau org.freedesktop.NetworkManager.IP4Config.Addresses property read QStringList org.freedesktop.NetworkManager.IP4Config.Domains property read QString org.freedesktop.NetworkManager.IP4Config.Gateway ...

And indeed: if we now query these members, we get for example the current Gateway:

$ qdbus --system --literal org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/IP4Config/1 org.freedesktop.DBus.Properties.Get org.freedesktop.NetworkManager.IP4Config Gateway [Variant(QString): "192.168.178.1"]

That’s it. Now you know the gateway I have configured right now. If you do not want to query each member individually, you can simply call all given members of an interface:

$ qdbus --system --literal org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/IP4Config/1 org.freedesktop.DBus.Properties.GetAll org.freedesktop.NetworkManager.IP4Config|sed 's/, /\n/g' [Argument: a{sv} {"Gateway" = [Variant(QString): "192.168.178.1"] "Addresses" = [Variant: [Argument: aau {[Argument: au {565356736 24 28485824}]}]] "Routes" = [Variant: [Argument: aau {}]] "Nameservers" = [Variant: [Argument: au {28485824}]] "Domains" = [Variant(QStringList): {"example.com"}] "Searches" = [Variant(QStringList): {}] "WinsServers" = [Variant: [Argument: au {}]]}]

As you see the ipv4 addresses are encoded in reverse decimal notation. I am sure there is reason for that. A good one. Surely. But well, that’s just a stupid encoding problem, nothing else. In the end, the queries worked: the current gateway was successfully identified via D-Bus.

Methods: calling panic mode in firewalld

As mentioned above there are also methods which influence the behavior of an application. One simple example I came across is to kill all networking by calling the firewalld panic mode. For that you need the interface org.fedoraproject.FirewallD1, the object /org/fedoraproject/FirewallD1 and the method org.fedoraproject.FirewallD1.enablePanicMode:

$ qdbus --system --literal org.fedoraproject.FirewallD1 /org/fedoraproject/FirewallD1 org.fedoraproject.FirewallD1.enablePanicMode []

And your internet connection is gone. It comes back by disabling the panic mode again:

$ qdbus --system --literal org.fedoraproject.FirewallD1 /org/fedoraproject/FirewallD1 org.fedoraproject.FirewallD1.disablePanicMode [] Rights

You should also be aware that there is a rights management embedded in D-Bus – not every user is allowed to do anything. For example, as a normal user you cannot simply query all configured chains. If you call the following method:

$ qdbus --system --literal org.fedoraproject.FirewallD1 /org/fedoraproject/FirewallD1 org.fedoraproject.FirewallD1.direct.getAllChains [Argument: a(sss) {}]

you are greeted with a password dialog before the command is executed.

Summary

D-Bus is used for inter process communication and thus can help when various programs are supposed to work together. It can also used on the shell to query information or to call specific methods as long as they are provided via the D-Bus interface. That might come in handy – some applications have rather strange ways to provide data or procedures via their user interfaces, and D-Bus offers a very generic way to interact without the need to respect any user interfaces.


Filed under: Debian, Fedora, GNOME, HowTo, KDE, Linux, Monitoring, Shell, SUSE, Technology, Ubuntu
Categories: FLOSS Project Planets

Kate: What’s cool, and what should be improved?

Tue, 2014-03-18 05:59

This is sort of a poll: Please write in the comments below exactly

  • one line about what you like on Kate, and
  • one line what you want improved.

Please spread the word so we get a lot of feedback – Thanks!

Categories: FLOSS Project Planets

openSUSE Conference Plans

Tue, 2014-03-18 05:58
In just a little over a month, the openSUSE Conference 2014 will kick off in Croatia. It is in the beautiful city of Dubrovnik - and when I say beautiful, I mean it. If the pictures here don't do it for you, check some pics on flickr! And the venue is great, too. The openSUSE site just published a location sneak peek - beautiful building, close to the city center, sea and food.

It is not just the location, food and beaches which look good. The program looks very good too. I published a sneak preview last week and for sure, if you're openSUSE contributor, you should be there. But if you are interested in Linux technology, there's a talk on BCache, one on btrfs, LVM, there'll be ownCloud, OpenStack, the Jolla phone and more. For programmers, my wife gives a Ruby on Rails workshop for beginners and there might be one for advanced users too (not yet confirmed).

There will be more than talks and workshops. openSUSE 13.2 Milestone 0 comes out very soon but Coolo does not want to commit to any schedule without having had a conversation about the planning at the openSUSE Conference. We also will plan the release team proposed by Markus Müller work. Those who stepped up have to decide what tasks they want to be involved with. More reasons to make sure you're at oSC14!

Last, I will be giving a few talks as well. One about ownCloud at home, about my experience setting this personal cloud tech up at home. I will present a session about where the KDE community is going with Frameworks 5, Plasma Next, the Manifesto, Wayland, QML and all that fancy stuff. And I talk about 'social skills for geeks', that stuff you really don't want to do, but have to.

On the first day I'll also do again the "giving talks" workshop and I'll present about doing a booth at events.



If you can go but have not booked anything yet, you should plan and register now! The Call for Papers is open until the end of the month but most slots are taken already so hurry up!

See you in Croatia
Categories: FLOSS Project Planets

Ladies Polo Shirts Now in Kubuntu Merchandise Shop

Mon, 2014-03-17 06:02

The Kubuntu Merchandise shop which sells a range of classy polo shirts has been restocked. By popular request it now features a range of ladies fit polo shirts.

Categories: FLOSS Project Planets

Monday Report #7 - beach edition

Mon, 2014-03-17 04:33
In which I am bragging about being in the sun, talk about community design, post some Plasma Next design and then rush out to the beach so as to not be divorced by my husband who really wish I would sit less at the computer.

Andrew Lakes Beautiful new clock desing! Check the slogan!
I would firstly want to say that I am on vacation in the sun so everything written will be written while looking forlornly at the ever present sandy beach. So do not expect a massive amount of information :)


First of all Community News: there is simply too much going on. Me and Thomas Pfeiffer from the HIG group recently mentioned this in discussion that the success of the VDG public forum means that it's almost impossible to keep up with all the threads. Ideas are being posted, talked about and mock-up'ed at such speed that trying to keep a presence in all threads is tricky at best. Which is as should be! The boys and girls in the forums is for me such a massive inspiration that I tend to just lurk and read and you guys will be referred to whenever someone says that Community Design is impossible!
Now the issue is getting the ideas to the right dev group in the best way possible which is something to think about, what is the preferred way of making certain the right dev see the right ideas?
In the VDG group Uri Herrera (the Nitrux guy) is posting more and more icons for the next Icon theme and among them symbolic icons for the folder-tree - a personal dream for me (the current "same folder icon as always but tiny" has been a pet peeve of mine).

Uri's icon work

David Brandl has started work on the logos of projects - trying to combine the logos of Plasma Next and Frameworks 5 and I can only say that the sketches and the work done there are awesome.

Andrew "The Design Machine" Lake has kept trundling onwards like the creative rocket that he is - he has also posted mockup kits and edits to the Plasma Current theme - the Next theme almost completely done! (the clock at the top is just one example).

Fabian Bornschein has almost finished the system tray icons, meaning that beyond a dark theme (which is a matter of reversing colors from the color theme) the work for Plasma Next theme is as good as done!


Finally it's that glorious bit - where the borders of VDG and KDE community blur - the work being done on the new cursor theme in the forums as well as the Awesome Community Icon Theme is marching on at the speed of light. I will hopefully get an interview this week with all the people involved in those things and will give that specific subject the time it deserves then!

Now I gotta go, my husband is standing looking at me with the "oh are you done soon?" look and we're heading for an early swim. 
Gotta run!
Categories: FLOSS Project Planets

Coming in 4.13: Improvements in the build plugin

Sun, 2014-03-16 16:51

Kate comes with a build plugin, which supports running make, or ninja,  or actually any arbitrary command directly from within Kate. This is obvisouly  useful when using Kate as development editor, and this plugin has seen several improvements for the 4.13 release.

A small change, but for affected developers a major improvement, is that Kate  can now parse warning and error messages from the Intel compilers, icpc and icc.
So for those of you using icpc, Kate can now automatically jump to the line of code which caused the error. Actually you don’t have to wait for 4.13 for this, it is already available since 4.12.3.

Beside that, there are improvements which benefit all users of the build plugin. Let’s start with a screenshot, which already shows one of the major changes.

Build plugin showing the list of targets and the Build-menu

 

Up to 4.12, it was possible to create multiple “targets”, and each of these targets could contain a “Build” command, a “Clean” command and a “Quick” command.  As of 4.13, the build plugin is not limited anymore to these three commands. As can be seen in the screenshot, every “target set” can now  contain an arbitrary number of actual targets.
They are listed in a table widget. To add a target, click the green “plus”-button in the lower right. This will  append a target to the end of the list. It can be edited by simply double clicking it (or pressing F2 while keyboard focus is in the table).
To delete a target, click the “minus”-button right next to the “plus”
One of the targets can be marked as the “default” target. This will typically be  the target which runs “make all”. Additionally one target can be marked  as the “clean” target, this will typically be “make clean”. For these two special  targets separate keyboard shortcuts can be assigned, so they are always  quickly available.

A whole set of actions which can be bound to shortcuts can be seen here:

Configuring keyboard shortcuts for the build plugin

 

Now to the actually interesting part: building something.
There are multiple ways how to start building a target.

The default and the clean targets can be built directly using keyboard shortcuts, in the screenshot above I assigned F8 to the default target.
To build another than the default target, you can select the target you want in the table and then build it by clicking the blue “check”-button next to the “plus” and “minus” buttons.
For keyboard users, there is a quick-select dialog. It shows a list with the names of all targets, which can be filtered by typing part of the target name. That’s a really quick way to build any of the available targets. Here’s a screenshot:

The Quick-select dialog for building a target

 

Once building has started, the output is displayed in the log view.
As can be seen, there is only one output tab left, where the “level of detail” can be adjusted using a slider. While building, the plugin automatically switches to the log display.

Build plugin showing the output while building.

 

Also new, there is now a simple status display, which tells you which target is currently being built or was built previously.
Next to it, there is yet another way to start a build, the “Build again” button. Once some target has been built, using this button the same target can be built again. Oh, and there is now also a button to cancel a build, in case you forgot the assigned keyboard shortcut.

When building has finished, the output tab automatically switches to a parsed output mode, which lists the warning – and error messages. By double clicking on one of them or using the keyboard shortcut of your choice, I assigned F9,  you can jump directly to the line of code which caused the error.

Build plugin showing the parsed errors after the build failed.

All that together, should make the build plugin even more useful than before.
Have fun compiling !

Alex

Categories: FLOSS Project Planets

Konsole new features 2.13

Sun, 2014-03-16 14:23
KDE Project:

With the KDE SC 4.13 release soon, a few new features made it into Konsole.

  • There have been quite a few requests dealing with the tabs over the years. Now, Konsole can load a stylesheet .css file that will be applied the the tabbar. This can control the size, colors, and text among a few items.
    There's a section in the Handbook which gives a few examples.
    Configure Konsole->TabBar
  • Profiles can now store the desired column and row sizes. This is for new windows only.
    Configure Current Profile->General

    Configure Konsole->General

Please provide any feedback on these or any other issues with recent Konsole versions.

Categories: FLOSS Project Planets

Luminosity of Free Software, Episode 18

Fri, 2014-03-14 06:01


I am pushing this week's Luminosity to tomorrow as we have a family birthday dinner tonight .. but it is happening! It will be a little earlier than usual: 17:00 UTC because it's hockey playoff season in Swizerland and the games start at 18:45 UTC. ;)

The topics?


  • Fairphone: I even have one in my desk drawer to waggle about in front of the camera.
  • Akonadi: it's an interesting bit of middleware that sits between the world of services and desktops and devices. It is also rather poorly understood, in part because it is complex, in part because it mostly operates behind the scenes, in part because it has kept changing in significant ways and in part because it had a rough start to life (oh, those .. ehm .. "lovely" Akonadi server check dialogs of years past). We'll peel back the curtains, however, and look at the realities of Akonadi and try to determine its value, purpose and direction.
  • Your Questions! Leave queries in the comments below or live during the recording and I'll do my best to offer my thoughts.
See you G+ / Youtube and irc.freenode.net in #luminosity tomorrow (Saturday) at 17:00 UTC!
Categories: FLOSS Project Planets

Twitter images in Choqok

Thu, 2014-03-13 15:18

Hello planet.

Not long ago I stumbled over [1] where someone wanted to have images of tweets from Twitter in Choqok. Since I find the image preview in the official twitter app on my Android / iOS devices quite nice I thought, this couldn’t be that difficult to do. After a short search on Google I found the API needed to get the images from Twitter so I included it.

This was the first time with bigger UI changes for me. Ok no real changes but I had to include the image somehow inside the current widget for each tweet as well as download the images from the Twitter servers.

Currently the changes are on Reviewboard but once they are reviewed they will be available for everyone. This would also be a good point for a new version release.

Which changes will come to Choqok 1.5 as well? Currently there is a new plugin for pump.io (The new backend API for identi.ca) developed and maintained by Andrea Scarpino

Before I end this post here are two screenshots (before and after)

That’s it for now.

[1]https://bugs.kde.org/show_bug.cgi?id=299433


Filed under: KDE
Categories: FLOSS Project Planets

Desktop applications of tomorrow (I)

Thu, 2014-03-13 06:58

This is the first of three posts where I am going to share my vision for the desktop apps of the short-term future.

When I am using my workstation or laptop I find myself spending most of my time in the browser, with it I do a lot of different tasks I used to be doing with many different native applications for example: listening to music, watching videos, chatting with friends, sending pictures…

When I am using my tablet or phone though the situation changes. I find myself rarely using the browser, in fact I only use it to visit some site I saw on another app like Twitter or Facebook.
At the beginning (HTC Magic, my first Android phone) I thought this was because the browser was so unbearable that they had to come out with an alternative to the web, so they came out with “specific apps”, that is one app per each internet service or purpose.

But things have evolved since, and now my Nexus5 and 7 can render websites some times even better and faster than my laptop, but anyway I still prefer to use Android apps. Why?

Content

Both web and android apps are way better at managing content than we are.

They always have something to show to you: perhaps something new that might interest you? perhaps a bold guess based on you previous search? or perhaps just what is “hot” nearby? Two of the best example are Youtube and Spotify.

Your content is available everywhere, and I am not talking only about putting stuff into the “cloud” but I am talking about your online profile. Continuing with the example of Youtube and Spotify on both apps you will have your: playlist, subscriptions, radios, friend list on any device either via the app or the web.

Sharing content is damn easy on both either by copying the url on the Web or by clicking the omnipresent share button in Android. As a matter of fact I don’t remember the last time I shared a picture or an article using a desktop app… Probably it was really long ago.

They know what content you like… They know your habits… They know everything and they use it to provide the most convenient content at all time. Oh look! It is Monday, perhaps you want to watch the new video uploaded in this Youtube channel as you do every week?

Finally, both web and Android apps try to avoid making the user think too much which I find it to be a relief when I am using them. Again they do this by knowing what content you are interested on and by providing it to you in the best possible way.

That is it for now, In part II I will explain the current situation of the desktop apps and in part III I will show a mockup of a video app I hope to work on someday. In the meanwhile what do you think? Is the same thing I describe in this article happening to you?

Categories: FLOSS Project Planets

Conf.KDE.In 2014: A New Generation

Wed, 2014-03-12 18:42

About three weeks ago, I was lucky enough to attend Conf.KDE.In at the DA-IICT in Ghandinagar, India. Thank you, KDE e.V. for making this possible.
Much has already been said about the excellent conference in the dot article and personal reports from fellow KDE hackers so I will skip repeating how eager and engaged the students were, how the event was impeccably organized, and even how good the food was.

What I want to talk about instead is something else: The evolution of our community.

Free software project teams are inherently volatile. Be it because of a new job, family or university, developers leave, new developers join. As a community, we are always reinventing ourself.

Conf.KDE.In, in contrast to Akademy, was definitely geared more towards KDE newcomers. In my opinion it's hard to overestimate how important events like this are: In the course of a single weekend, hundreds of potential new contributors were introduced to the basics of our ecosystem and given glimpses into what it could empower them to accomplish.

Will all of them become KDE contributors? Of course not. But if we are lucky, a few may try.


The next generation of KDE developers (?)

There is a saying that gets tossed around a lot surrounding community outreach initiatives: If even just a single one of the people you reach out to get’s involved, it’s already worth it. I always thought that may be reaching a bit. But there I was, invited to a major KDE conference that was initiated and organized by the amazingly talented Yash Shah, a former GSoC student of mine. A student, I should add, that I was initially hesitating to take on, because he was completely new to KDE at the time and would need substantial mentoring. Was that worth it? Well, you tell me...

Tags:
Categories: FLOSS Project Planets

New QML Model Types in kqtquickcharts

Wed, 2014-03-12 15:10

The plugin now provides three new QML types: ChartModel, Record and Value. The first type implements QAbstractTableModel, so it can directly hooked up with a chart as its source model. The other two types allow to easily describe the model’s data in QML making it trivial to draft a simple QML chart demonstration:

demo/minimal/main.qmllink1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 import QtQuick 1.1 import org.kde.charts 0.1 Rectangle { color: "white" width: 800 height: 400 ChartModel { id: chartModel columns: 2 Record { Value {value: 0.1} Value {value: 0.2} } Record { Value {value: 0.25} Value {value: 0.3} } Record { Value {value: 0.5} Value {value: 0.5} } Record { Value {value: 1.0} Value {value: 0.75} } } Column { anchors.fill: parent anchors.margins: 20 spacing: 20 LineChart { model: chartModel width: parent.width height: parent.height - legend.height - parent.spacing pitch: 180 dimensions: [ Dimension { id: funDimension color: "#ffd500" dataColumn: 0 minimumValue: 0.0 maximumValue: 1.0 label: "Fun" precision: 0 unit: " %" unitFactor: 100.0 }, Dimension { id: profitDimension color: "#ff0000" dataColumn: 1 minimumValue: 0.0 maximumValue: 1.0 label: "Profit" precision: 0 unit: " %" unitFactor: 100.0 } ] } Row { id: legend spacing: 30 anchors.horizontalCenter: parent.horizontalCenter LegendItem { dimension: funDimension } LegendItem { dimension: profitDimension } } } }

The file can be directly run with qmlviewer, in fact I have used it to generate the screenshot in the original announcement for this project.1 There are no C++ components required anymore to leverage the charts plugin.2

The way the demo employs ChartModel obviously doesn’t reflect how most applications want to use the charts plugin. Static data isn’t encountered what often after all. For this case ChartModel offers a set of methods to dynamically manage its data. I am currently developing a second, more complex demo illustrating their use.

  1. By that time, the model implementation was still in a very early stage and since the demo depends on it, I hadn’t published it yet.

  2. Supplying a C++ model is still an option, though.

Categories: FLOSS Project Planets

Progressing towards Next

Wed, 2014-03-12 11:57

In the Plasma team, we’re working frantically towards the next release of the Plasma workspaces, code-named “Plasma Next”. With the architectural work well in place, we’ve been filling in missing bits and pieces in the past months, and are now really close to the intended feature set for the first stable release. A good time to give you an impression of what it’s looking like right now. Keep in mind that we’re talking Alpha software here, and that we still have almost three months to iron out problems. I’m sure you’ll be able to observe something broken, but also something new and shiny.

For the first stable release of Plasma Next, we decided to focus on core functionality. It’s impossible to get every single feature that’s available in our long-term support release KDE Plasma workspaces 4.11 into Plasma Next at once. We therefore decided to not spread ourselves too thin, and set aside some not-quite-core functionality for now. So we’re not aiming at complete feature parity yet, but at a stable core desktop that gets the work done, even if it doesn’t have all the bells and whistles that some of our users might be used to, yet.

)

Apart from “quite boring”, underlying “system stuff”, we’ve also worked on the visuals. In the video, you can see an improved contrast in Plasma popups, effects in kwin have been polished up to make the desktop feel snappier. We’ve started the work on a new Plasma theme, that will sport a flatter look with more pronounced typography than the venerable Air, and animations can now be globally disabled, so the whole thing runs more efficiently on systems with slow painting performance, for example across a network. These are only some of the changes, there are many more, visible and invisible.

We’re not quite done yet, but we have moved our focus from feature development to bugfixing, the results of that are very visible if you follow the development closely. Annoying problems are being fixed every day, and at this rate of development, I think we’re looking at a very shiny first stable release. Between today and that unicorn-dances-on-rainbows release lie almost three months of hard work, though, and that’s what we’ll do. While the whole thing already runs very smooth on my computers, we still have a lot of work to do in the integration department, and to translate this stability to the general case. Systems out there are diverse and different, and only wide-spread testing can help us make the experience a good one for everybody.

Categories: FLOSS Project Planets

Desktop Effects Control Module in KWin5

Wed, 2014-03-12 10:29

One of the new features in KWin 5 is a completely rewritten configuration module for our Desktop Effects. In KWin 4 our module was based on KPluginSelector, which is a great widget for a small list of plugins, but it was never a really good solution for the needs of KWin.

Also we noticed that a QWidget based user interface is not flexible enough for what we would like to provide (e.g. preview videos). So when QtQuick came around we had the first experiments with reimplementing the selector with QtQuick, but with the lack of what today is QtQuick Controls it never left the prototype state. But it encouraged us to use one GSoC project on redesigning the control module from scratch and Antonis did a great job there to lay the foundation for what we have now in the upcoming alpha release.

The most noticeable change is that the new control module just focuses on the Desktop Effects. What we learned from our users is that they are only interested in configuring the effects and that the other options exposed in that control module bare the risk of users changing and breaking their system. Thus we decided to give the users what they need and move all other options into another control module.

In order to give the users the possibility to focus on the effects we also did some cleanup in the list and all effects which are not supported by the currently used compositing backend are hidden by default (e.g. OpenGL effects when using XRender). Also all internal or helper effects are hidden by default. These are effects which replace functionality from KWin Core or provide interaction with other elements of the desktop shell. Normally there is no reason for users to change that except if they want to break their system. That’s of course a valid use case and so there is a configuration button to modify the filtering of the list to show also those effects.

Last but not least our effects got extended by information on whether they are mutual exclusive to other effects. For example one would only want to activate the minimize or the magic lamp effect. Both at the same time result in broken animations. For effects in a mutual exclusive group the UI uses radio buttons and manages that only one of the effects can be activated. That’s the change I’m most happy about.

Check out the video to see the new configuration module in action and also see some of the new features I haven’t talked about. Please don’t tell me in the comments about padding issues and rendering problems. We can see those, too, and are quite aware of them. If you want to help iron out issues with Oxygen and QtQuick Controls check have a look to our wiki page.

Categories: FLOSS Project Planets

making friends with kontact again

Wed, 2014-03-12 08:06

I've used Kontact (KDE's full feature groupware app) since it was available. I used KMail on its own before that. In that time I had never (!) reset the configuration or started from a clean start. I just migrated from version to version carrying over all my settings and local mail as new version became available.

This means I went through the various epochs: when IMAP became the better supported system; grouwpare server support; akonadi; semantic search integration (both Nepomuk and Baloo) with the same configuration and data on disk.

The last several months had become amazingly painful with Kontact, however. Frequently folders would lock up and the caches would fall out of sync; switching folders would take forever; loading mail content was also often painful. Restarting Kontact became a multi-day affair, and dropping Akonadi caches was becoming increasingly frequent. I chalked this up to running bleeding edge master, but my patience was growing thin. I filed bug reports,  I started looking through the code to see where problems might be and I even considered what I could migrate to. (Nothing really comes close to Kontact, however ...)

So the other week I decided to take a drastic measure before going any further: I blew away all of the configuration and data files related to Kontact (including the individual apps such as KMail and KOrganizer) and Akonadi, keeping only my local maildir folders and started from scratch.

Since then it has been a night-and-day difference. Kontact actually works again. It's like having my old trusty friend back. Both my POP and IMAP accounts work well; all the SMTP outgoing is flawless; Kolab works a treat alongside my local maildir folders; local and server-side filters are both humming cheerily sorting my mail for me ... amazing!

When I mentioned this on irc the other day, someone else said they had just done the exact same thing. Sooo .. if you've been using Kontact for a while and finding it is suddenly not living up to your expectations after the next upgrade, consider taking the plunge. Yes, it means setting things up again, though thankfully that doesn't take very long with Kontact if you know where the various settings are (and/or use the included wizards). I happily chalk that investment of time into the "win" column though, given how smooth everything now is.

.. and if you haven't ever seriously tried using Kontact (perhaps because versions in past year left you with a sour taste for one reason or another), give it another try when 4.13 comes out. We migrated one person in the house from Thunderbird to Kontact after they started using Kolab (mostly for the shared calendaring; coordination ftw!) and despite having tried and dropped Kontact twice in the past they are now a very happy user. Old emails were imported accurately, new accounts set up smoothly, multiple IMAP accounts (and a local maildir one for good measure) and integrated calendaring, TODOs and contacts .. what more could one want? ;)

Categories: FLOSS Project Planets

[Short Tip] Ansible Cheat Sheet

Wed, 2014-03-12 07:49

I created an Ansbile Cheat Sheet for Wall-Skills.com which was published today. It covers most of the important bits and pieces on one neat single page and thus should hang on your office wall. And since even customers recently approached me regarding using Ansible on Ubuntu/Debian I figure and hope that this cheat sheet will be of help to others.

By the way, thanks to pastjean who is the creator of the famous Git Cheat Sheet which was published on Wall-Skills not long ago in an adapted version: the Git Cheat Sheet inspired me to write my own cheat sheet for Ansible, and the design follows similar principles.


Filed under: Business, Debian, Fedora, Linux, Office, Shell, Short Tip, Technology, Ubuntu
Categories: FLOSS Project Planets

What’s new in kdepim-4.13: KNotes

Wed, 2014-03-12 01:58

In 4.12 I fixed KNotes. It was totally unmaintained. So I decided to fix all bugs that I found, and improve it.
For 4.13 my focus was to port it to Akonadi. KNotes used KResources until now and in KF5 it will removed, so it was necessary to port it to Akonadi.

I did it in 4.13.
So I created a knotes-migrator for migrate old data to akonadi.
So no data lose

As you know we can put an alarm on a note but it was never displayed when knotes was not started.
With Akonadi we are able to create an “Agent”,. Now we have a new agent named “NotesAgent” which allows to inform you when a note sent an alarm.

In Knotes we can also send a note in network, NoteAgent is used to receive it too.

What are the others improvements ? Now we use “baloo” for searching notes.
As it uses same data as KJots we can see them in Kjots too.

I hope that it will motivate you to use it

Future:
I don’t have idea for the future yet
Feel free to send idea:)

Categories: FLOSS Project Planets

Prospective GSoC Students: Now is the time to submit proposals

Tue, 2014-03-11 17:02

Greetings to all you students we've been talking with in IRC (#kde-soc and your chosen team's channel(s)) and on the mailing lists. By now, hopefully you have met and talked with your teams, and begun formulating your plan for GSoC, with advice from your prospective mentor(s).

I hope you have followed Myriam's advice and done your homework. If you have worked on some junior jobs, have your KDE developer credentials, joined the necessary lists *including KDE-soc*, you have a good foundation built.

Pro-tip: always check out the links in the /topic of your IRC channels. The #kde-soc channel topic is particularly rich.

Many prospective mentors hang out in that channel, but not all. Us admins are there as often as possible as well. I'm always willing to help edit a proposal for grammar, spelling, organization, formatting, etc. And I can be brutally honest, so if you ask my opinion, be aware that I won't waste your time with anything but the truth.

Now is the time to log into melange, and submit your proposals. If you have not yet had a team member vet your plan, give them the link to your melange proposal and ask. Don't waste their time with mere ideas; you need a clear plan of action, and a realistic timeline.

Go, go, go!

Categories: FLOSS Project Planets

KDE Frameworks 5 Alpha 2 is Green

Tue, 2014-03-11 05:50
KDE Project:

Scarlett has been working hard on packaging KDE Frameworks 5 Alpha 2 and the build status page shows a sea of green (the only yellow is when a framework is asking for a package which doesn't exist yet). Just in time for Plasma Next to get its Alpha release this week coming :) Grab the KF5 packages from the experimental PPA for Kubuntu Trusty.

Categories: FLOSS Project Planets

Monday Report #6

Mon, 2014-03-10 16:41

Where in we talk more about the value of community design, talk about creating resources for developers, why it's cool checking out other designers work, show some details from the coming Plasma Theme (and a sneaky special gift to our fine readers ;) ) and then end with a short comment on politics.

From Marco Martins blog and Desktop. Plasma Next.
What a week, what a week... One of my favorite things is going in to the VDG forums at the KDE-forum and read and reply to posts. There are too many awesome things to talk about going on and ALL IN THE OPEN. Some would call it "design by committee" I call it "social design work"!

...
First off the Awesome Community Icon's need a mention. The idea came from a while back when a proposed set of monochrome icons to be used in applications and widgets based of the Awesome Font was talked about. It never really got further than that but now that work has started up again in earnest. The idea being to make a simple, lean and above all symbolic icon language to be used in Open Source projects and KDE projects especially. By being monochrome, it can also use the coming effect of changing to the color of the chosen text color in the color theme.
Right now a group of community members (me included) are sifting through the available icons and sorting them into the correct places, community member Davidwright will then work it into a git-thing and hopefully a member of the VDG will sort out a project page with all icons accessible and nice so anyone can use them. Hopefully we will also be able to describe all icon sets and what the name of the icon mean so further icon design work is made simpler.

We're also hoping to include monochrome versions of LegnaVI's Krita icons to create some kind of unification in this project, trying to make all KDE apps to use the same iconset.
If you feel like helping out KDE, join in the fun and help out - the beginning of the thread has links to the Google Spreadsheet we're using for work and the Awesome Font page we're using as base for all icons. Do it!

...
Then Leroux also finished his network icons that I posted about earlier and I suggest anyone who feels a passion for icons and themeing should check them out and perhaps use them in a theme (contact him so you guys can collaborate). Hopefully we will be able to use part of them in the AKI (yes "Awesome Kommunity Icons").
A wild debated has started about a new form of sidebar in the forums - a plethora of mockups and design idea's are being hammered out and I for one is right now lurking in the thread reading every little idea and notion with interest.
(Future Plasma Design leak: part of the design ideas are being used in the sketches for the next Plasma Kickoff Launcher... don't tell anyone, iiih exciting)
The Kmymoney project is also shaping up nicely - due to the brililant work of community member lucashappy, they now have a new application icon and thoughts are being worked on working the AKI icons into a future design for them.
Now there is also a large debate going on System Settings and the future of them in the forums. For now it will be a slow and bit-by-bit thing but when it takes off a large chunk of the work is done so far so if you want to get in on that, join the debate!
The System Settings also had a split today in how we handle Desktop Effects. Due to technical reasons it was split into Compositing and [Desktop Effects]. One being more technical and "please don't play too much with this" and the other the same collection of effects we as KDE and Plasma users have come to love and adore. That means naming should be talked about... and it is! In the forums!

Now all this is to say: if you have a problem with something, you have an idea how to solve it - we have a massive community, together we can fix things design-wise, we can come up with new ideas and amazing concepts in an air of togetherness, kindness and cooperation. So don't just say that you don't like something somewhere on a blog, write a proper suggestion for a solution (without smacktalking anyone, respect is key) in the forums instead. Join in the fun!

...
Also this week I have been installing different kinds of desktop environments to check them out and see how they solved their issues. The plan was to post that report yesterday (along with an illustration tutorial) but things got in the way so it'll be coming next week.
Safe to say, don't expect any "Unity/Gnome/Openbox/whatever sucks!" texts from me. I have nothing but admiration and respect for the work done by ALL Open Source and Linux designers. All. Even if I use Plasma by choice it doesn't mean I have to hate on them instead of seeing how they did different. So this is my shoutout to the designers of those desktop environments: "Great work boys and girls, you're an inspiration! <3"
Also I will start writing a column in Full Circle Magazine about Open Source and Design which will have its basis in my experiences with the KDE Community and the design work there. I think the first short one will be in the next issue.

...
From Marco Martins blog and desktop
But what about Plasma Next? Well the work is ticking on. The first screenshots from Plasma Next using our light theme are out on Marco Martins blog and everything is being worked on and tested right now to hopefully get into the Alpha of Plasma Next. We've soon to begin the work on a dark theme which hopefully will roll out the doors any second.

As a matter of fact... consider this a rare treat: We've bundled the preview we have that you can use in Plasma Current, it won't look exactly the same and it is massively a WORK IN PROGRESS - but we've added a color theme, an Aurorae theme for the window decoration and a Qtcurve theme for the widget - also a quick fix to make Chrome or Chromium look nice. So don't say we never did anything for you ;)

Now remember, this is massively a work in progress and hardly a final - the clock and logout and other bits need refining (and some lines etc). If you're on Plasma Next then it might be a bit more correct with the correct blurring effect on the panels - but anyway, enough talk you can download a tar of it here! Now it will say "no preview" but just press download and everything is ticketyboo.

All this is due to the massive work undertaken by Andrew Lake of the VDG - Andrew, what would we do without you?

...
Politics. Concerning the recent events in Malmö I just want to add a short #kämpashowan and that during the recent surge of right wing extremist violence and politics in Europe it is important to remember Edmund Burkes words: "the only thing necessary for the triumph for evil is for good men to do nothing", that is all for now and probably the last I will talk about politics in this blog.

Next week we will have some icon work to look at, some refinements to check out with the theme (maybe another sneak preview to our dedicated readers, hmm?) until then, take care!

Categories: FLOSS Project Planets