Imaginemos un mundo libre

La paz interior comienza en el momento en el que decides no permitir, que ninguna persona o evento, tome el control de tus emociones.

Archive for the ‘KDE’ Category

Código de Conducta de la comunidad KDE

leave a comment »

Comunidad KDE

Invito a todos los hispanohablantes, miembros de KDE, a leer nuestro Código de Conducta. Esto es muy importante para mantener una buena relación entre todos los miembros de esta maravillosa comunidad internacional.

Si perteneces a KDE o alguna otra comunidad de Sofware Libre o código abierto, por favor, difúndelo.




Written by Ronny Yabar

May 12, 2015 at 12:50 pm

Posted in KDE, Planet KDE-es

Tagged with , ,

The KDE LaKademy 2014 experience – São Paulo, Brazil.

leave a comment »

Long time without posting :)

Well, from August 27th to 30th, KDE contributors met in LaKademy (Latin American Akademy).  We got together in São Paulo, Brazil and the meeting took place in the Free Software Competence Center (CCSL) at University of São Paulo (USP).

It was my third time in Brazil and was great to meet again with my KDE Brazilian friends and learn more about the KDE community. Besides discussing about KDE applications, frameworks, technologies, projects… we had some really interesting talks and hacking sessions of course.

KDE - LaKademy

KDE - LaKademy

As usual, we enjoyed some beers everyday and visited the Garoa Hacker Clube, one of the most important Hacker Spaces in São Paulo. These guys use full Open Source, software and hardware.

Take a look at this 3D printer printing the KDE logo.


I gave a talk about the amazing KDE Connect.


I want to thank the KDE e.V for sponsoring the event and my trip. It’s really important to meet in our region and know better each other, these kind of meetings are really valuable for us.

You can see the full report of the LaKademy here and some pictures to share:


See you at next Lakademy!!!

Written by Ronny Yabar

September 26, 2014 at 10:10 am

KDE Connect: Connecting your devices to KDE

with 3 comments

KDE Connect
KDE Connect was initially developed as part of a KDE GSoC project in 2013 and is one of those exciting KDE projects that makes you love more this awesome community.  KDE Connect aims to communicate and connect all sort of devices to KDE and vice versa. The objective of KDE Connect is to make your devices interact with each other in a simple and efficient way. Some examples:  Imagine, with a single click, send a document/picture/video from your desktop to your Android phone or control your desktop media player from your mobile. KDE Connect, at the moment, support the following features:

  • Show your phone battery next to your computer battery.
  • Share the clipboard between devices.
  • Remote control your music and videos.
  • Show phone notifications in KDE and keep them in sync.
  • Pause music/videos during a phone call.
  • Send and receive pings between phone and computer.
  • Browse the remote device filesystem using SFTP.
  • Receive and send files, URLs or plain text easily.
  • Show notifications for calls ans SMS.
  • Use your phone as a touchpad.

To make this connection possible, you need to install both: The KDE Connect software on your desktop and the KDE Connect app for your mobile device.


Some popular Linux distributions like Debian,  Ubuntu,  OpenSUSE,  Fedora… already have KDE Connect available on their repositories. Use your package manager to install it, but you can compile it from the source code. To install it on openSUSE & Debian use the following instructions (It should be similar on other Linux distros):

– Install the requiring packages:

openSUSE : 
sudo zypper in kdebase4-workspace-devel libqca2-devel libqjson-devel libfakekey-devel

Debian : 
sudo aptitude install kde-workspace-dev libqca2-dev libqjson-dev libxtst-dev libfakekey-dev

– Clone the repository:

git clone git://

– Compile it:

cd kdeconnect-kde
mkdir build
cd build
sudo make install

– Make KDE aware of KDE Connect.

Run the following command as a non-root user:

qdbus org.kde.kded /kded loadModule kdeconnect (It should return true)

– Rebuild system configuration cache:

kbuildsycoca4 -noincremental

Once you have KDE Connect installed, you will see it in your System Settings: KDE Connect This option will be empty until your pair your desktop with your mobile. We’ll talk about it next lines.


Currently, there is a KDE Connect Android app available on Google Play and the IPhone app is currently being developed by other Google Summer of Code student. For the Android app, version 4.1 or higher is recommended to get all the functionality, but you could still use the app in old Android versions.

  • The first time you open the KDE Connect Android app, you will see the hostname of your desktop:

KDE Connect Android app


Now you need to pair your devices. It’s so simple, the only requirement is that your mobile and desktop must be connected to the same Wi-Fi network.

  • Click on your hostname and request pairing:

KDE Connect Android app

  • A notification will appear on your desktop:

