Techbase Updates

Motivated by the efforts of the Chinese and French translations of the
KDE 4 build instructions, I started on a german one. The French translation was finished in less than a week. Let’s show that we can do it, too 🙂

In unrelated Techbase news, Michael Manke of the public administration Berlin Steglitz-Zehlendorf donated 44 pages (!) worth of KIOSK documentation. Although it focuses on (open)SUSE, SLED and SLES, it’s still amazing and very useful. I want to move it to Techbase ASAP, but the Documentation is an ODT file with pictures inbetween. I am currently investigating on how to best migrate those docs into Techbase. Hints welcome.

LinuxTag 2007 wrap up

So I am finally back home. Time to summarize the last few days sebas style:

  • Berlin is definately a nice place for LinuxTag, but we need sleeping opportunities that don’t require us to travel through the entire city to get to the fairgrounds.
  • Friedrichshain has really nice flat shares to stay.
  • My future collegues from the TT Berlin Offices are really cool guys (ok, who would have expected anything else? ;-))
  • Sven from Amarok, Dimitri from Trolltech and Sebas gave nice interviews during a live show on Deutschlandfunk.
  • Long train travels + Boredom + Power plug = Amazing productivity
  • And finally: Adriaan, I still have your towell.

api.kde.org relaunched

In the last days, Adrian, Allen and I finally got around to move api.kde.org to the EBN server. A natural move, since ktown was overloaded anyway and nightly apidox generation had thus been disabled to save resources. On the other hand, the EBN server builds the docs on a nightly basis anyway, so we moved the site there.

New features in brief:

  • Nightly up-to-date apidocs for KDE 3.5 and 4.0
  • Search for classes now direcly possible
  • Docs for most libs in extragear and kdesupport

There are a couple of issues that still needs fixing, but is a great start into better accessible api docs.

Life is great and so is Berlin

So people asked under which stone I have been hiding lately. Of course exams cannot be the excuse for everything, so I present you another one:reallife. It has really hit me badly on this rather nice spring.

In other news, Trolltech sent along my nicest birthday present last night: My contract. So it’s finally official: I’ll be doing an internship at Trolltechs Berlin Office in Adlershof for 10 weeks starting July, 1st.

Now I am looking for a room in Friedrichshain. If you have any hints, sent them along privately or add a comment.

Ellipsis made easy

Many people have asked for an widgets like labels or buttons that can elide their text as the size of the widget underruns the text length in a visually appealing way. Text ellipses already happens: most widgets (or, since Qt abstracts that, many styles) use ‘…’. However, that doesn’t really look good and it was suggested that ellipsis could be better signified by fading out the last two letters. Dolphin has a hack to achive this with Qt 3, and it is incredibly complicated. So I sat down and looked what it takes to do it better with Qt 4. This is what the result looks like:

Note how the entire sentence is still readable now (at least for the majority of people), and it was really easy to do: I implemented a QLabel subclass that takes 6 lines of code in the paint event to do the actual fading using QGradient:


void ElideLabel::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event)
QPainter p(this);
QFontMetrics fm(font());
if (fm.width(text()) > contentsRect().width()) {
QLinearGradient gradient(contentsRect().topLeft(), contentsRect().topRight());
gradient.setColorAt(0.8, palette().color(QPalette::WindowText));
gradient.setColorAt(1.0, palette().color(QPalette::Window));
QPen pen;
pen.setBrush(QBrush(gradient));
p.setPen(pen);
}
p.drawText(rect(), Qt::TextSingleLine, text());
}

Yeah, really, that’s it. Nothing more to see here. Yes I know, The code doesn’t pass on all text flags that the QLabel API accepts, but hey, it’s a demo. One that made Peter want to replace the old algorithm in Dolphin with a QGradient-based one. The real trick here was to realize that constructing a pen with a brush inherits the gradient. Thanks to Zack for the hint!

FrOSCon 2007: Call for Papers

Doesn’t everyone love Open Source events? I do, and thus I am proud to announce the Call for Paper for FrOSCon, the best Open Source and Free Software event in the western Part of Germany.

For those who don’t know: FrOSCon is a two-day conference on free software and open source, which takes place on the 25th and 26th of August at the Bonn-Rhein-Sieg University of Applied Sciences, in St. Augustin near Bonn, Germany for the second time. Huge parts of the organisation are done by members of LUUSA and the FrOSCon e.V.

For KDE, I aready secured a developers room and I hope that more people will be able to attend then last year, when it was largely unknown because it was conducted for the first time. Yet I dare to claim that everyone who attended last year called it a great show, especially because the organizers carefully analyzed other open source and free software events such as FOSDEM or Linuxtag.

So I hope to welcome you in my home town St. Augustin in fall. Make sure to send a talk or subscribe for the KDE booth. St. Augustin is conviniently located rather close to the BeNeLux countries — a good enough excuse to come over and see some old (and new!) faces again :-).

