30th May 2003 by Derek Kite

This Week...

New tab widgets are in Konqueror. More functions and templates are added to Kspread. Many bug fixes in Kmail, Konqueror, and Kwin.
I received this note from Benjamin Meyer regarding KAudioCreator:
I know that you can't possibly go through all of the cvs commits, but I just wanted to highlight my application KAudioCreator for your next digest. I have finally gotten it to almost par with what I what I wanted for 1.0 when I first began the application. I spent a good two weeks solid (no job anymore, :( ) finishing it up and don't really have many plans to add anything to it till after 3.2 (i.e. not much will happen cvs wise for this app for a while. I mostly enhance apps and do kdelibs hacking and this is the only kde app that is really only done by me)

My full post to the mailing list is here:

I have new screenshots from HEAD here:

Some cool things KDE wise for this app in 3.2 are:
  • The switch to the superior libkcddb which will be introduced in 3.2
  • The removal of the linux specific code and usage of the limwm (used by kscd) reducing the amount of porting headaches.
Thanks for the information. If you would like some free press for your project, please drop me a line. I will stick to applications that are in the kde cvs repository.
George Staikos has been committing code to an application called Kst, in kdeextragear-2/kst. There wasn't any indication of what the application is for, so I asked. George responded:
It's a scientific app. It's used for plotting data from balloon based telescopes right now, such as BLAST and BOOMERANG. It is being developed for PLANCK which flies in 2007.
Falk Brettschneider added qextmdi to kdelibs with this comment:
after many years, because of hundreds of fan requests and a decision on the kde-core-devel mailing-list, qextmdi moved to kdelibs as kmdi!

Read about the backgrounds:
What is qextmdi? Multiple Document Interface, or some way of handling windows inside windows. One bad example that was mentioned in the thread is qt designer. But kate, konsole, konqueror (with tabs), quanta and kdevelop all use mdi to good effect, without reminding anyone of Windows 3.0. All these applications have their own window managing code, so this qextmdi api would simplify the development, and aid in having a consistent user experience. Or so is the promise. There are strong feelings within the kde community on both sides of the issue, which bodes well for a good workable solution.
Luboš Luňák continues his work with kwin. This commit was commented thusly:
Tramtada. _Much_ improved focus stealing prevention. Fixes #49042. Needs Qt patching, and code that's #ifdef KWIN_FOCUS in kdelibs. Also probably still needs some tweaking, and would benefit from KStatupInfo updated to support the newer spec.
Michael Brade asked for elaboration, just briefly...
Briefly :) ? Hahahahaha. Grep workspace.cpp for '::allowCl'. Yes, I mean that huge comment (I had to write it down before really started writing the code).

But I can try: Just like the old implementation, it's basically comparing the timestamp of last user action for a window with the latest timestamp of any user action, and if the window's one is older, it means you did something different after the action that caused the window to appear (or that lead to the window requesting activation). Similarly, if some app shows a window by itself (e.g. QTimer, ICQ message), it will have old timestamp. The comment is so long because there are several ways leading to a window being created, sometimes finding out the user timestamp is not so easy (e.g. when starting KControl from K-Menu while there's kcontrol instance already running, the timestamp of this user action has to be used when activating the already visible window). The old implementation used a rather simple hack to get the timestamp for new windows (it worked surprisingly well for newly started apps, though).

You can try it out yourself BTW:
http://lists.kde.org/?l=kwin&m=105396408403593&w=2. Ideally, no inactive window should interrupt you while you're working (that is, unless I forgot some special case, or did some mistake). Testers are welcome :).
Since this code is in the kwin_iii development branch, Michael Brade asked about putting the code in HEAD. Luboš Luňák responded:
I'd have to put the whole branch in HEAD -> not yet.

No commits found