Wednesday, December 27, 2006

API documentation & refactored kdelibs/kdeui

During the last weeks/days the directory structure of especially kdelibs/kdeui got a major overhaul: in KDE 3 all files of a module were in the same directory which was more or less a mess as you did not know immediately which files belonged to the same category. kdelibs/kdeui in KDE4 has a rather clean structure now (similar to the one in Qt) by using subfolders like
  • actions
  • dialogs
  • widgets
  • xmlgui
  • several others...
Compare this to KDE3's kdelibs/kdeui structure. For KDE4 this is a huge benefit, as we have clearly defined groups. We already had lots of discussions in the past about API documentation and this is exactly where the new structure is important: In Qt every class usually belongs to a group (example). Our API documentation tool doxygen of course supports grouping, and now it is even easy to know which class should be in which group. For instance, all classes in the widgets directory should be in the 'Widgets' group, and then maybe even more fine-grained divided into sub-groups.
By the way, we have a policy that every widget in kdelibs has a screenshot to immediately see how it looks like - another nice way to get involved :)
All in all this is really awesome and I'd like to thank all involved developers. Next prey is kdelibs/kdecore? =)

Friday is developer wiki day

Some time ago we started to migrate our developer.kde.org pages to a mediawiki based solution at techbase.kde.org. In order to give the wiki a big boost we always meet on fridays on irc.kde.org #kde-www. This friday we will continue to migrate content, besides that we want to find a roadmap and a target date at which we can turn off the old developer pages.
To make this friday an even greater success we need as many volunteers as possible joining us. It is also a nice opportunity to get in touch with the KDE community - we are happy about every new face and - believe us - we don't eat anyone :)

Monday, December 25, 2006

God Jul

I'm back in Germany after my stay in Sweden. All in all, it was an awesome time. I also traveled to the north to a town called Kiruna (indeed starting with a 'K' =) and you probably guess what I found there: snow, lots of snow. To give you an impression here are two images :)That are nice pictures for the current time of year, so God Jul to everyone and KDE :)

Friday, December 15, 2006

developer wiki

Now it's kind of official: The first blog about our new developer wiki by Aaron. I'm very happy the wiki gets more attention, and in fact this is a very good opportunity to get started with KDE. As Aaron already mentioned we want the wiki to become a first class citizen for KDE related developer resources. The main task right now is to port pages from the "old" developer pages to the new wiki. At the same time we can restructure the pages like moving KDE 2 and KDE 3 related content to own pages etc. As it is a wiki, everyone is welcome to help. If you want to get in touch with us join us in irc (irc.kde.org, #kde-www)!
Some time ago I wrote a small perl script with which you can convert the html code of the old developer pages to wiki syntax. It's not perfect, but speeds up the process of porting a page tremendously :)

Tuesday, November 28, 2006

KateMDI: sidebar and focus...

Since KDE 3.5.5 Kate has its own MDI implementation. It is similar to KMDI but ships with a lot less bugs (yes, and features). One thing bothering me is the focus issue: Which sidebar has the focus? If you do not know, you have to have sharp eyes to find out. In KDE4 I just hacked in such a feature (here is the patch). On the screenshot you can see that every sidebar now has an additional pane on the top. Unfocused sidebars have a gray pane (default window background color), a focused sidebar has a blue pane with white text (just like selected text). Which sidebar has focus? - Right, it's the Documents sidebar :) It work's pretty well, so is it worth committing (a cleaner version of) the patch? I initially hoped that QDockWidgets would provide this functionality by default. Similar discussions take place on kde-core-devel as well (about KTabBar & friends)...

Thursday, October 12, 2006

Share Kate Highlighting Files

Thanks to Frank we have a dedicated section for Kate Highlighting files on kde-files.org now. We encourage everyone to publish their .xml files there. The Kate team agreed to add more highlighting files to the official Kate releases, though, as long as they are of general use. For KDE4 we plan to have a section for Kate Indentation scripts, too. But that's content for another blog, which will follow later :)

Friday, September 29, 2006

Kate: More eye-candy

Two years ago we had the KDE conference in Ludwigsburg, Germany. At that time, Martijn Klingens committed a patch to show trailing spaces in Kate. I just change the visualization a bit, the change is in for KDE4 :) Tabs are marked with a '»' character, and spaces with a dot. On the left you can see the old and on the right the new version; Here is a screenshot:

Tuesday, September 26, 2006

Hibernate

I use the suspend2-sources in Gentoo. After upgrading to XOrg7.1 with newest ATI drivers (fglrx, version 8.29.6) hibernate did not work anymore. Suspend-to-disk hanged at the point: "Doing atomic copy".

While searching the web I found a fix: Edit hibernate.conf (or /etc/hibernate/common.conf) and set
ProcSetting extra_pages_allowance 20000
That did the trick :) Tomorrow will be my second attempt to fly to Dublin. So far it looks pretty promising :)

Saturday, September 23, 2006

Bad Luck

As everyone else I wanted to fly to Dublin on friday, too. While packing the day before I noticed I could not find my identity card. To make it short: I was at the airport with a copy and several other papers that (more or less) state my identity, but no luck. There is no way to travel without a valid identity card to Dublin.

So I'll take another plane 5 days later, on wednesday. There is a small chance (maybe 5%) I might be able to come on monday already. Let's see... :)

All in all I'm missing almost all of the highlights, just look into the conference program.