KDE Connect pairing request

  • You should accept the request you send from desktop to mobile too:

KDE Connect pairing requested

  • Once you have accepted, the desktop is listed on the connected devices view:

KDE Connect connected devices

  • After the successful pairing you can enable/disable the features and plugins you need in the KDE Connect Settings:

KDE Connect Settings


  • Send a ping from your device to the desktop and vice versa:

KDE Connect mobile ping KDE Connect desktop ping


  • On your mobile, when you click on your device connected you will an option to select/deselect plugins:

KDE Connect Android plugins KDE Connect Android plugins

  • Control your media player from your mobile:

KDE Connect control media player

  •  Send a file from mobile to desktop.  KDE Connect is now listed on your apps to share content.

KDE Connect Android send file KDE Connect desktop file received

  • Use your mobile as a touchpad. Actually, this is one of my favorite features, use your mobile to control your desktop windows, tabs and other stuff is amazing.

KDE Connect Android touchpad

  • Send a file from desktop to mobile:

KDE Connect desktop send file KDE Connect desktop received file

  • Also, there is a Plasmoid (Widget) for your KDE desktop, where you can see your devices:

KDE Connect Plasmoid Other features include get notifications on your desktop when you receive a phone call or an SMS, copy an URL on your mobile and open it on your desktop, etc. These are just some examples of what you can do with KDE Connect As you can see the technology has great potential and a very promising future.

Happy KDE Connect

Written by Ronny Yabar

August 21, 2014 at 10:14 am

Lakademy 2014 – KDE América Latina

leave a comment »

Lakademy 2014 - KDE

Del 27 al 30 de agosto se realizará el 2do  LaKademy – Akademy de América Latina, el encuentro de usuarios y colaboradores latinoamericanos de KDE, una de las comunidades de software libre y código abierto, más grandes del mundo.

El evento se realizará en São Paulo – SP – Brasil, en las instalaciones del CCSL – Centro de Competência em Software Livre do IME-US. La región es de gran importancia para el proyecto, pues cuenta con una gran comunidad de desarrolladores y usuarios. Diversas empresas y gobiernos utilizan, desarrollan y adoptan políticas para el uso de software libre, y mucho de este software es desarrollado por KDE.

El objetivo principal de LaKademy, es realizar un encuentro presencial de esta comunidad de usuarios y colaboradores, posibilitando el intercambio de ideas sobre proyectos e iniciativas entre los diferentes miembros, discutir el futuro de KDE, planificar acciones futuras para KDE en América Latina y, además, presentar el proyecto a nuevos y potenciales colaboradores.

Así que LaKademy, consiste en una serie de actividades como ponencias sobre los principales temas relacionados a KDE, sesiones de hacking para aprender cómo colaborar con código para el proyecto, también reuniones sobre temas específicos y happy hours.

Si vives en Sao Paulo, estás en el mundo del FOSS o te gustaría contribuir, ver el trabajo o unirte a una comunidad internacional como KDE, no pierdas esta oportunidad y participa del evento.

Te puedes registrar desde aquí:

Written by Ronny Yabar

August 1, 2014 at 12:14 pm

Presenting KDE 4.10 in Cusco, Peru

leave a comment »

This friday, March 15 at 10:00am I will be presenting KDE 4.10 at the “Universidad Andina”  in Cusco, Peru.  I’ll talk about the KDE community and,  of course,  the Plasma Workspaces,  applications, as well as the new features added in this impressive release.

Joins us!!!

My beautiful KDE 4.10:

KDE 4.10 - Desktop

KDE 4.10 – Desktop

KDE 4.10 - Desktop

KDE 4.10 – Desktop

KDE 4.10 - Marble

KDE 4.10 – Marble

KDE 4.10 - Gwenview

KDE 4.10 – Gwenview

KDE 4.10 - Dolphin

KDE 4.10 – Dolphin

KDE 4.10 - Dolphin MTP Devices

KDE 4.10 – Dolphin MTP Devices

KDE 4.10 - Dolphin

KDE 4.10 – Dolphin

KDE 4.10 - Kate

KDE 4.10 – Kate

Written by Ronny Yabar

March 14, 2013 at 9:36 pm

Posted in Cusco, KDE

Tagged with , ,

LaKademy – The first KDE Latin America meeting

with one comment


Finally, I am ready. As you probably have read in various blog posts, the first KDE Latin America meeting, will take place in Porto Alegre, Brazil.  This will be a great opportunity to return my work on KDE coding.

It definitely would be awesome to meet all developers and contributors from other LA countries, I already met some KDE Brazilian developers in Latinoware 201o, which was my first KDE event outside Peru.

