Category Archives: General

Tokamak II

Last week we went to Porto and had Tokamak II, the plasma’s developers meeting. It was just a wonderful time and it was great to meet some people again and to put faces in some nicks.

I mainly worked on Plasmate, the new “plasma IDE” for writing scripted plasmoids. Specially in the previewer and I used the time to also take a look at some bits of plasma that I didn’t have the chance (time) to look at yet. So now I can say that I can help with plasma even more and that I have a lot of ideas for the upcoming releases.

A lot of good stuff was also showed there like the status of Qt-Kinetic, ideas for the picture frame, improves on extenders, crystal, lion mail, community stuff, etc…

Thanks KDE for this wonderful oportunity and I hope we can keep improving plasma for everybody πŸ˜‰

Plasma devs

Tokamak II

I just finished my small presentation for tomorrow and I’m already at the boarding gate. It looks like that the fligth is empty, just a few people here and most of them are europeans going back home after holidays.

At this time nobody stopped me at the security check, what is a miracle because every time I have to open my handbag. It’s really hot here and very cold at Porto so I’ll problably have what they call ‘thermal shock’ hehe.

I have to board now, so…..see you πŸ˜‰

Ah, almost forgot to say that this is my first post from my n810..

Bossa Conference 2009

It’s coming! Finally! Every year before the conference I have this feeling of happiness mixed with a lot of expectation. This is the third edition of this conference and the other two was just awesome….

It was after the first one that we started working on the base of Canola2, after the second one we started working on QEdje and….what will be this year ? hehe…To be honest I already have some idea of what we are going to do but, I’ll just wait πŸ˜‰

About this edition I can say that we’ll have people from even more open source communities, having the pleasure of receiving KDE people. Who comes to Bossa Conference will have the opportunity toΒ  watch talks about Qt Kinetic, declarative UI’s, Webkit, Plasma, Enlightenment (EFL), software security, HAL/PolicyKit, Python, wireless technologies, free software licenses, Openembedded, VoIP, Maemo…..ouch, a lot of topics πŸ˜‰

Besides that we have hacking times with code camps, discussions inside the pool, parties, beach and a lot of food =) hehe…

Being honest: It’s just great! It worth it =). I hope I can meet some of you guys there (some I already know I’ll meet).

So after a year of conferences: aKademy, Maemo summit,, Camp KDE, here comes Bossa Conference. Take a look in the video below to see what happened last year….

Bossa Conference 2008

If you want more information just visit the conference’s website or talk to me on IRC / email!

And just a month before this I’m going to Tokamak II (btw, thanks pinheiro πŸ˜‰ )….how wonderful is life =P

See you πŸ˜‰

Let the paste begin

Now almost all my wishes to pastebin plasmoid have been accomplished: the possibility of configuring the plasmoid to post to your own pastebin server.

So, for those who have a pastebin inside company’s intranet or even prefer to use one of the subdomains that the pastebin servers provide, all you have to do is go to settings dialog from pastebin plasmoid and put right there, in the “Servers” section, the address of your server. I must say that it only supports servers that runs one of the 4 backends (,, and If you would like more backends, please just send a patch or tell us in #plasma πŸ˜‰

Next step is to give some UI love to it: some “title” label, so you know with server it’s using, a nice icon….

pastebin server section

pastebin server section

Animated Wallpapers for Plasma

It has been some time now that the QEdje’s wallpaper plugin for Plasma is on playground, but just yesterday I had some time to finally write a patch for QZion to enable the correct painting of the animated wallpaper. This patch still needs to go mainline in QZion…

Anyway, for those wanting to see a little demo take a look at the video below:

Plasma Animated Wallpaper

Cheers! πŸ™‚

UPDATE: here is the QZion’s patch;a=commit;h=4d7901de03d2ce86ab31fd67b0be7a2fe6de6c21 . So people using qzion/qedje from trunk can use that =)

Pastebin (Old) Update and Kinetic

It has been some time now since I updated the Pastebin applet and I didn’t have enough time to write this small post telling you the news: there is now a imagebin server implementation for the pastebin applet. This means that you can just drag your images there and it’ll post to imagebin server and you can share images with your friends easily =) I even heard today an use case of people taking snapshots with ksnapshot and draging the picture in the pastebin applet…that’s really nice!

