Posted by grundleborg on March 7, 2009
A couple of weeks ago, I started an attempt to give regular updates on what’s going on with Telepathy development in KDE. Unfortunately, I’ve fallen behind already (thanks to a insanely busy fortnight), but hopefully I can catch up, so here’s a list of what’s going on at the moment:
- Porting of existing Telepathy stuff in KDE to use the new library, telepathy-qt4.
- Some work on the presence plasma applet and dataengine
- Work on a protocol plugin for Kopete to be able to use Telepathy.
Now some more detail on those three things:
Number one is annoying but necessary. Although it doesn’t get us any closer to having full-blown Telepathy awesomeness in KDE, it needs to be done. The old telepathy-qt library (and tapioca-qt, which it was used in conjunction with) is unmaintained and seriously showing its age. It also has a horrible flaw – it is a synchronous API. Although synchronous API’s are nice to work with, they end up driving you mad in a situation where many API calls require slow network roundtrips behind the scenes. The result was slow applications with regularly blocking GUI’s. eugh. telepathy-qt4 is a new library that is currently under heavy development. It is fully asynchronous and designed with future extensibility in mind. Its got a fair way to go yet, but given the current pace of development that shouldn’t be long in terms of time. So, back to how this affects KDE. We are porting all existing Telepathy stuff inside KDE to use this new library.
On point number two, Siraj Razick has done some great work on the Presence plasma applet and dataengine. They now allow you to set your presence as well as show it. The presence applet is still rather ugly, but work is ongoing to make it truly beautiful. Expect an update with pictures as soon as this work is complete.
Number three: Dariusz Mikulski (Polish only) has been working to bring the bit-rotted Telepathy plugin for Kopete up to date. Work is progressing fast with that – last time I tried it, I could create accounts, and bring them on and offline, and see my buddies list. Again, expect more updates on that as it evolves, hopefully with screenshots too next time.
So, in summary – lots going on, lots of busy people, but still loads more to do. And just in case you missed my post last week – if all this sounds really cool, why not join in the fun by applying for a Google Summer of Code project.
[Disclaimer: This blog post talks about applications that are incomplete and not available in released versions of KDE - in other words - the stuff being talked about here may break or disappear at any time... you have been warned]
Posted in KDE, Telepathy | Tagged: decibel, KDE, kopete, Plasma, Telepathy | 2 Comments »
Posted by grundleborg on February 20, 2009
I haven’t been writing here regularly since last Summer but I think its finally time to get back to regular updates on what I’m doing in KDE. However, this long absence from the planet doesn’t mean I haven’t been contributing.
I’ve been working madly for the last couple of months on getting the infrastructure in place in KDE for widespread use of Telepathy. Nothing exciting to show off yet, but I will be posting regular updates on the progress of this work, starting imminently.
It’s great to see the plasma browser plugin being mentioned and played with again. I plan to work on making it more than just a proof-of-concept again soon, but not just yet. I’m waiting until a secure ecmascript API is in place for plasmoids. Otherwise, as people rightly pointed out on the original blog post comments, it would be a security disaster. Perhaps the KDE 4.4 timeframe will be the right time to resume development of it.
Also, I’m really happy to see the Bugsquad still going strong… This incarnation is rapidly approaching its first anniversary – perhaps we should find some bug-tastic way of celebrating…
Posted in Bugsquad, KDE, Plasma | Tagged: Bugsquad, decibel, KDE, konqueror, Plasma, Telepathy | 1 Comment »
Posted by grundleborg on September 5, 2008
You might remember some months ago that I posted a proof-of-concept plasma plugin for Mozilla Firefox on Linux. Well, a lot of tweaking later, we can now see a wide assortment of clocks in Mozilla Firefox on another platform (no prizes for guessing which one).

The most time consuming part of getting this up and running on Windows was actually just getting KDE compiled in the first place (emerge hates me). After that, it took about 10 lines of code and a few tweaks to CMakeLists.txt and it works.
Well, I say it works, but if I were more honest I’d say I managed to get the clocks to appear once out of many attempts in Firefox, and to grab a quick screenshot before I started trying to interact with them and brought everything crashing down. So, if you want to try this out yourself, be warned: you’ll need a lot of patience to do all the tweaking needed to get it working, and then it’ll still eat your babies.
Source code is in the same git repository as last time. See the README file included for barely-comprehensible instructions on how to destroy your soul.
When I blogged about this originally, there were lots of comments from people worrying about the security implications. I’d like to write about that in more detail, but I don’t have enough time, so it will have to wait for another day. For now I’ll just point out one thing: it is only a proof-of-concept at this stage. Obviously if this ever becomes a finished product, there will be security in place to stop plasmoids from the web interacting with your local computer in inappropriate ways – it will not work like Microsoft’s ActiveX, but much more like Adobe Flash.
Posted in KDE, Plasma | Tagged: firefox, KDE, Plasma, plasmaplugin, windows | 7 Comments »
Posted by grundleborg on May 30, 2008
After refactoring the core of decibel to be independent of KDE, I’ve decided to take a little break from my summer of code project while my mentor reviews all the changes I’ve made so far. So, instead of taking a holiday from KDE and computers for the last two days I’ve been working on a little project that I’ve wanted to do since I saw the idea mentioned by Aaron in an interview some time ago (when I googled for it this evening, I couldn’t find it again, so forgive me for not linking). I interpreted what he said as meaning “plasma doesn’t just need to revolutionise the desktop but could even spread into the internet space by having plasmoids on web pages”.
So, I set about making this possible. It was easier than I thought thanks to the wonderful trolls who recently released an Open Source QT addon that wraps the Netscape Plugin API. In fact, most of the two days I’ve spent getting this basic browser plugin made were spent tracking down the reason why adding a dependency on KDE stopped mozilla loading it – it turned out to be “-fvisibility=hidden” that is added to the CXX_COMPILER_FLAGS by FindKDE4.cmake.
Now, don’t get excited yet – this really is rudimentary, but there is now a plugin that works with firefox (not tested with anything else yet) and allows web pages to contain plasmoids. It uses the plasmoids already installed on your computer, but in the future I can envision it allowing scripted plasmoids provided by the web site you are visiting. Also, at the moment it only allows embedding of individual plasmoids, but again in future it could allow embedding of containments – you could even have a page that allows rearranging of plasmoids much like how you can rearrange the boxes on your Facebook profile. You could even perhaps drag plasmoids from a web page to your desktop! The posibilites seem endless… (Apologies to Aaron and other plasma devs for any ideas here that are not original and that I poached from them and then forgot about!)
Anyway, bringing my imagination back down to earth, here’s a screenshot of what’s already possible.

Large version
The clocks all work, honest
(The only major known bug is that the right click menu text doesn’t show up, but I have a feeling that someone with more KDE-fu than me will fix that in a heartbeat).
If you want to have a look for yourself, the code is currently in available here in a git repo. Check out the master branch, then compile it in you KDE4 build environment (you will need very recent trunk), and it should Just Work (TM). See the README file for random ramblings about how to debug when it doesn’t
.
Enough of that sidetrack! Tomorrow I return to Decibel (which I will blog about again shortly as a huge amount has and is happening on that front). Also, there’s a bug day this Sunday… you know the drill by now, and if you don’t, watch the planet for a dedicated blog about that soon.
UPDATE: This approach currently does not work for Konqueror, but it has been pointed out to me that it is already possible to embed local plasmoids in Konqueror via a kpart. Details on Harri Porten’s blog.
Posted in KDE, Plasma | Tagged: browser plugin, KDE, nsplugin, Plasma, plasmaplugin | 26 Comments »