I’ll work on KDE-Games, on porting a game to the new graphics system available in the KDE Games and Qt Quick porting too. Another project that interest me a lot is KDE Telepathy, I follow the project development some time ago,  so if there is enough time will take a look on this.


I continue spreading the word about KDE in many FOSS events here in Peru, but I think we need more partcipation and contributions, so working in promo and learning from other KDE communities will be valuable. Thanks a million to the KDE e.V  for supporting this event.

See you in Porto Alegre.

Written by Ronny Yabar

April 25, 2012 at 10:00 am

Posted in KDE, Planet KDE

Tagged with , , ,

GSoC final report: MessageViewer ( Kmail ) and Akregator ported to Grantlee.

with 15 comments

It has been a long time without posting, but well GSoC finished and it’s time to share with the community the result of the project.

First, I want to thank you my mentors Thomas McGuire and Stephen Kelly for the support, the knowledge shared and of course coding tips.  I really learned a lot from them and one important thing:  How the Open Source development works.

The MessageViewer

Well, inside kdepim there is a library called MessageViewer which job is to provide a widget that can show a message. The first goal of the project was to port the MessageViewer to the Grantlee template system for both reasons: First, to have a clean, readable and more maintainable code and second to have a solid theming system to show/get those cool themes users and some developers like.

The MessageViewer had two classes  HeaderStyle and HeaderStrategy that had the job to show and manage the header data.  The header style is the class that generates those fancy, brief, enterprise… styles you see in kmail and the header strategy is the class that decides which data to show/hide.

When I started the GSoC project, both, the styles and the strategies were  hardcoded each one and the styles had a mix of QT + HTML code. So these classes were removed and a new one ( HeaderTheme ) was created to combine that style/strategy functionality:  So Actually HeaderTheme is a combination of those two classes, but with the static HTML removed, the code cleaned up and the Grantlee integration.

In general, the HeaderTheme class is the responsible to setup and make the connection to Grantlee so it can set/show the themes.  So now we have “themes” instead of “styles”.


Let’s stop for a moment and see some screenshots.

kmail Fancy Theme

Fancy Theme

kmail Air Theme

Air Theme

kmail Qt Theme

Qt Theme

kmail Nokia Theme

Nokia Theme

I created these themes just to show the theming capabilities. Of course, we can have some by default in Kmail like the fancy one for example. So a “Themes” menu replaced the old one “Styles”.

The default themes folder is inside the MessageViewer and has the following structure. Similar to wallpapers or themes from other KDE projects.

A theme consists of a folder with: An images directory (If the theme has images), a default.desktop file with the metadata information and the default.html that has the styles and the data variables need to be shown.

MessageViewer Themes Structure

MessageViewer Themes Structure

Note that the themes menu is created with the themes subdirectories that are in all the KDE data directories like kde, .kde and .kde4.

The ObjectTreeParser

The ObjectTreeParser is the class inside the MessageViewer that parses messages and generates the HTML code for the Viewer. The ObjectTreeParser is a very very complex class. Actually, this was my face the first time I looked at it:


But anyway, after some work, the ObjectTreeParser was partially ported to Grantlee. Partially, because there are some parts on it that generates HTML dynamically, so the static parts were ported to Grantlee and now that static part is divided in small pieces of HTML to identify them faster. There are no theming possibilities here, this port was to improve the code readability and make the maintenance tasks easier.

Inside the MessageViewer there is a htmlOTP folder with the HTML files that has the ObjectTreeParser data of static information:



The Akregator ported to Grantlee was really similar to the MessageViewer with the difference that Akregator has the concepts of views  ( Normal, combined and widescreen). In Akregator the situation was the same, Those views were hardcoded with identical Qt + HTML + CSS.

So, that presentation stuff was extracted to themes, and a new method renderTheme() was created in the ArticleFormatter  to setup up the Grantlee magic and call the themes. Now, no matter which view is chosen, the same theme will be always called and looks the same in the three different views while you still not choose another theme.

We had the problem that Akregator, as  based on KHTML,  doesn’t allow you to load images from the hard disk, no relative neither absolute paths work, my mentors told me it has to be with the KHTML internals for security.  ( The MessageViewer is based on WebKit. ) A web URL works, but I think this doesn’t solve our problem. So no images atm in Akregator themes. The logos and some backgrounds I created could not be shown. Just enjoy the theming.

But we really need to fix this. Maybe a KHTML hacker can provide some help. Some Akregator themes screenshots:

Planet KDE Theme

Linux Foundation Theme

Nokia Conversations Theme

Planet openSuse Theme

Planet Kubuntu Theme