Another very good news is that the Kinetic project is “on the streets”. Now you know what we were doing in Oslo by the time of this post. We gave a little help for those guys and soon we’ll keep working very close with those guys. We just have to finish another small project first…

Besides that I’m really happy that KDE 4.2 is almost on shape (at least for me hehe). Every day it becomes better and better. I also have to mention that applications like Marble and Digikam are getting even better also…

From the development side, hopefully I’ll be able to help closing some Plasma’s bugs until the release.

That’s it for now =P Cheers!

Trolls, QEdje and Plasma

Last weeks I was at Qt Software’s (formely known as Trolltech) office in Oslo working a little bit with those amazing guys. I would like to thank everybody there for everything πŸ˜› . It was an awesome time!

Well, talking about Oslo it’s obvious to say that I had a lot of time during the flights to hack Plasma! It was very good because I could understand a little bit more about Plasma script engine’s API and could finally make the QEdje Script Engine work 100%. Hmm…ok, maybe it need some love during package install to avoid the install of invalid files, but I’m working on this right now, right Aaron ? πŸ˜‰ (just commited this fix: revision 866487)

It’s really nice to have a way to easily select an edje file and it automagically(tm) becomes an applet that can be used as a gadget. Of course QEdje needs some more love in order to support some more features from the original Edje as gradients and some other stuff, but the current version supports the most common use cases. Hey, and don’t be shiny…just git clone qedje (instructions at and contribute to the project too =D.

While finishing the script engine I found some problems with Qt’s proxy widget. After some discussions with Alexis (darktears), Aaron and Thiago I finally understood the problem and was able to fix the segmentation fault: first I applied Alexis’s patch on Qt (it’s inside qt-copy now) and then used valgrind to understand the next problem I had. With that I just followed Aaron’s tip about setting the proxy’s widget to 0 (zero) just before deleting it in the script’s destructor. Just worked \o/ =D.

So, after some test and review it just went to kdebase as our friend CIA-54 (aka bot) told us:

<CIA-54> asouza * r866456 workspace/trunk/KDE/kdebase/workspace/ (6 files in 4 dirs):
<CIA-54> QEdje Script Engine arrives to kdebase
<CIA-54> Working version. Still needs improvements on package install to avoid
<CIA-54> install of invalid files.

Screenshot showing a lot of the kde logo edje animation on my desktop as well as canola’s deepblue theme (the player group) with it’s settings window (it has a preview so you can see what it’ll look like if you select that group).

my desktop

my desktop

Next steps ? Wallpaper API !!!


Plasmoid with QEdje

Akademy was really great! It was awesome to give faces to nicknames and to chat, have dinner, learn and talk with a lot of people…just awesome!

My first plasmoid is done, right now. It took some time to take care about details and I had to wait before we could publish the last QEdje’s version. Unfortunately, our server is going down for maintenance this weekend but you can get the snapshots in this post. After the servers go online on Monday, we’ll also put our git repository online (actually it’s already there).

It’s a simple plasmoid and it took more time to create the animation frames (using blender…) than to code the plasmoid. Thanks to ervin and darktears who helped me with little doubts πŸ˜‰

Required downloads: QEdje 0.2 , QZion 0.2 , EET , KDE logo Edje File. I put the KDE logo here because it doesn’t fit well inside the svn. If you want to compile your own themes, you’ll need some tools from EFL. We are working on a solution for this but meanwhile you can use this hacked tarball: Edje Utils.

You can also find the release notes here and some QEdje examples here.

Just take a look at svn inside plasma’s playground and look for qedje inside applets folder. Now, some screenshots:

The first ones shows KDE logo animated in different positions and I wanted to show it working with a full transparent background in the third screenshot.

Next step: wallpaper plugins, here I come!

PS: you must take a look at the “dangeroo” joke. The best part of the joke is the listener’s faces (right ervin????) πŸ™‚

PS2: for those asking for Zack’s photos during Bossa Conference 2008, sorry but a llama ate all the photos πŸ˜›

Update: instructions to use Edje Utils:

QEdje – Init()

This is my first post that is aggregated by planet kde. My name is Artur (a.k.a. MoRpHeUz) and I work for Openbossa (open source stream of INdT– Brazil). We develop solutions for mobile platforms like the Nokia’s n8x0 devices and we are responsible for projects like Canola, Carman and Mamona. I would like to introduce the QEdje project, but to talk about QEdje I need first to explain Edje (from Enlightenment Foundation LibrariesΒ  – EFL).

From Edje’s wiki: “Edje is a graphical design and layout library based on Evas (the canvas used by EFL) that provides an abstraction layer between the application code and the interface, while allowing extremely flexible dynamic layouts and animations”. Let me detail a little bit more: with Edje you can create dynamic and animated user interfaces easily and can make designer’s dreams really true (without “hurting” developers), with much less code than other approaches.

This way programmers doesn’t need to become designers (what usually results in bad usability or even bad interfaces) and designers doesn’t need to become programmers (that results in not so good technical approaches or even bad code) πŸ˜‰ . The fact is that Edje puts the control of the usability and beauty in the hands of designers and artists, separating (until some level) the application and the UI logic. It’s important to say that it’s different from other styling systems since you can change even the behavior of the widgets on the screen, not just it’s look.

The image below show more about the Edje work flow. Where it says “designer” you can read developer too. If you work like this, you can have designers creating the interfaces and developers translating them to Edje Script Language or even an automatic tool (sometime ago we developed a python script for GIMP which takes a photoshop file and creates the edje file – without the animations, off course).

Edje Workflow

Edje Workflow

Using EFL we created animated and themed applications for mobile devices, bringing beauty to the end user. The end user just love fancy stuff on their mobile devices, we have iPhone phenomenon to show that for us.

Canola's Main Theme Crystal's Theme
Canola's Black Theme

You may be asking yourself: “but how does this affect the desktop and does this have anything to do with KDE/Qt world ?”. Let’s go to the answers…

We always wanted to use Qt and now we have the chance! Our first need was something like Edje, that just changed our lifes regarding rich ui applications development. The first move was to create a port of Edje, and then QEdje was born. So at this point QEdje is a port of Edje, leaving the EFL world and coming to Qt world. We still have some work to do (features, bugs, …) but it’s already working in a nice way. In the future we plan to create some new features that the original Edje doesn’t have right now, but may be included too.

If you take a look at e17 (enlightenment window manager) you’ll see that it has a lot of cool stuff. The first thought was that Plasma could benefit somehow from it (and it looks like that Aaron thought the same – let’s see if we have something in this area after Akademy πŸ˜‰ ). This way Plasma, for example, can easily use QEdje to have fancy plasmoids and other applications can have rich UI looks (anybody thinking about image viewers, multimedia players, educational games, etc .. ? πŸ™‚ ). We’ll also make this easier by providing support for embedding QWidgets inside you Edje interface, so you can benefit from the huge widget’s library provided by Qt.

So, if your are going to Akademy and is interested, please watch our presentation. We’ll give more details, explanations, future plans, etc..etc..etc.. . And if you are not going to Akademy, please contact us at and take a look at the project’s website: . If you wish, contact me by email also.

That’s all for now, hope to have more news and demos soon! πŸ™‚

Qt + Assistant + Emacs

Everytime I wanted to get a console I typed F12, willing to make Yakuake come down. But sometimes I pressed F11 and then Devhelp was loaded. It’s ok when you make this mistake one, two or even three times…but It was happening a lot.

I searched my entire KDE’s shortcuts trying to find where the hell was that key binding but I had no luck. After a while, I discovered that it only happened when I was inside Emacs…hmmm…of course it was an Emacs key binding and not KDE’s one!

Ok, now I was able to remove the F11 key binding, but the fun just started: how about binding Qt’s Assistant instead of Devhelp as I’m working much more with Qt than with GTK ??? πŸ˜‰

At first it looked pretty easy, just needing a few lines inside .emacs:

(defun assistant ()
"runs qt assistant"
(start-process-shell-command "assistant" nil "assistant")
(global-set-key [f11] 'assistant)

But now I really need Assistant to automatically search for a keyword when I open it. It would be much easier to just put the cursor in the keyword I want and make Assistant search for it. A few hours later I finished it and came along with the following patch on my “personal” Assistant:


And my final Emac’s function:

(defun assistant ()
"runs qt assistant"
(start-process-shell-command "assistant" nil "assistant" "-search" (current-word))
(global-set-key [f11] 'assistant)

Emacs + Assistant

So much fun with Qt =P