CLT2007, LiMux, Where Documentation Really Belongs

Last Weekend, KDE had a booth at Chemnitzer Linux-Tage 2007, one of the best Open Source / Free Software Community events that I am aware of. I went over to Chemnitz with my LUG friends and was warmly welcomed by my friends and hosts Antje, Daniel and KF.

The booth was staffed with a lot of well known developers like Alex Neundorf of CMake fame as well as fresh blood like Bernhard Schiffner, who did not only volunteer to help out on the booth but also brought some additional hardware and a precompiled KDE 4 which we happily showed off. If you are a KDE lover and want to support KDE, follow Bernhards example and subscribe to KDE-Promo to help your local promo team.

The most discussed topic was the Dolphin vs. Konqueror that also caused quite some heat on the Dot. Another FAQ revolved around our choice against Beryl or Compiz as the default Window Manager in KDE 4. The reason is fairly simple: Both only work on modern hardware and with modern drivers. They are also not as well integrated in KDE 4 as KWin is, and it would be hard to get them there in some particular areas (think KIOSK). On the other hand, KDE 4 will support Beryl or Compiz just as well, so if you feel like using them, there is nothing in your way. Also let me point out that KWin maintainer Lubos Lunak (sorry for the spelling Lubos, not Unicode keyboard available) is working on some eyecandy in KWin, which he already blogged about.

But lets return to my little report: On Sunday, I gave fairly well attended two hour workshop on Qt 4 programming, which was very well received. I also had a couple of interesting meetings with several people. I might blog about some of them later. Most interesting for the purpose of this blog entry was the discussions I had with the people from LiMux (Linux in Munich). They were very interested when they learned about TechBase.

This is pretty much what I hoped for: The technical staff within the LiMux project is pretty much the combination of System Integrators and administrators that had a hard time to figure out KDE detail and they still have. However, there is hope now: Everything can be easily documented. Also there was one particular plea that I’d like to forward to all KDE developers: Don’t hide documentation in Subversion. No real word user will ever be looking there. Noone, really. Storing documentation in Subversion, even if it is not strictly general purpose documentation, is the best way to get people annoyed with your software, since they usually use packaged software. Use TechBase and don’t be shy to create new documentation. If you don’t feel confident about where to store new documents: Don’t despair! A lot of people are monitoring changes on TechBase and will put the articles where they belong.

On Signing Off a Comment in The Developers Wiki

Lately I observed that more and more people use the possibility to discuss the content of articles in the articles discussion page in the Developers Wiki if they have questions that require feedback. Replies are prepended with ‘:’, ‘::’ and so on (indentation), which builds up threads. Also very good. The only concept that many people have been missing so far is how to Sign Off a comment. Many people just write their own nick behind it, so even write something like [[User:Danimo|Danimo]]. But of course there is also the lazy folks’ approach to things: Just write

--~~~~

This will automatically be substituted with something like

--Danimo 20:48, 3 January 2007 (CET)

as soon as you hit “Save”. This way messages in threads can even easily be identified by timestamp. This one and more useful tricks can be found in the Wikipedia Cheatsheet, which is also available as PDF for printing.

Busy Days At 23C3, OLPC, WebKit

After visiting the family over christmas, I headed to Berlin on Wednesday to attend 23C3. Together with Holger Freyther I am representing KDE at this event and our friends from Wikimedia have given us a place to hack at their corner of the Conference building. Yesterday I used the opportunity to get contact to some of the mediawiki hackers to pass on some itching bug reports. Some of the problems are already resolved, others will be approached on tomorrows (or todays, depending on your timezone) Developer Wiki Friday.

On another note, I had the chance to get my hands on one of the OLPCs, as the laptop.org developers also seeked the productive and friendly atmosphere of the Wikipedia Corner. I can only agree with Sebastian: This is a device to actually care about and take care of: it’s both cute and powerful. The software (Sugar) still has some rough edges though and gecko-based browser app is really slow and unoptimized for the screen, which is a real pity.

That was motivation enough for us to go a small experiment: Can we run WebKit/Qt4 on the Sugar and have it use less memory footprint than gecko? Since Zack is on holidays, I fixed the Qt port based on a patch from Fredrik and filed the patch in the WebKit Bugzilla. Meanwhile Holger is busy to make Qt widgets work in GTK/Sugar. Let’s see if this will work out :).

Developer Wiki Friday

One week has quickly passed. And for the second last time in this year we are celebrating the Developer Wiki Friday.

A lot of stuff already happend today. Todays top contributor so far is CuCullin. If you want to be part of the crew or just add a smart hint: Create an account and simply start contributing. If you already have an account within the KDE subversion repository, please make sure you are using the same user name. This will make it easier for us to introduce a unified login in the future.

Oh, and if you want to stay updated: simply add The RecentChanges RSS feed to Akregator.