No much to say here. Get Hot New Stuff was integrated in the MessageViewer and now you can start downloading themes from kde-look, our themes provider. There is just one theme to download for Kmail atm.  Thanks to Frank Karlitschek from for creating the Kmail and Akregator categories. Actually, we had a discussion to instead of having applications themes have a Kontact Theme. I think a Kontact theme could be hard to maintain, because it will be full of conditionals about the different kdepim applications based on Grantlee.

IMO, it would be better to have applications themes and share duplicated code with the Grantlee inheritance feature that is just a:  {% include “your_code_to_share.html” %}. Maybe we can have a central place with the code similar in all themes for all applications. It will give us more flexibility because although the styles could be similar, the data and the applications views are not always the same.  Trust me, I tried the fancy theme in both Kmail and Akregator and it looks a little bit deformed in Akregator for the views it has. But this is debatable of course, I would like to here your feedback here.

In my next post for users, I will talk about how to write a Kmail/Akregator theme, the variables you need, the styling, Grantlee cool features, etc.

GHNS in Kmail

GHNS in Kmail

Lessons learned from GSoC

1._ Stephen was really helpful and always gave me good comments in my Qt/KDE code and even sent me a couple of patches to improve my work and the same with Thomas, as the ex Kmail maintainer for a couple of years, usually gave me good and detailed explanations of how the code works inside Kmail and the MessageViewer. I learned from them that you just simple need to commit more often to get feedback faster about your code. I usually had the habit of waiting to complete some stuff or couple of tasks and then commit. As they told me: Even one line change that solves a minor issue count. So go ahead and commit that little change or improvement.

2._ Practice, practice and practice more C++/Qt/KDE code. The more you practice this stuff, the more you understand the code written in KDE. Also, have a copy of the KDE API in case you lose your internet connection and need to work offline.

3._ I remember on the first days of the project that I got an Akonadi problem that prevented me to start Kmail correctly. I was searching the problem in Google, I followed the Akonadi TroubleShooting page, kde forums and had no luck. Then on IRC Leo Franchi (lfranchi) told me about a couple of more “rm commands” inside my kde-devel home directory, stop/start Akonadi and the problem was gone( Thanks Leo).

To be honest, I usually try to solve problems myself, but I realized sometimes this is not the way to go. So whenever you have a problem like this don’t made this stupid mistake and ask the KDE community about it, you can save a lot of time.

4._ Related to point 3.  It was really funny how a simple thing to add as an “Action List” to the menu took me some time.  My KXMLGUIClient code was ok and I found the API documentation really clear.  I was really frustrated about my code not doing what I wanted to do, so I entered on #kde-devel and David Faure (dfaure) came to the rescue. Really thanks David for the KXMLGUIClient explanation. My themes action list code really needed to be in the MessageViewer, however this stuff had to be called in the Kmail side after createGUI(). So a Kmail->MessageViewer connection was made to make this action list working.

Don’t underestimate my knowledge, go and code the Kmail/MessageViewer stuff and you’ll see the complex thing. Really complicated for an initial KDE developer.

5._ Usually Stephen and Thomas asked me for my kdebug() outputs and sometimes the information I showed them wasn’t enough to debug a problem. Why? Maybe, because you don’t have the  right debug information enabled :). So beginner KDE developers, please run kdebugdialog, enable the information you need and make your mentors/KDE Developers happy.

6._ And finally GSoC was a real learning experience that motivates me to do more KDE work. Specially code and promo. So stay tuned.

Next steps

  • Fixed the current code minor issues to merge the kmail/MessageViewer/Akregator code to trunk. I really want all this theming stuff to be part of KDE SC 4.6.
  • As I told my mentors in our last GSoC meeting, I will stay on KDE to get more programming knowledge and to know better the community. My goal in short-medium term is to maintain all the theming code in kdepim and help on porting more KDE applications to Grantlee (If they need the port of course). I think with the experience gained and more practice I can do it.
  • Give more talks about KDE (I already gave two), more involvement with the community and continue spreading the work about KDE in South America and specially in Peru.

In unrelated KDE notes, After some months I returned to enjoy my other passion: Tae Kwon Do.  I will have real challenges in the next days and need to prepare well to get my Green Belt. This belt means “Power begins to develop” and the color green represents growth. The same color as the Qt one and exactly how I feel now on my KDE development experiences,  just a coincidence.

So wish me luck guys and I promise you some pictures of my Green Belt next to the Qt logo .

Then my  KDE work will be usually at nights.

Thanks to the KDE community, the KDE GSoC admin team, my mentors and Google for the opportunity to work in an Open Source Project I love.

Written by Ronny Yabar

August 26, 2010 at 3:41 pm

Posted in KDE, Planet KDE, Qt