Lesson learned: Start packing 1-2 weeks before. sooooo stupid :(

Saturday, September 16, 2006

The Wheel of Time Turns...

...and this time it turns out that I am going to akademy. Dublin I'm coming, wheee! :)

Sunday, August 20, 2006

Moving

Last week I moved to Skövde in Sweden. It's a middle-sized town (about 50000 inhabitants iirc) in the central of Sweden just between the two big seas. The weather is quite nice still and so far everything looks interesting. I did not see an elk yet, though :)

In order to have internet access I have to go into a shopping mall. This makes KDE development a bit harder for me as I used to be in contact via IRC a lot and use the web as api reference. That's it for now :)

update 2006-08-21: Skövde has about 50000 inhabitants.

Wednesday, August 09, 2006

Smart End

Since KDE 3.5.4 Kate Part supports "smart end". Right now it behaves like this when pressing "end":
  1. go to last non-space character
  2. go to the last character (i.e. hit end twice)
I'm writing this blog to get feedback about what's the right/expected behaviour. Is it as described above, or should we first go to the very last character, and to the last non-space only when hitting then end-key twice?

Feedback along with why you prefer solution A or B is welcome!

Wednesday, August 02, 2006

Kate in KDE 3.5.4

Finally, KDE 3.5.4 is out! We were able to fix a lot of issues in Kate and the bug curves went noticeably down. Thanks to all contributors for the nice KDE release :)

Sunday, July 23, 2006

Kate: Shortcomings of .kateconfig file

Assume you have a .kateconfig file optimized for C++ code that replaces tabs on save. Now you open a Makefile that contains tabs (due to its strict syntax). If you save the Makefile in kate, the tabs then are replaced which results in a corrupted Makefile.

In other words: The .kateconfig file applies to every file. It lacks mimetype/extension support and thus can lead to unwanted behaviours.

So if you use a .kateconfig file, keep that in mind :) Maybe we should simply use modelines in the h/cpp files for now.

Indentation and Coding Style

kdelibs will have coding style conventions. In general. this is not a bad idea. Our 45528 slocs in KatePart all use a consistent indent-width of 2 spaces. Changing this does not really make sense - ok, if svn praise -w (sure, we never need svn blame in our code ;) finally works, we can discuss this again.

In other words: How "consistent" will kdelibs get with this new conventions? The interesting part of Zack's mail is
[...]
No exceptions. Either everything or nothing
[...]
While everything would really be cool, in truth it's not possible to achieve, is it? We will have exceptions or rather violations, I'm pretty sure :)

Some developers already start adding katepart modelines to their souce code. For those who don't know yet: You also can simply use a single .kateconfig file, which is the equivalent to emacs dir config files. You just have to make sure to set the search depth for a .kateconfig file to - let's say - 3. Do this in
Settings > Configure Kate... > Open/Save

Thursday, July 20, 2006

Kate Project Plugin

It is not a secret that removing Kate's project manager in KDE 3.5 was not the right thing to do. It seems a lot of people used it and we got many complaints about this decision. That also shows that it is hard go get feedback about what users are really using. If a feature is done well, noone will ever talk about it. This is paradox, as we thought the project manager was not well integrated :) (I still think that)

Ok, let's come to the interesting part: Three developers wrote a new Kate Project Manager Plugin and published an initial release on sourceforge.net and on kde-apps.org. It works quite well already and reading the comments on kde-apps.org gives me the impression that there are more features to come with the next release. -- If you are interested maybe you want to join the project...

PS: I have the secret hope the plugin will be ported to KDE4 using Qt's model/view architecture, so that it has good support for multiple mainwindows :)

Wednesday, July 05, 2006

Access Keys

Our beloved konqueror browser supports a nice feature called access keys. To enable the access key mode you simply have to press ctrl. I quite often use ctrl+c/v in forms, and thus happen to trigger actions accidentally all the time. We are lucky though, as you can disable the feature by putting
[Access Keys]
Enabled=false
into your ~/.kde/share/config/khtmlrc

Friday, June 30, 2006

Triple clicks

Text editors and line edits support the so-called triple clicks according to [1]. The document says
  • Triple Click: Select the targeted row. [...]
It is unclear whether the "targeted row" includes the trailing linebreak. Kate Part selects the targeted line including the linebreak. You get the following behavior:
  • If you move the selected row with the mouse, you usually have the linebreaks right. The same applies for copy/cut & paste. If you are used to it, it really is a nice feature.
While this behavior is pretty straightforward, it is not widely in use. If you look at text edit widgets like in firefox, konqueror, Qt, KWord or OOo you will notice that they do not include the trailing newline character.

Question now is: Should we change it for KDE 4 in Kate Part just to be compliant with the others? As Kate Part is an editor component mainly used for programming, my favourite option is to include it, i.e. to keep the current behavior.

(update) I just stumbled over http://bugs.kde.org/show_bug.cgi?id=91041 =)

[1] http://developer.kde.org/documentation/standards/kde/style/mouse/selection.html

Wednesday, June 28, 2006

Kate Part in upcoming KDE 3.5.4

The last week was highly productive for Kate Part, as the following bugs were fixed:
  • 89042 while pressing "del" key kate crashes (crash, bt)
  • 103648 Codefolding Crash - Reproducable
  • 118584 scroll position not upgrading (dynamic word wrap)
  • 119435 kate crash when a file is saved
  • 123315 kwrite/kate crashes randomly after save
  • 124102 changing syntax highlighting when code is folded crashes katepart
  • 127928 kate crashes deleting a block of text
  • 128690 Dynamic word wrap makes text input slow
  • 129853 Horizontal scrollbar and view not synced, if dynamic and static word wrap are off
  • and some minor issues
That are 6 crash fixes. Kate Part in KDE 3.5.4 will be more stable than ever :) That's especially cool for KDevelop, Quanta+, Kile - well and Kate.
Special thanks to Andreas Kling for initiating the bug squashing sessions! You are like a blackbox: The input is a bug and your output is the fix ;)

Monday, June 26, 2006

Start blogging

Today I created an account and this is my first blog.

Huzzah.